automate logix5000™ - procédures générales · automate logix5000™ - procédures générales...

428
Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Upload: tranxuyen

Post on 16-Jul-2018

258 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Automate Logix5000™ - Procédures générales1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, PowerFlex 700

Manuel de programmation

Page 2: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Informations importantes destinées à l’utilisateur

En raison de la diversité des utilisations des produits décrits dans le présent manuel, les personnes qui en sont responsables doivent s’assurer que toutes les mesures ont été prises pour que l’application et l’utilisation des produits soient conformes aux exigences de performance et de sécurité, ainsi qu’aux lois, règlements, codes et normes en vigueur. La société Rockwell Automation ne saurait en aucun cas être tenue pour responsable ni être redevable des dommages indirects ou consécutifs résultant de l’utilisation ou de l’application de ces produits.

Les illustrations, schémas et exemples de programmes contenus 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 ne saurait être tenue pour responsable ni être redevable (y compris en matière de propriété intellectuelle) des suites d’utilisation réelle basée sur les exemples et schémas présentés dans ce manuel.

La publication SGI-1.1, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (disponible auprès de votre agence commerciale Rockwell Automation), décrit certaines différences importantes entre les équipements électroniques et les équipements électromécaniques, qui devront être prises en compte lors de l’application de ces produits comme indiqué dans la présente publication.

Toute reproduction totale ou partielle du présent manuel sans autorisation écrite de la société Rockwell Automation est interdite.

Des remarques sont utilisées tout au long de ce document pour attirer votre attention sur les mesures de sécurité à prendre en compte. Les symboles suivants et les avertissements qui les accompagnent vous aident à identifier un danger, à l’éviter et à en discerner les conséquences :

!AVERTISSEMENT Actions ou situations susceptibles de provoquer une

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

ATTENTION

!Actions ou situations 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.

Page 3: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Sommaire des modifications

Introduction Ce document contient de nouvelles informations et des informations mises à jour.

Informations mises à jour Ce document contient les modifications suivantes :

Modification Chapitre/Annexe

Informations supplémentaires sur la planification des tâches d’un projet, dont le choix du langage de programmation approprié pour une application

2

Procédures supplémentaires sur le fonctionnement de la fenêtre d’organisation de l’automate, la création de tâches, de programmes et de sous-programmes

Nouvelles informations sur la conception d’un graphe de fonctionnement séquentiel pour votre machine ou votre procédé

4

Nouvelles informations sur l’entrée et la configuration d’un graphe de fonctionnement séquentiel à l’aide du logiciel RSLogix 5000

5

Nouvelles informations sur l’utilisation du langage de programmation en texte structuré, y compris les affectations, les expressions, les instructions, les instructions de test et les commentaires

6

Informations supplémentaires sur la programmation d’un diagramme de blocs fonctionnels, notamment comment utiliser des pages, définir l’ordre d’exécution, résoudre des boucles, définir la commande de programme/opérateur, entrer et configurer des éléments

7

Informations supplémentaires sur l’organisation et l’entrée d’une logique à relais 8

Nouvelles informations pour savoir comment obtenir des informations sur la mémoire d’un automate

9

Informations mises à jour sur le forçage des valeurs d’E/S 18

Nouvelles informations sur le forçage des éléments SFC et la navigation dans ces éléments

Nouvelles informations sur la carte CompactFlash industrielle 1784-CF64 (mémoire non volatile pour l’automate ControlLogix 1756-L63)

23

Procédures mises à jour pour la fonction de protection de la source du sous-programme 24

2 nouveaux codes de défaut majeur A

Informations supplémentaires sur la conformité à la norme CEI 61131-3 pour les langages de programmation par graphe de fonctionnement séquentiel et en texte structuré

B

Nouvelles définitions portant sur les graphes de fonctionnement séquentiel Glossaire

1 Publication 1756-PM001E-FR-P - Août 2002

Page 4: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2 Sommaire des modifications

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 5: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Préface

Objet de ce manuel Ce manuel vous guide dans le développement de projets pour les automates Logix5000. Il fournit des procédures pas à pas permettant d’effectuer les tâches suivantes, communes à tous les automates Logix5000 :

• Organisation des tâches, programmes et sous-programmes• Organisation des points• Conception d’un graphe de fonctionnement séquentiel• Programmation des sous-programmes• Test d’un projet• Gestion des défauts

Le terme automate Logix5000 fait référence à tous les automates fonctionnant avec le système d’exploitation Logix, tels que :

• les automates CompactLogix™ ;

• les automates ControlLogix™ ;

• les automates FlexLogix™ ;

• les automates SoftLogix™.

Ce manuel est à utiliser en conjonction avec les manuels utilisateur relatifs au type d’automate utilisé. Ces manuels utilisateur couvrent différentes tâches, telles que :

• le placement et la configuration des E/S ;• la communication avec des équipements sur divers réseaux ;• l’entretien de la pile.

A qui s’adresse ce manuel Ce manuel s’adresse aux personnes chargées de programmer des applications utilisant des automates Logix5000, telles que :

• les ingénieurs en logiciel ;• les automaticiens ;• les ingénieurs d’applications ;• les techniciens en instrumentation.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 6: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2 Préface

Quand utiliser ce manuel Utilisez ce manuel pour :

• développer le code de base de votre application ;• modifier une application existante ;• soumettre votre application à des tests particuliers.

Lors de l’intégration de votre application aux équipements d’E/S, automates et réseaux du système :

• reportez-vous au manuel utilisateur relatif au type d’automate utilisé ;• servez-vous de ce manuel comme document de référence chaque fois

que c’est nécessaire.

Comment utiliser ce manuel

Ce manuel est divisé en chapitres consacrés aux tâches de base à effectuer pour programmer un automate Logix5000.

• Chaque chapitre est consacré à une tâche.• Les tâches sont présentées dans l’ordre dans lequel elles sont

généralement à effectuer.

En utilisant ce manuel, vous verrez que certains termes se distinguent du reste du texte par leur mise en forme :

Le texte Indique Par exemple Signifie

en italique le nom d’une rubrique affichée à l’écran ou mentionnée dans un exemple

Cliquez avec le bouton droit de la souris sur Défini par l’utilisateur …

Cliquez avec le bouton droit de la souris sur la rubrique appelée Défini par l’utilisateur.

en gras une entrée du glossaire Entrez un nom … Si vous souhaitez des informations supplémentaires, reportez-vous à nom dans le glossaire.

Si vous visualisez le fichier PDF du manuel, cliquez sur nom pour vous reporter directement à l’entrée correspondante dans le glossaire.

en police courier

les informations que vous devez fournir en fonction de votre application (une variable)

Cliquez avec le bouton droit de la souris sur nom_du_programme ...

Vous devez identifier le programme particulier dans votre application. Il s’agit en général d’un nom ou d’une variable que vous avez défini(e).

entre parenthèses une touche du clavier Appuyez sur [Entrée]. Appuyez sur la touche Entrée.

Publication 1756-PM001E-FR-P - Août 2002

Page 7: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Table des matières

Chapitre 1

Gestion des fichiers de projet Création d’un fichier de projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1Enregistrement des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

Chapitre 2

Organisation des tâches, programmes et sous-programmes

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Avant de commencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

Tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Tâche continue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Tâche périodique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Sous-programme principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Planification des tâches du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Définition des fonctions du projet . . . . . . . . . . . . . . . . . . . . . . . . 2-5Attribution de chaque fonction à une tâche . . . . . . . . . . . . . . . . . 2-6

Utilisation de la fenêtre d’organisation de l’automate. . . . . . . . . . . . . 2-7Ouvrir et fermer un dossier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Ouvrir un sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

Création d’une tâche périodique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9Création d’un programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10Création d’un sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11Configuration d’un sous-programme comme sous-programmeprincipal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Vérification du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12

Chapitre 3

Organisation des points Planification des points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1Création d’un type de données défini par l’utilisateur . . . . . . . . . . . . 3-7

Notes : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Création d’un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Création de points à l’aide de Microsoft® Excel® . . . . . . . . . . . . . . 3-10

Chapitre 4

Conception d’un graphe de fonctionnement séquentiel

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Qu’est-ce qu’un graphe de fonctionnement séquentiel ? . . . . . . . . . . 4-2Conception d’un SFC : présentation . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4Définition des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5Choix du mode d’exécution du SFC . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Définition des étapes du procédé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6

Observez les directives suivantes . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

i Publication 1756-PM001E-FR-P - Août 2002

Page 8: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

ii Table des matières

Structure SFC_STEP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8Organisation des étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11

Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11Séquence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13Branche de sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13Branche simultanée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15Liaison avec une étape précédente . . . . . . . . . . . . . . . . . . . . . . . 4-16

Ajout d’actions pour chaque étape . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17Comment voulez-vous utiliser l’action ?. . . . . . . . . . . . . . . . . . . 4-17Utiliser une action non booléenne . . . . . . . . . . . . . . . . . . . . . . . 4-17Utiliser une action booléenne . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18Structure SFC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19

Description de chaque action en pseudocode . . . . . . . . . . . . . . . . . 4-20Choix d’un qualificateur pour une action . . . . . . . . . . . . . . . . . . . . . 4-21Définition des conditions de transition. . . . . . . . . . . . . . . . . . . . . . . 4-22

Point de transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24Comment voulez-vous programmer la transition ? . . . . . . . . . . 4-24Utiliser une expression booléenne . . . . . . . . . . . . . . . . . . . . . . . 4-24Appeler un sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25

Transition après un délai prédéfini . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26Arrêt d’un équipement à la fin d’une étape . . . . . . . . . . . . . . . . . . . . 4-29

Choisir une option de dernière scrutation . . . . . . . . . . . . . . . . . 4-29Utiliser l’option de non scrutation . . . . . . . . . . . . . . . . . . . . . . . 4-31Utiliser l’option de réinitialisation par programme. . . . . . . . . . . 4-32Utiliser l’option de réinitialisation automatique . . . . . . . . . . . . . 4-34

Garder un équipement actif d’une étape à une autre . . . . . . . . . . . . 4-35Comment souhaitez-vous commander l’équipement ? . . . . . . . 4-35Utiliser une branche simultanée . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Stocker et réinitialiser une action . . . . . . . . . . . . . . . . . . . . . . . . 4-37Utiliser une grande étape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39

Fin du SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40Que souhaitez-vous faire à la fin du SFC ?. . . . . . . . . . . . . . . . . 4-40Utiliser un élément d’arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40Redémarrer (positionner) le SFC . . . . . . . . . . . . . . . . . . . . . . . . 4-41Structure SFC_STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42

Imbrication d’un SFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43Entrée ou sortie de paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44

Configuration du retour au SE/JSR . . . . . . . . . . . . . . . . . . . . . . . . . 4-44Pause ou positionnement d’un SFC . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Diagrammes d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45

Chapitre 5

Programmation d’un graphe de fonctionnement séquentiel

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Avant d’utiliser cette procédure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Ajout d’un élément SFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

Ajouter et connecter manuellement des éléments . . . . . . . . . . . . 5-2Ajouter et connecter automatiquement des éléments . . . . . . . . . 5-3

Publication 1756-PM001E-FR-P - Août 2002

Page 9: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Table des matières iii

Glisser-déplacer des éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Création d’une branche simultanée . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4

Commencer une branche simultanée . . . . . . . . . . . . . . . . . . . . . . 5-4Terminer une branche simultanée. . . . . . . . . . . . . . . . . . . . . . . . . 5-4

Création d’une branche de sélection . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5Commencer une branche de sélection . . . . . . . . . . . . . . . . . . . . . 5-5Terminer une branche de sélection. . . . . . . . . . . . . . . . . . . . . . . . 5-6

Définition des priorités d’une branche de sélection . . . . . . . . . . . . . . 5-7Retour à une étape précédente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Connecter une liaison à une étape. . . . . . . . . . . . . . . . . . . . . . . . . 5-8Masquer une liaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9Afficher une liaison masquée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9

Modification du nom d’une étape . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10Configuration d’une étape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10

Attribuer un temps de présélection à une étape . . . . . . . . . . . . . 5-10Configurer des alarmes dans une étape. . . . . . . . . . . . . . . . . . . . 5-11Utiliser une expression pour calculer une durée. . . . . . . . . . . . . 5-11

Modification du nom d’une transition. . . . . . . . . . . . . . . . . . . . . . . . 5-13Programmation d’une transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13

Entrer une expression booléenne . . . . . . . . . . . . . . . . . . . . . . . . 5-13Appeler un sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14

Ajout d’une action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15Modification du nom d’une action . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15Configuration d’une action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16

Changer le qualificateur d’une action . . . . . . . . . . . . . . . . . . . . . 5-16Calculer une durée prédéfinie d’exécution . . . . . . . . . . . . . . . . . 5-17Marquer une action comme action booléenne . . . . . . . . . . . . . . 5-17

Programmation d’une action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18Entrer un texte structuré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18Appeler un sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19

Attribution de l’ordre d’exécution des actions . . . . . . . . . . . . . . . . . 5-20Documenter un SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21

Ajouter des commentaires de texte structuré . . . . . . . . . . . . . . . 5-21Ajouter une description de point . . . . . . . . . . . . . . . . . . . . . . . . 5-22Ajouter une zone de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23

Afficher ou masquer les zones de texte ou les descriptions de points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24

Afficher ou masquer les zone de texte ou les descriptions . . . . 5-24Masquer la description d’un point individuel . . . . . . . . . . . . . . . 5-25

Configuration de l’exécution du SFC . . . . . . . . . . . . . . . . . . . . . . . . 5-26Vérification du sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27

Chapitre 6

Programmation en texte structuré Quand utiliser ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1Syntaxe du texte structuré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1Affectations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

Spécification d’une affectation non rémanente . . . . . . . . . . . . . . 6-3Attribution d’un caractère ASCII à une chaîne . . . . . . . . . . . . . . 6-4

Publication 1756-PM001E-FR-P - Août 2002

Page 10: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

iv Table des matières

Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4Utilisation d’opérateurs et de fonctions arithmétiques. . . . . . . . . 6-5Utilisation d’opérateurs de relation . . . . . . . . . . . . . . . . . . . . . . . . 6-7Utilisation d’opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8Utilisations d’opérateurs sur bits . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9Détermination de l’ordre d’exécution . . . . . . . . . . . . . . . . . . . . . 6-10

Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10Instructions de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11IF...THEN (SI... ALORS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12CASE...OF (EN FONCTION… DE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15FOR…DO (POUR… FAIRE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18WHILE…DO (TANT QUE… FAIRE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21REPEAT…UNTIL (REPETER… JUSQU’A) . . . . . . . . . . . . . . . . 6-24Commentaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

Chapitre 7

Programmation d’un diagramme de blocs fonctionnels

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1Avant d’utiliser cette procédure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1Identification des pages du sous-programme . . . . . . . . . . . . . . . . . . . 7-2Choix des éléments de blocs fonctionnels . . . . . . . . . . . . . . . . . . . . . 7-3Choix d’un nom de point pour un élément . . . . . . . . . . . . . . . . . . . . 7-4Définition de l’ordre d’exécution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5

Verrouillage des données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5Ordre d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7Résolution d’une boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Résolution du flux de données entre deux blocs . . . . . . . . . . . . 7-10Création d’une temporisation de scrutation . . . . . . . . . . . . . . . . 7-10Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11

Identification des connecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11Définition de la commande Programme/Opérateur . . . . . . . . . . . . 7-12Ajouter une page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16Ajouter un élément de bloc fonctionnel . . . . . . . . . . . . . . . . . . . . . . 7-16Connexion d’éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18

Afficher ou masquer une borne . . . . . . . . . . . . . . . . . . . . . . . . . 7-18Relier des éléments entre eux . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19Marquez une liaison avec l’indicateur « Assume Data Available » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19

Attribution d’un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20Créer et attribuer un nouveau point . . . . . . . . . . . . . . . . . . . . . . 7-20Renommer le point d’un bloc fonctionnel . . . . . . . . . . . . . . . . . 7-21Attribuer un point existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21

Attribution d’une valeur immédiate (constante) . . . . . . . . . . . . . . . . 7-22Utiliser une IREF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22Entrer une valeur dans le point d’un bloc . . . . . . . . . . . . . . . . . 7-22

Publication 1756-PM001E-FR-P - Août 2002

Page 11: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Table des matières v

Connexion de blocs avec un connecteur OCON et un connecteur ICON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23

Ajouter un connecteur OCON . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23Ajouter un connecteur ICON. . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23

Vérification du sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24

Chapitre 8

Programmation d’une logique à relais

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1Avant d’utiliser cette procédure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Branche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Condition de ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

Ecriture de la logique à relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5Choisir les instructions requises . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5Organiser les instructions d’entrée . . . . . . . . . . . . . . . . . . . . . . . . 8-6Organiser les instructions de sortie . . . . . . . . . . . . . . . . . . . . . . . . 8-7Choisir un nom de point pour un opérande. . . . . . . . . . . . . . . . . 8-8

Entrée de la logique à relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10Ajouter un élément au niveau du curseur . . . . . . . . . . . . . . . . . . 8-10Glisser-déplacer un élément . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11

Attribution des opérandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11Créer et attribuer un nouveau point . . . . . . . . . . . . . . . . . . . . . . 8-11Choisir un nom ou un point existant . . . . . . . . . . . . . . . . . . . . . 8-13Faire glisser un point de la fenêtre des points . . . . . . . . . . . . . . 8-13Attribuer une valeur immédiate (constante) . . . . . . . . . . . . . . . . 8-13

Vérification du sous-programme. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14

Chapitre 9

Accès aux valeurs système Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1Surveillance des indicateurs d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1Obtention et définition des données système. . . . . . . . . . . . . . . . . . . 9-3Informations sur la mémoire de l’automate . . . . . . . . . . . . . . . . . . . . 9-5

Obtenir des informations sur la mémoire à partir de l’automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7Choisir l’information de mémoire souhaitée . . . . . . . . . . . . . . . . 9-8Convertir des INT en DINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9

Chapitre 10

Attribution des alias Points d’alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1Affichage des informations d’alias. . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2Attribution d’un alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

Publication 1756-PM001E-FR-P - Août 2002

Page 12: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

vi Table des matières

Chapitre 11

Attribution d’une adresse indirecte

Quand faut-il attribuer une adresse indirecte ? . . . . . . . . . . . . . . . . . 11-1Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3

Chapitre 12

Mise en buffer des E/S Quand faut-il mettre les E/S dans un buffer ? . . . . . . . . . . . . . . . . . 12-1Mise en buffer des E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-1

Chapitre 13

Test d’un projet Test d’un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1Configuration d’un driver de communication . . . . . . . . . . . . . . . . . 13-1Chargement d’un projet dans l’automate . . . . . . . . . . . . . . . . . . . . . 13-3Sélection d’un mode pour l’automate . . . . . . . . . . . . . . . . . . . . . . . . 13-5Correction d’un défaut majeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6Sauvegarder les modifications en ligne . . . . . . . . . . . . . . . . . . . . . . . 13-6

Chapitre 14

Communication avec un autre automate

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1Production et consommation d’un point . . . . . . . . . . . . . . . . . . . . . 14-1

Ce que vous devez faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3Organiser des points pour les données produites et consommées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-3Produire un point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4Consommer un point produit . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5Produire des nombres entiers pour un automate PLC-5C . . . . 14-6Produire des REAL pour automate PLC-5C . . . . . . . . . . . . . . . 14-7Consommer des nombres entiers à partir d’un automate PLC-5C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9Régler pour les limites de la bande passante. . . . . . . . . . . . . . . 14-10

Envoi d’un message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11Envoi d’un message vers plusieurs automates . . . . . . . . . . . . . . . . 14-13

Régler la configuration des E/S . . . . . . . . . . . . . . . . . . . . . . . . 14-14Définir les éléments Source et Destination . . . . . . . . . . . . . . . 14-15Créer le type de données MESSAGE_CONFIGURATION . 14-16Créer le tableau de configuration . . . . . . . . . . . . . . . . . . . . . . . 14-17Obtenir la taille du tableau local . . . . . . . . . . . . . . . . . . . . . . . . 14-19Charger les propriétés du message d’un automate . . . . . . . . . . 14-20Configurer le message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21Passer à l’automate suivant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22Recommencer la séquence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22

Publication 1756-PM001E-FR-P - Août 2002

Page 13: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Table des matières vii

Chapitre 15

Production d’un tableau de grande taille

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1Production d’un tableau de grande taille . . . . . . . . . . . . . . . . . . . . . . 15-2

Chapitre 16

Communication avec un équipement ASCII

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1Connexion de l’équipement ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2Configuration du port série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3Configuration du protocole utilisateur . . . . . . . . . . . . . . . . . . . . . . . 16-5Création des types de données chaîne. . . . . . . . . . . . . . . . . . . . . . . . 16-8Lire des caractères dans le dispositif . . . . . . . . . . . . . . . . . . . . . . . . . 16-9Envoi de caractères vers le dispositif . . . . . . . . . . . . . . . . . . . . . . . 16-14Saisie de caractères ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-21

Chapitre 17

Traitement des caractères ASCII Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1Extraction d’une partie d’un code à barres . . . . . . . . . . . . . . . . . . . . 17-2Recherche d’un code à barres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4

Création du type de données PRODUCT_INFO . . . . . . . . . . . 17-5Recherche des caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5Identification du numéro de ligne. . . . . . . . . . . . . . . . . . . . . . . . 17-6Rejet des mauvais caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7Entrée des identifiants produit et des numéros de ligne . . . . . . 17-8

Vérification des caractères du code à barres . . . . . . . . . . . . . . . . . . . 17-9Conversion d’une valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-11Décodage d’un message ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-13Création d’une chaîne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17

Chapitre 18

Forçage des éléments de la logique

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2

Activer les forçages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2Désactiver ou supprimer un forçage. . . . . . . . . . . . . . . . . . . . . . 18-3

Vérification de l’état du forçage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4Barre d’outils Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4Voyant FORCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-4Instruction GSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5

Que forcer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5Quand utiliser un forçage d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6

Forcer une valeur d’entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6Forcer une valeur de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7

Publication 1756-PM001E-FR-P - Août 2002

Page 14: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

viii Table des matières

Ajout d’un forçage d’E/S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8Quand utiliser Step Through (Passer par). . . . . . . . . . . . . . . . . . . . . 18-9Passage par une transition ou par le forçage d’un chemin . . . . . . . . 18-9Quand utiliser un forçage SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9

Forcer une transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9Forcer un chemin simultané . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-10

Ajout d’un forçage SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-12Suppression ou désactivation des forçages . . . . . . . . . . . . . . . . . . . 18-13

Supprimer un forçage particulier. . . . . . . . . . . . . . . . . . . . . . . . 18-13Désactiver tous les forçages d’E/S et SFC . . . . . . . . . . . . . . . . 18-14Supprimer tous les forçages d’E/S et SFC . . . . . . . . . . . . . . . . 18-14Désactiver tous les forçages d’E/S . . . . . . . . . . . . . . . . . . . . . . 18-14Supprimer tous les forçages d’E/S . . . . . . . . . . . . . . . . . . . . . . 18-14Désactiver tous les forçages SFC . . . . . . . . . . . . . . . . . . . . . . . 18-14Supprimer tous les forçages SFC . . . . . . . . . . . . . . . . . . . . . . . 18-14

Chapitre 19

Développement d’un sous-programme de gestion des défauts

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1Création du type de données FAULTRECORD . . . . . . . . . . . . . . . 19-2Création d’un sous-programme de gestion des défauts . . . . . . . . . . 19-3Effacement d’un défaut majeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4

Obtenir le type et le code du défaut . . . . . . . . . . . . . . . . . . . . . . 19-4Recherche d’un défaut spécifique . . . . . . . . . . . . . . . . . . . . . . . . 19-4Effacement du défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5

Effacement d’un défaut majeur pendant la pré-scrutation. . . . . . . . 19-6Identifier quand l’automate est en pré-scrutation. . . . . . . . . . . . 19-6Obtenir le type et le code du défaut . . . . . . . . . . . . . . . . . . . . . . 19-7Recherche d’un défaut spécifique . . . . . . . . . . . . . . . . . . . . . . . . 19-7Effacement du défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-8

Test d’un sous-programme de gestion des défauts. . . . . . . . . . . . . . 19-9

Chapitre 20

Création d’un défaut majeur défini par l’utilisateur

Quand utiliser cette procédure ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1Création d’un défaut majeur défini par l’utilisateur . . . . . . . . . . . . . 20-1

Chapitre 21

Gestion des défauts mineurs Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1Gestion des défauts mineurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-1

Chapitre 22

Développement d’un sous-programme de démarrage

Quand utiliser cette procédure ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1Développement d’un sous-programme de démarrage . . . . . . . . . . . 22-2

Publication 1756-PM001E-FR-P - Août 2002

Page 15: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Table des matières ix

Chapitre 23

Stockage et chargement d’un projet dans la mémoire non volatile

Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-1Comment utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2Sélection d’un automate avec mémoire non volatile . . . . . . . . . . . . 23-3Précautions d’utilisation de la carte CompactFlash industrielle 1784-CF64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-4Quand charger une image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-5Stockage d’un projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-5

Configurer l’opération de stockage . . . . . . . . . . . . . . . . . . . . . . . 23-5Stocker le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-7Enregistrer le projet en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-7

Chargement d’un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-8Vérification d’un chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-10Effacement de la mémoire non volatile . . . . . . . . . . . . . . . . . . . . . 23-11

Vérifier l’option de chargement de l’image activée . . . . . . . . . 23-11Changer l’option de chargement de l’image . . . . . . . . . . . . . . . 23-12Effacer le projet de l’automate . . . . . . . . . . . . . . . . . . . . . . . . . 23-12Stocker l’image vide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-12

Chapitre 24

Protection d'un projet Quand utiliser cette procédure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-1Utilisation de la protection de la source du sous-programme . . . . . 24-1

Choix du niveau de protection pour chaque sous-programme . 24-5Choix du nombre de clés sources . . . . . . . . . . . . . . . . . . . . . . . . 24-5Définition de la clé source des clés . . . . . . . . . . . . . . . . . . . . . . . 24-6Choix d'un emplacement de fichier pour stocker les clés sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-6Activation de la fonction de protection de la source dans le logiciel RSLogix 5000. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-6Création d'un fichier pour les clés sources . . . . . . . . . . . . . . . . . 24-7Protection d'un sous-programme avec une clé source. . . . . . . . 24-8Limiter l'accès à un sous-programme protégé . . . . . . . . . . . . . . 24-9Désactivation de la protection de la source d'un sous-programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-9Accès à un sous-programme protégé . . . . . . . . . . . . . . . . . . . . 24-10

Utilisation de Security Server de RSI pour protéger un projet. . . . 24-12Installation du logiciel Security Server de RSI . . . . . . . . . . . . . 24-12Configuration de DCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-12Activation du logiciel Security Server pour le logiciel RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13Importation du fichier RSLogix5000Security.bak . . . . . . . . . . 24-14Définir les actions globales pour les utilisateurs. . . . . . . . . . . . 24-15Définir les actions de projet pour les utilisateurs . . . . . . . . . . . 24-16Ajout d'utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-19Ajout de groupes d'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 24-19Attribution d'un accès global au logiciel RSLogix 5000 . . . . . . 24-20

Publication 1756-PM001E-FR-P - Août 2002

Page 16: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

x Table des matières

Attribution des actions de projet pour les nouveaux projets RSLogix 5000. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-21Protection d'un projet RSLogix 5000 . . . . . . . . . . . . . . . . . . . . 24-22Attribution de l'accès à un projet RSLogix 5000 . . . . . . . . . . . 24-23Rafraîchissement du logiciel RSLogix 5000, si nécessaire . . . . 24-24

Annexe A

Codes de défauts Quand utiliser cette annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Codes de défaut majeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Codes de défaut mineur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3

Annexe B

Conformité CEI 61131-3 Utilisation de cette annexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1Système d'exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2Définitions des données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2Langages de programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3Jeu d'instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4Portabilité des programmes CEI 61131-3. . . . . . . . . . . . . . . . . . . . . . B-4Tableaux de conformité CEI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5

Glossaire

Index

Codes des caractères ASCII

Quatrième de couverture

Publication 1756-PM001E-FR-P - Août 2002

Page 17: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 1

Gestion des fichiers de projet

Création d’un fichier de projet

Avant de commencer à programmer un automate Logix5000, vous devez créer un projet :

1. Lancez le logiciel RSLogix 5000™.

2. Dans le menu Fichier, sélectionnez Nouveau.

3. Sélectionnez le type d’automate.

4. Entrez un nom pour l’automate.

5. Tapez une description des opérations effectuées par l’automate (facultatif).

6. Sélectionnez le type de châssis (nombre d’emplacements) qui contient l’automate (non applicable à certains automates).

7. Sélectionnez ou tapez le numéro d’emplacement où est installé l’automate (non applicable à certains automates).

8. Pour enregistrer le fichier dans un dossier différent (autre que le chemin par défaut indiqué sous Créer dans), cliquez sur Parcourir et sélectionnez un dossier.

9. Cliquez sur OK.

42194

3.

4.

5.

6.

7.

8.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 18: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

1-2 Gestion des fichiers de projet

42371

Lorsque vous créez un projet, le nom du fichier de projet est le même que celui de l’automate.

nom de l’automate

arborescence del’automate

Publication 1756-PM001E-FR-P - Août 2002

Page 19: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Gestion des fichiers de projet 1-3

Enregistrement des modifications

Enregistrez le projet au fur et à mesure que vous créez la logique et effectuez des changements de configuration.

• Les noms sont chargés dans l’automate, mais pas la documentation (descriptions, commentaires de ligne).

• Pour modifier le nom, la taille du châssis ou le numéro d’emplacement de l’automate :a. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton

droit de la souris sur le dossier Automate name_of_controller et sélectionnez Propriétés.

b. Modifiez les informations qui doivent l’être.c. Cliquez sur OK.

Pour : Faites ceci :

enregistrer vos communications Dans le menu Fichier, sélectionnez Enregistrer.

faire une copie du projet ouvert mais conserver le nom actuel de l’automate

A. Dans le menu Fichier, sélectionnez Enregistrer sous.

B. Tapez un nom pour le fichier de projet. Remplacez les espaces par des traits de soulignement [ _ ].

C. Cliquez sur Enregistrer.

faire une copie du projet et attribuer un nom différent à l’automate

A. Dans le menu Fichier, sélectionnez Enregistrer sous.

B. Tapez un nom pour le fichier de projet. Remplacez les espaces par des traits de soulignement [ _ ].

C. Cliquez sur Enregistrer.D. Dans la fenêtre d’organisation de l’automate,

cliquez avec le bouton droit de la souris sur le dossier Automate name_of_controller et sélectionnez Propriétés.

E. Tapez un nouveau nom pour l’automate.F. Cliquez sur OK.

Publication 1756-PM001E-FR-P - Août 2002

Page 20: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

1-4 Gestion des fichiers de projet

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 21: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 2

Organisation des tâches, programmes et sous-programmes

Quand utiliser cette procédure

Utilisez cette procédure pour effectuer les opérations suivantes :

• définir l’organisation générale de votre projet ;• choisir un langage de programmation pour chaque fonction importante

de votre machine ou de votre procédé ;• créer des tâches, des programmes et des sous-programmes dans lesquels

programmer votre logique.

Avant de commencer Pour déterminer les langages de programmation intégrés à la version de votre logiciel RSLogix 5000 :

1. Lancez le logiciel RSLogix 5000.

2. Dans le menu Help (Aide), sélectionnez About RSLogix 5000 (A propos de RSLogix 5000).

Pour ajouter un langage de programmation, voir ControlLogix - Guide de sélection (publication 1756-SG001).

Comment utiliser cette procédure

Pour organiser votre projet en tâches, programmes et sous-programmes, suivez les étapes indiquées ci-dessous :

Revoir la section Définitions

Planification des tâches du projet

Utilisation de la fenêtre d’organisation de l’automate

Création d’une tâche périodique

Création d’un programme

Création d’un sous-programme

Configuration d’un sous-programme comme sous-programme principal

Vérification du projet

1 Publication 1756-PM001E-FR-P - Août 2002

Page 22: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-2 Organisation des tâches, programmes et sous-programmes

Définitions Avant d’effectuer les procédures présentées dans ce chapitre, familiarisez-vous avec les définitions suivantes.

Tâche

Une tâche fournit des informations de planification et de priorité pour un ou plusieurs programmes qui s’exécutent en fonction de critères particuliers. Une fois qu’une tâche est déclenchée (activée), tous les programmes attribués (planifiés) à la tâche sont exécutés dans l’ordre dans lequel ils sont affichés dans la fenêtre d’organisation de l’automate.

Tâche continue

La tâche continue est exécutée en arrière-plan. Tout temps processeur non alloué à d’autres opérations (telles que commande de mouvement, communications et tâches périodiques) est utilisé 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 avoir qu’une seule tâche continue.

Tâche continue

Programme

Tâche périodique

Sous-programme

Sous-programme

Tâche

Publication 1756-PM001E-FR-P - Août 2002

Page 23: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des tâches, programmes et sous-programmes 2-3

Tâche périodique

Une tâche périodique exécute une fonction à une fréquence donnée.

• Lorsque le délai alloué à une tâche périodique arrive à terme, celle-ci interrompt la tâche continue, est exécutée une fois, puis redonne la commande à la tâche continue, là où cette dernière a été interrompue.

• Vous pouvez configurer l’intervalle d’1 ms à 2000 s. La valeur par défaut est de 10 ms.

Vous pouvez créer jusqu’à 32 tâches périodiques et attribuer une priorité à chacune d’elle :

• la tâche ayant la priorité la plus élevée interrompt toutes les tâches de moindre priorité ;

• une tâche de haute priorité peut interrompre plusieurs fois une tâche de moindre priorité ;

• les tâches de même priorité sont exécutées par intervalles d’1 ms.

L’exemple suivant décrit l’exécution d’un projet comportant trois tâches.

EXEMPLE Ordre d’exécution des tâches pour un projet comportant deux tâches périodiques et une tâche continue.

Tâche Type de tâche Priorité Temps d’exécution

1 périodique, toutes les 20 ms 5 2 ms

2 périodique, toutes les 10 ms 10 4 ms

3 continue aucune (la plus faible) 24 ms

Légende :

La tâche est en cours d’exécution.

La tâche est interrompue (suspendue).

Tâche 1

Tâche 2

Tâche 3

5 10 15 20 25 30 35 40 45 50

temps écoulé (ms)

Publication 1756-PM001E-FR-P - Août 2002

Page 24: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-4 Organisation des tâches, programmes et sous-programmes

Programme

Un programme est une subdivision d’une tâche. Lorsqu’une tâche est déclenchée, les programmes planifiés de la tâche sont exécutés intégralement du premier au dernier. Chaque programme contient des points, un sous-programme principal, d’autres sous-programmes et un sous-programme de gestion des défauts en option.

Sous-programme

Les sous-programmes fournissent le code exécutable pour le projet d’un automate (semblable à un fichier programme dans un automate PLC ou SLC). Chaque sous-programme utilise un langage de programmation particulier, tel que la logique à relais par exemple.

Sous-programme principal

Lorsqu’un programme est exécuté, son sous-programme principal est exécuté en premier. Utilisez le sous-programme principal pour appeler (exécuter) d’autres sous-programmes (secondaires). Pour appeler un autre sous-programme dans le programme, utilisez une instruction JSR (Saut vers sous-programme).

Planification des tâches du projet

Pour identifier les tâches, les programmes et les sous-programmes de votre logique, vous devez effectuer les étapes suivantes :

Ces étapes sont en principe itératives. Après avoir effectué certains choix initiaux, revoyez-les à mesure que vous développez votre projet.

Définition des fonctions du projet

Attribution de chaque fonction à une tâche

Publication 1756-PM001E-FR-P - Août 2002

Page 25: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des tâches, programmes et sous-programmes 2-5

Définition des fonctions du projet

L’un des premiers choix à faire pour développer un projet Logix5000 est de définir les fonctions (opérations) de votre machine ou de votre procédé.

1. Identifiez les fonctions (opérations) importantes de votre machine ou de votre procédé.

2. Choisissez le langage de programmation qui correspond le mieux à chacune des fonctions.• Vous devrez peut-être revoir votre liste de fonctions pour utiliser au

mieux les différents langages.• Vous pouvez utiliser n’importe quelle combinaison de langages dans

un même projet.

En général, si la fonction ou le groupe de fonctions représente Utilisez ce langage

une exécution continue ou parallèle de multiples opérations (non séquentielles) logique à relais

des opérations booléennes ou sur bit

des opérations logiques complexes

un traitement de messages ou de communications

un asservissement machine

des opérations que le personnel de maintenance peut avoir à interpréter pour dépanner la machine ou le procédé

un procédé continu et une commande de variateur diagramme de blocs fonctionnels

un contrôle de boucle

des calculs de débit

une gestion de haut niveau de multiples opérations graphe de fonctionnement séquentiel (SFC)

des séquences répétitives d’opérations

un processus de traitement par lots

une commande de mouvement avec du texte structuré

des commandes machine

des opérations mathématiques complexes texte structuré

des calculs sur fichiers ou en boucle

le traitement de chaînes ASCII ou de protocoles

Publication 1756-PM001E-FR-P - Août 2002

Page 26: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-6 Organisation des tâches, programmes et sous-programmes

Attribution de chaque fonction à une tâche

Une fois que vous avez défini les fonctions (opérations) d’un projet, utilisez les différentes options de la tâche pour lancer l’exécution de chaque fonction.

1. Déterminez le déclencheur pour chaque fonction (lorsque la fonction doit être exécutée).

2. Selon le déclencheur de la fonction, choisissez une tâche dans laquelle exécuter la fonction :

Si une fonction est exécutée Alors

à une fréquence régulière (ex. : exécution d’une boucle PID toutes les 100 ms)

attribuez la fonction à un sous-programme dans une tâche périodique

très rapidement

lorsqu’un événement particulier ou un ensemble de conditions logiques se produisent

attribuez la fonction à un sous-programme dans la tâche continue (MainTask)

en permanence

lorsqu’il se produit un défaut suffisamment grave pour que l’automate s’arrête

attribuez la fonction à un sous-programme de gestion des défauts

Voir « Développement d’un sous-programme de gestion des défauts », page 19-1.

Publication 1756-PM001E-FR-P - Août 2002

Page 27: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des tâches, programmes et sous-programmes 2-7

Utilisation de la fenêtre d’organisation de l’automate

La fenêtre d’organisation de l’automate fournit une représentation graphique d’un projet. Pendant le développement de votre projet, vous devez effectuer les actions courantes suivantes :

Ouvrir et fermer un dossier

La fenêtre d’organisation de l’automate stocke les différents composants d’un projet dans des dossiers. Chaque dossier peut lui-même contenir d’autres dossiers.

Ouvrir et fermer un dossier

Ouvrir un sous-programme

Pour fermer un dossier et en masquer le contenu (le réduire), effectuez l’une des actions suivantes :

• cliquez deux fois sur le dossier ;• sélectionnez le dossier et appuyez sur la touche ← ;• cliquez sur le signe –.

Pour ouvrir un dossier et en afficher le contenu (le développer), effectuez l’une des actions suivantes :

• cliquez deux fois sur le dossier ;• sélectionnez le dossier et appuyez sur la touche → ;• cliquez sur le signe +.

Publication 1756-PM001E-FR-P - Août 2002

Page 28: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-8 Organisation des tâches, programmes et sous-programmes

Ouvrir un sous-programme

Si un sous-programme ne s’ouvre pas, regardez la ligne d’état du logiciel RSLogix 5000 :

Pour ouvrir un sous-programme, cliquez deux fois sur ce sous-programme. Si un sous-programme est en grisé, vous ne pouvez pas l’ouvrir.

Si la ligne d’état indique Alors

« Failed to open the routine - editor not installed » (Echec de l’ouverture de la routine - l’éditeur n’est pas installé)

L’éditeur pour le langage du sous-programme n’est pas installé. Pour obtenir la liste des logiciels disponibles, consultez le ControlLogix - Guide de sélection (publication 1756-SG001).

« Source not available » (La source n’est pas disponible)

Pour ouvrir le sous-programme, il vous faut la clé source. Voir « Utilisation de la protection de la source du sous-programme », page 24-1.Vous pouvez :

• exécuter le sous-programme ;• afficher les propriétés du sous-programme ;• identifier les références croisées avec la logique dans le sous-programme.

IMPORTANT Si la source d’un sous-programme n’est pas disponible, n’exportez pas le projet.

• Un fichier d’exportation (.L5K) contient uniquement les sous-programmes dont le code source est disponible.

• Si vous exportez un projet dont le code source n’est pas disponible pour tous les sous-programmes, vous ne pourrez pas récupérer la totalité du projet.

Publication 1756-PM001E-FR-P - Août 2002

Page 29: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des tâches, programmes et sous-programmes 2-9

Création d’une tâche périodique

Une tâche périodique exécute une ou plusieurs fonctions à une fréquence donnée.

1. Dans la fenêtre d’organisation 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).

2. Dans le champ Name (Nom), entrez un nom pour la tâche.

3. Dans la liste Type, sélectionnez Periodic (Périodique) (sélection par défaut).

4. Dans la liste Watchdog (Chien de garde), entrez la durée du chien de garde pour cette tâche.

ATTENTION

!Assurez-vous que l’intervalle est plus long que la somme des durées d’exécution de tous les programmes attribués à la tâche. Si l’automate détecte le déclenchement d’une tâche périodique alors qu’une tâche est déjà en cours, un défaut mineur se produit.

1.

2.

3.

4.

5.

6.

Publication 1756-PM001E-FR-P - Août 2002

Page 30: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-10 Organisation des tâches, programmes et sous-programmes

5. Dans le champ Rate (Fréquence), entrez la fréquence à laquelle vous voulez que la tâche soit exécutée.

6. Dans le champ Priority (Priorité), entrez la priorité de la tâche.

7. Cliquez sur

Création d’un programme Chaque tâche requiert au moins un programme. Vous pouvez créer plusieurs programmes pour une tâche.

1. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur la tâche qui doit exécuter le programme et sélectionnez New Program (Nouveau programme).

2. Dans le champ Name (Nom), tapez un nom pour le programme.

3. Cliquez sur

1.

2.

Publication 1756-PM001E-FR-P - Août 2002

Page 31: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des tâches, programmes et sous-programmes 2-11

Création d’un sous-programme

Chaque programme requiert au moins un sous-programme. Utilisez un sous-programme pour exécuter votre logique.

1. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur le programme qui doit exécuter le sous-programme et sélectionnez New Routine (Nouvelle routine).

2. Dans le champ Name (Nom), tapez un nom pour le sous-programme.

3. Dans la liste Type, sélectionnez le langage de programmation pour le sous-programme.

4. Cliquez sur

1.

2.

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 32: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2-12 Organisation des tâches, programmes et sous-programmes

Configuration d’un sous-programme comme sous-programme principal

Chaque programme requiert un sous-programme principal. Le sous-proramme principal est exécuté chaque fois que le programme est exécuté.

1. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur le programme qui doit exécuter le sous-programme et sélectionnez Properties (Propriétés).

2. Cliquez sur l’onglet Configuration.

3. Dans la liste Main (Principal), sélectionnez le nom du sous-programme.

4. Cliquez sur

Vérification du projet Vérifiez régulièrement votre travail pendant la programmation de votre projet :

1. Dans la barre d’outils supérieure de la fenêtre du logiciel RSLogix 5000,

cliquez sur l’icône .

2. Si des erreurs sont indiquées au bas de la fenêtre :a. appuyez sur la touche [F4] pour aller à la première erreur ou au

premier avertissement ;b. corrigez l’erreur suivant la description donnée dans la fenêtre des

résultats (Results) ;c. retournez à l’étape 1.

3. Pour afficher la fenêtre des résultats, appuyez sur les touches [Alt] + [1].

1.

3.

2.

Publication 1756-PM001E-FR-P - Août 2002

Page 33: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 3

Organisation des points

Planification des points Les automates Logix5000 stockent les données dans des points (par opposition à des fichiers de données fixes ayant une adresse numérique). Avec des points, vous pouvez :

• organiser vos données pour qu’elles reflètent vos machines• documenter (grâce à des noms de point) votre application à mesure de

son développement

Lorsque vous créez un point, vous attribuez les propriétés suivantes :

Le tableau suivant énumère les types de données les plus courants et indique quand les utiliser.

Tableau 3.A Propriétés des points

Propriété : Description :

accès définit quels sous-programmes peuvent accéder aux données

nom identifie les données (Des points ayant des accès différents peuvent avoir le même nom.)

type de données définit l’organisation des données : bit, nombre entier ou nombre à virgule flottante

Tableau 3.B Types de données

Pour : Sélectionnez :

équipement analogique en mode virgule flottante REAL

équipement analogique en mode nombre entier (pour des fréquences d’échantillonnage très rapides)

INT

caractères ASCII chaîne

bit BOOL

compteur COUNTER

point d’E/S TOR BOOL

nombre à virgule flottante REAL

nombre entier DINT

séquenceur CONTROL

temporisateur TIMER

1 Publication 1756-PM001E-FR-P - Août 2002

Page 34: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-2 Organisation des points

Servez-vous de ce tableau pour organiser vos données :

Les exemples suivants illustrent les différents niveaux auxquels vous pouvez organiser vos données :

• Points à élément simple, page 3-2• Tableau à une dimension, page 3-3• Tableau à deux dimensions, page 3-4• Type de données défini par l’utilisateur et qui stocke une recette,

page 3-5• Type de données défini par l’utilisateur et stockant les données requises

pour faire tourner une machine., page 3-6

Pour : Utilisez un : Référence :

un groupe d’attributs communs à plusieurs machines

type de données défini par l’utilisateur

Reportez-vous à « Création d’un type de données défini par l’utilisateur », page 3-7.

un groupe de données de même type

tableau Reportez-vous à « Création d’un point », page 3-9.

une valeur unique un point d’élément unique

un équipement d’E/S

EXEMPLE Points à élément simple

équipement d’E/S TOR

équipements d’E/Sanalogiques

valeur entière

bit de stockage

compteur

temporisateur

42364

Publication 1756-PM001E-FR-P - Août 2002

Page 35: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des points 3-3

EXEMPLE Tableau à une dimension

Dans cet exemple, une seule instruction de temporisation calcule la durée de plusieurs étapes. Chaque étape requiert une valeur de présélection différente. Toutes ces valeurs étant des données de même type (DINT), un tableau est utilisé.

42367

Pour développer un tableau et afficher ses éléments, cliquez sur le signe +.

Pour réduire un tableau et masquer ses éléments, cliquez sur le signe – .

Ce tableau comprend six éléments de type de données DINT.

six DINTéléments de timer_presets

Publication 1756-PM001E-FR-P - Août 2002

Page 36: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-4 Organisation des points

EXEMPLE Tableau à deux dimensions

Une perceuse peut percer jusqu’à cinq trous dans un livre. La machine requiert une valeur correspondant à la position de chaque trou à partir du bord avant du livre. Pour organiser ces valeurs en configurations, on utilise un tableau bidimensionnel. Le premier indice indique le trou auquel correspond la valeur et le second indice indique le nombre de trous à percer (un à cinq).

Dans la fenêtre Points, les éléments sont dans l’ordre indiqué ci-dessous.

indice de deuxième dimension Description

0 1 2 3 4 5

indice de première dimension

0

1 1,5 2,5 1,25 1,25 1,25 Position du premier trou à partir du bord avant du livre

2 8,0 5,5 3,5 3,5 Position du deuxième trou à partir du bord avant du livre

3 9,75 7,5 5,5 Position du troisième trou à partir du bord avant du livre

4 9,75 7,5 Position du quatrième trou à partir du bord avant du livre

5 9,75 Position du cinquième trou à partir du bord avant du livre

42367

La dimension de droite s’incrémente jusqu’à sa valeur maximum puis recommence à zéro.

Ce tableau comprend une grille bidimensionnelle d’éléments, six éléments par six éléments.

Lorsque la dimension de droite recommence à zéro, la dimension de gauche s’incrémente d’une unité.

Publication 1756-PM001E-FR-P - Août 2002

Page 37: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des points 3-5

EXEMPLE Type de données défini par l’utilisateur et qui stocke une recette

Dans un système à plusieurs réservoirs, chaque réservoir peut exécuter un éventail de recettes. Dans la mesure où la recette nécessite une combinaison de types de données (REAL, DINT, BOOL, etc.), on utilise un type de données défini par l’utilisateur.

Un tableau basé sur ce type de données ressemblerait à ceci :

Nom (du type de données) : TANK

Nom du membre : Type de données :

temp REAL

deadband REAL

step DINT

step_time TIMER

preset DINT[6]

mix BOOL

42368

Tableau de recettes

Première recetteCe tableau comprend trois éléments du type de données TANK.

Membres de larecette

Publication 1756-PM001E-FR-P - Août 2002

Page 38: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-6 Organisation des points

EXEMPLE Type de données défini par l’utilisateur et stockant les données requises pour faire tourner une machine.

Plusieurs stations de forage nécessitant la combinaison suivante de données, un type de données défini par l’utilisateur est créé.

Un tableau basé sur ce type de données ressemblerait à ceci :

Nom (du type de données) : STATION_DE_FORAGE

Nom du membre : Type de données :

part_advance BOOL

hole_sequence CONTROL

type DINT

position_des_trous REAL

depth REAL

total_depth REAL

42583

Tableau de perçages

Premier perçageCe tableau contient quatre éléments du type DRILL_STATION (poste de perçage).

Données de perçage

Publication 1756-PM001E-FR-P - Août 2002

Page 39: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des points 3-7

Création d’un type de données défini par l’utilisateur

Pour créer un type de données défini par l’utilisateur :

1. Cliquez avec le bouton droit de la souris sur Défini par l’utilisateur (User Defined) et sélectionnez Nouveau type de données.

2. Entrez un nom pour le type de données.

3. Tapez une description (facultatif).

4. Tapez le nom du premier membre.

42195

42196

2.

3.

4. 5. 6. 7.

Publication 1756-PM001E-FR-P - Août 2002

Page 40: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-8 Organisation des points

5. Spécifiez le type de données pour le membre. Voir Tableau 3.B page 3-1.

Pour un tableau, utilisez le format suivant :

type_données[x]

où :

x correspond au nombre d’éléments du tableau.

6. Pour afficher la (les) valeur (s) du membre dans un structure (base de numération) différent, sélectionnez le style.

7. Tapez une description pour le membre (facultatif).

8. Cliquez sur Appliquer.

9. Y a-t-il d’autres membres ?

Notes :

• Si vous incluez des membres qui représentent des équipements d’E/S, vous devez utiliser la logique à relais pour copier les données entre les membres de la structure et les points d’E/S correspondants. Reportez-vous à « Mise en buffer des E/S », page 12-1.

• Lorsque vous utilisez les types de données BOOL, SINT ou INT, listez les membres qui utilisent le même type l’un après l’autre :

EXEMPLE Si le membre est un tableau de six DINT, tapez DINT[6].

Si : Alors :

Oui Répétez les étapes 4 à 8

Non Cliquez sur OK.

plus performant

BOOL

BOOL

BOOL

DINT

DINT

moins performant

BOOL

DINT

BOOL

DINT

BOOL

Publication 1756-PM001E-FR-P - Août 2002

Page 41: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des points 3-9

Création d’un point Pour créer un point (y compris un tableau) :

1. Dans le menu Logique, sélectionnez Modifier points.

2. Sélectionnez un accès pour le point :

3. Tapez un nom pour le point.

4. Tapez le type de données :

où :

type_de_données est le type de données que le point ou le tableau stocke. Voir Tableau 3.B page 3-1.

x est le nombre d’éléments dans la première dimension.

y est le nombre d’éléments dans la deuxième dimension.

z est le nombre d’éléments dans la troisième dimension.

5. Tapez une description (facultatif).

42350

2.

3. 5.4.

Si vous utilisez le point : Sélectionnez :

dans plus d’un programme dans le projet

nom_de_l’automate (automate)

comme producteur ou consommateur

dans un message

dans un seul programme dans le projet

le programme qui utilisera le point

Si le point : Tapez :

n’est pas un tableau (fichier) type_de_données

est un tableau unidimensionnel type_données[x]

est un tableau bidimensionnel type_de_données[x,y]

est un tableau tridimensionnel type_de_données[x,y,z]

Publication 1756-PM001E-FR-P - Août 2002

Page 42: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-10 Organisation des points

Création de points à l’aide de Microsoft® Excel®

Vous pouvez également utiliser un tableur tel que Microsoft Excel pour créer et modifier des points. Vous profitez ainsi des fonctions d’édition du tableur.

Pour créer des points à l’aide d’Excel :

1. Ouvrez le projet RSLogix 5000.

2. Créez plusieurs points. (Ceci permet de formater la feuille de calcul Excel.)

3. Dans le menu Outils, sélectionnez Exporter les points.

4. Notez le nom du fichier d’exportation (nom_de_projet-Points).

5. Sélectionnez l’accès des points à exporter. Si vous sélectionnez Points du programme (Program Tags), sélectionnez les points de programme à exporter.

6. Cliquez sur Exporter.

42361

Les points sont enregistrés dans ce dossier.

4.

5.

Publication 1756-PM001E-FR-P - Août 2002

Page 43: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Organisation des points 3-11

7. Dans Microsoft Excel, ouvrez le fichier d’exportation.

8. Entrez POINT.

9. Identifiez l’accès du point :

10. Entrez le nom du point.

11. Entrez le type de données du point.

12. Répétez les étapes 8 à 11 pour chaque point supplémentaire.

13. Enregistrez et fermez le fichier. (Laissez-le au format .CSV.)

14. Dans le logiciel RSLogix 5000, menu Outils, sélectionnez Importer les points.

15. Sélectionnez le fichier qui contient les points et cliquez sur Importer.

Les points sont importés dans le projet. La partie inférieure de la fenêtre RSLogix 5000 affiche les résultats.

TYPE ACCÈS NOM DESCRIPTION TYPE DE DONNÉES

POINT en_cycle DINT

TYPE ACCÈS NOM DESCRIPTION TYPE DE DONNÉES

POINT Programme principal

alarme_convoyeur BOOL

POINT Programme principal

convoyeur_sous_tension

BOOL

POINT Programme principal

foreuse_1 STATION_DE_FORAGE

POINT Programme principal

position_des_trous REAL[6,6]

POINT Programme principal

machine_sous_tension

BOOL

8. 9. 10. 11.

Si l’accès est : Alors :

automate Laissez cette cellule vide.

programme Entrez le nom du programme

Publication 1756-PM001E-FR-P - Août 2002

Page 44: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

3-12 Organisation des points

• Vous pouvez configurer les points de façon à ce qu’ils communiquent directement avec d’autre automates :

Si vous envisagez d’utiliser des points produits ou consommés, vous devez respecter des consignes supplémentaires pour organiser vos points. Reportez-vous à « Communication avec un autre automate », page 14-1.

• Les types de données de nombres entiers suivants sont également disponibles :– SINT (nombre entier de 8 bits)– INT (nombre entier de 16 bits)

En principe, les instructions convertissent des SINT ou INT en un type de données optimal (généralement une valeur DINT ou REAL) durant l’exécution. Cette conversion exigeant plus de temps et de mémoire, minimisez l’usage des types de données SINT et INT.

Pour : Utilisez un :

envoyer des données sur le fond de panier et le réseau ControlNet à intervalles spécifiés

point produit

recevoir des données d’un autre automate sur le fond de panier ou le réseau ControlNet à intervalles spécifiés

point consommé

Publication 1756-PM001E-FR-P - Août 2002

Page 45: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 4

Conception d’un graphe de fonctionnement séquentiel

Quand utiliser cette procédure

Utilisez cette procédure pour définir un graphe de fonctionnement séquentiel (SFC) pour votre procédé ou votre système. Un SFC est une sorte d’organigramme de votre procédé. Il définit les étapes ou les états par lesquels votre système passe. Utilisez le SFC pour :

• organiser les spécifications fonctionnelles de votre système ;• programmer et contrôler votre système comme une série d’étapes et de

transitions.

L’utilisation d’un SFC pour définir votre procédé vous donne les avantages suivants :

• un SFC étant une représentation graphique de votre procédé, il est plus facile à organiser et à lire qu’une version textuelle. De plus, le logiciel RSLogix 5000 vous permet :– d’ajouter des remarques qui clarifient les étapes ou donnent des

informations importantes qui pourront être utilisées plus tard ;– d’imprimer le SFC pour partager ses informations avec d’autres

personnes.• Les automates Logix5000 acceptant les SFC, vous n’avez pas besoin

d’entrer les spécifications une deuxième fois. Vous programmez votre système en même temps que vous le définissez.

L’utilisation d’un SFC pour programmer votre procédé vous donne les avantages suivants :

• division graphique des procédés en fonction de leurs parties logiques principales (étapes) ;

• exécution répétée plus rapide de parties de votre logique ;• affichage à l’écran plus simple ;• temps de conception et de débogage du programme réduit ;• dépannage plus rapide et plus simple ;• accès direct au point de la logique où une machine s’est mise en défaut ;• mises à jour et améliorations simples.

Comment utiliser cette procédure

Généralement, le développement d’un SFC est un procédé itératif. Si vous préférez, vous pouvez utiliser le logiciel RSLogix 5000 pour concevoir et affiner votre SFC. Pour les procédures particulières sur la saisie d’un SFC, voir « Programmation d’un graphe de fonctionnement séquentiel », page 5-1.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 46: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-2 Conception d’un graphe de fonctionnement séquentiel

Qu’est-ce qu’un graphe de fonctionnement séquentiel ?

Un graphe de fonctionnement séquentiel (SFC) est semblable à un organigramme. Il utilise des étapes et des transitions pour effectuer des opérations ou des actions particulières. La Figure 4.1 et la Figure 4.2 montrent des éléments d’un SFC :

Figure 4.1 Exemple de SFC

Une étape représente une fonction principale de votre procédé. Elle contient les actions qui se déroulent à un moment, une phase ou un point particulier.

Une action est l’une des fonctions exécutées par une étape.

Une branche simultanée exécute plusieurs étapessimultanément.

Une transition est la condition vraie ou fausse qui indique au SFC quand passer à l’étape suivante.

(suite à la page suivante)

Un qualificateur détermine quand une action démarre et quand elle se termine.

Afficher ou masquer une action.

L’instruction JSR appelle un sous-programme.

Publication 1756-PM001E-FR-P - Août 2002

Page 47: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-3

Figure 4.2 Exemple de SFC (suite de la page précédente)

Une zone de texte vous permet d’ajouter un texte descriptif ou des remarques dans votre SFC.

Une branche de sélection permet de choisirentre différents chemins d’exécution.

Une liaison relie un élément à un autre n’importe où dans le graphe. Cette liaison vous emmène à l’étape conveyor (convoyeur), sur la Figure 4.1 de la page précédente.

Un arrêt vous permet d’arrêter et d’attendre une commande pour redémarrer.

Publication 1756-PM001E-FR-P - Août 2002

Page 48: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-4 Conception d’un graphe de fonctionnement séquentiel

Conception d’un SFC : présentation

Les étapes de conception d’un SFC sont les suivantes :

Les sections suivantes de ce chapitre décrivent en détails comment effectuer chacune de ces actions.

Définition des tâches

Choix du mode d’exécution du SFC

Définition des étapes du procédé

Organisation des étapes

Ajout d’actions pour chaque étape

Description de chaque action en pseudocode

Choix d’un qualificateur pour une action

Définition des conditions de transition

Transition après un délai prédéfini

Arrêt d’un équipement à la fin d’une étape

Garder un équipement actif d’une étape à une autre

Fin du SFC

Imbrication d’un SFC

Configuration du retour au SE/JSR

Pause ou positionnement d’un SFC

Publication 1756-PM001E-FR-P - Août 2002

Page 49: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-5

Définition des tâches La première étape du développement d’un SFC consiste à séparer la configuration et la régulation des équipements des commandes de ces équipements. Les automates Logix5000 vous permettent de diviser votre projet en une tâche continue et plusieurs tâche périodique.

1. Organisez votre projet de la façon suivante :

2. Pour les fonctions qui vont dans une tâche périodique, regroupez celles qui ont des fréquences d’actualisation identiques. Créez une tâche périodique pour chaque fréquence d’actualisation.

Par exemple, vos équipements à 2 états peuvent requérir des actualisations plus rapides que vos boucles PID. Utilisez des tâches périodiques pour chaque fréquence d’actualisation.

L’exemple suivant montre un projet comportant deux tâches périodiques pour la régulation de moteurs, de vannes et de boucles de température. Le projet utilise un SFC pour commander le procédé.

Ces fonctions Vont dans

configuration et régulation des équipements une tâche périodique

mise d’un équipement dans un état particulier un SFC dans une tâche continue

séquencement de l’exécution de votre procédé

EXEMPLE Définition des tâches

Cette tâche (continue) exécute le graphe de fonctionnement séquentiel (SFC). Le SFC commande l’état ou la température spécifique pour chaque équipement ou boucle de température.

Cette tâche (périodique) utilise des diagrammes de blocs fonctionnels pour démarrer ou arrêter des moteurs ou pour ouvrir ou fermer des vannes. Le SFC dans MainTask (tâche principale) commande l’état de chaque équipement. Les diagrammes de blocs fonctionnels activent et maintiennent cet état.

Cette tâche (périodique) utilise des diagrammes de blocs fonctionnels pour configurer et réguler les boucles de température. Le SFC dans MainTask (tâche principale) commande les températures. Les diagrammes de blocs fonctionnels activent et maintiennent ces températures.

Publication 1756-PM001E-FR-P - Août 2002

Page 50: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-6 Conception d’un graphe de fonctionnement séquentiel

Choix du mode d’exécution du SFC

Pour exécuter un SFC, configurez-le comme le sous-programme principal d’un programme ou appelez-le comme un sous-programme secondaire.

Si le SFC utilise des actions booléennes, les autres logiques doivent être exécutées indépendamment du SFC et doivent surveiller les bits d’état du SFC.

Définition des étapes du procédé

Une étape représente une fonction principale de votre procédé. Elle contient les actions qui se déroulent à un moment, une phase ou un point particulier.

Une transition termine une étape. Une transition définit les conditions physiques qui doivent se produire ou changer pour passer à l’étape suivante.

Si Alors

le SFC est le seul sous-programme dans le programme

Configurez le SFC comme sous-programme principal du programme.

le SFC appelle tous les autres sous-programmes du programme

le programme requiert que les autres sous-programmes soient exécutés indépendamment du SFC

1. Configurez un autre sous-programme comme le sous-programme principal du programme.

2. Utilisez le sous-programme principal pour appeler le SFC comme un sous-programme.

Le SFC utilise des actions booléennes

Etape

MIXUne étape est exécutée en continue jusqu’à ce qu’une transition indique au SFC de passer à l’étape suivante.

Transition• Si vrai, passer à l’étape suivante.• Si faux, répéter l’étape précédente.

…puis faire cela

Actions

Faire ceci…

Publication 1756-PM001E-FR-P - Août 2002

Page 51: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-7

Observez les directives suivantes

Conformez-vous aux directives suivantes lorsque vous définissez les étapes de votre procédé :

• Commencez par des étapes générales et affinez-les ensuite par passages successifs.

• Lorsque vous ouvrez un sous-programme SFC, il contient une étape et une transition initiales. Utilisez cette étape pour initialiser votre procédé.

• Pour identifier une étape, recherchez un changement physique dans votre système, comme une nouvelle pièce en position, une température atteinte, un temps prédéfini atteint ou la sélection d’une recette. L’étape est constituée des actions qui se produisent avant ce changement.

• Arrêtez lorsque vos étapes sont constituées d’incréments significatifs. Par exemple :

Nettoyage

Ventilation Charg_Elec

troisième passage

Transf_Entr

Nettoyage

Transf_Sort

Peinture

deuxième passage

Peinture

premier passage

Débit_Peint

Transf_Entr

Transf_Sort

Cette organisation des étapes Est

produce_solution probablement trop générale

set_mode, close_outlet, set_temperature, open_inlet_a, close_inlet_a, set_timer, reset_temperature, open_outlet, reset_mode

probablement trop précise

preset_tank, add_ingredient_a, cook, drain probablement correcte

étape initiale

transition initiale

Publication 1756-PM001E-FR-P - Août 2002

Page 52: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-8 Conception d’un graphe de fonctionnement séquentiel

Structure SFC_STEP

Chaque étape utilise un point donnant des informations sur cette étape. Pour accéder à ces informations, utilisez la boîte de dialogue Step Properties (Propriétés de l’étape) ou l’onglet Monitor Tags (Surveillance des points) de la fenêtre Tags (Points) :

Pour Cochez ou activez ce membre

Type de données

Explication

déterminer la durée pendant laquelle une étape a été active (en millisecondes)

T DINT Lorsqu’une étape devient active, le temporisateur (T) est réinitialisé et commence à compter en millisecondes. Il continue de compter jusqu’à ce que l’étape devienne inactive, quelle que soit la valeur prédéfinie (PRE).

indiquer à quel moment l’étape a été active pendant une durée déterminée (en millisecondes)

PRE DINT Entrez l’heure dans le membre Preset (PRE). Lorsque le temporisateur (T) atteint la valeur prédéfinie (PRE), le bit de fin (DN) est activé et le reste jusqu’à ce que l’étape redevienne active.

Vous pouvez également entrer une expression numérique qui calcule la durée d’exécution.

DN BOOL Lorsque le temporisateur (T) atteint la valeur prédéfinie (PRE), le bit de fin (DN) est activé et le reste jusqu’à ce que l’étape redevienne active.

indiquer si une étape n’a pas été exécutée assez longtemps

LimitLow DINT Entrez la durée dans le membre LimitLow (en millisecondes).• Si l’étape devient inactive avant que le temporisateur (T)

n’atteigne la valeur de limite basse (LimitLow), le bit d’alarme basse (AlarmLow) est activé.

• Le bit d’alarme haute reste activé jusqu’à ce que vous le réinitialisiez.

• Pour utiliser cette fonction d’alarme, activez (cochez) le bit d’activation de l’alarme (AlarmEn).

Vous pouvez également entrer une expression numérique qui calcule la durée d’exécution.

AlarmEn BOOL Pour utiliser les bits d’alarme, activez (cochez) le bit d’activation de l’alarme (AlarmEn).

AlarmLow BOOL Si l’étape devient inactive avant que le temporisateur (T) n’atteigne la valeur de limite basse (LimitLow), le bit d’alarme basse (AlarmLow) est activé.

• Le bit reste activé jusqu’à ce que vous le réinitialisiez.• Pour utiliser cette alarme, activez (cochez) le bit d’activation

d’alarme (AlarmEn).

indiquer si une étape est exécutée trop longtemps

LimitHigh DINT Entrez la durée dans le membre LimitHigh (en millisecondes).• Si le temporisateur (T) atteint la valeur de limite haute

(LimitHigh), le bit d’alarme haute (AlarmHigh) est activé.• Le bit d’alarme haute reste activé jusqu’à ce que vous le

réinitialisiez.• Pour utiliser cette alarme, activez (cochez) le bit d’activation de

l’alarme (AlarmEn).

Vous pouvez également entrer une expression numérique qui calcule la durée d’exécution.

AlarmEn BOOL Pour utiliser les bits d’alarme, activez (cochez) le bit d’activation d’alarme (AlarmEn).

AlarmHigh BOOL Si le temporisateur (T) atteint la valeur de limite haute (LimitHigh), le bit d’alarme haute (AlarmHigh) est activé.

• Le bit reste activé jusqu’à ce que vous le réinitialisiez.• Pour utiliser cette alarme, activez (cochez) le bit d’activation

d’alarme (AlarmEn).

Publication 1756-PM001E-FR-P - Août 2002

Page 53: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-9

exécuter une action pendant que l’étape est active (y compris la première et la dernière scrutation)

X BOOL Le bit X est activé tant que l’étape est active (en cours d’exécution).

Pour ce faire, nous recommandons généralement d’utiliser une action avec un qualificateur N Non stocké.

exécuter une action une fois lorsque l’étape devient active

FS BOOL Le bit FS est activé lors de la première scrutation de l’étape.

Pour ce faire, nous recommandons généralement d’utiliser une action avec un qualificateur P1 Impulsion (front montant).

exécuter une action pendant que l’étape est active, sauf pendant la première et la dernière scrutation

SA BOOL Le bit SA est activé lorsque l’étape est active, excepté lors de la première et la dernière scrutation de l’étape.

exécuter une action une fois lors de la dernière scrutation de l’étape

LS BOOL Le bit LS est activé lors de la dernière scrutation de l’étape.

Utilisez ce bit uniquement si vous faites ce qui suit : dans la boîte de dialogue Controller Properties (Propriétés de l’automate), dans l’onglet SFC Execution (Exécution SFC), réglez la propriété Last Scan of Active Step (Dernière scrutation de l’étape active) sur Don’t Scan (Ne pas scruter) ou sur Programmatic reset (Réinitialisation par programme).

Pour ce faire, nous recommandons généralement d’utiliser une action avec un qualificateur P0 Impulsion (front descendant).

déterminer la cible d’une instruction de positionnement SFC (SFR)

Reset BOOL Une instruction de positionnement SFC (SFR) positionne le SFC à une étape ou à un arrêt indiqué(e) par l’instruction.

• Le bit de réinitialisation (Reset)indique à quelle étape ou à quel arrêt le SFC reprendra son exécution.

• Une fois que le SFC est de nouveau en cours d’exécution, le bit de réinitialisation est effacé.

déterminer la durée d’activation la plus longue d’une étape pendant l’une de ses exécutions

TMax DINT Utilisez ceci pour effectuer des diagnostics. L’automate efface cette valeur seulement lorsque vous sélectionnez Restart Position (Position de redémarrage) de Restart at initial step (Redémarrer à l’étape initiale) et que l’automate change de mode ou est mis hors tension puis de nouveau sous tension.

déterminer si la valeur du temporisateur (T) passe à une valeur négative

OV BOOL Utilisez ceci pour effectuer des diagnostics.

déterminer combien de fois une étape est devenue active

Count DINT Il ne s’agit pas du nombre de scrutations de l’étape.• Le compteur augmente de un chaque fois que l’étape devient

active.• Il augmente de nouveau seulement si l’étape est devenue

inactive puis de nouveau active.• Le compteur n’est réinitialisé que si vous avez configuré le SFC

pour qu’il redémarre à l’étape initiale. Avec cette configuration, il est réinitialisé lorsque l’automate passe du mode Programme au mode Exécution.

Pour Cochez ou activez ce membre

Type de données

Explication

Publication 1756-PM001E-FR-P - Août 2002

Page 54: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-10 Conception d’un graphe de fonctionnement séquentiel

Le diagramme suivant montre la relation entre les bits X, FS, SA et LS.

utiliser un point pour les différents bits d’état de cette étape

Status DINT Pour ce membre Utilisez ce bit

Reset 22

AlarmHigh 23

AlarmLow 24

AlarmEn 25

OV 26

DN 27

LS 28

SA 29

FS 30

X 31

Pour Cochez ou activez ce membre

Type de données

Explication

nom_étape.FS

nom_étape.X

nom_étape.LS

nom_étape.SA

première scrutation dernière scrutation

Publication 1756-PM001E-FR-P - Août 2002

Page 55: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-11

Organisation des étapes Une fois que vous avez défini les étapes de votre procédé, organisez-les en séquences, en branches simultanées, en branches de sélection ou en boucles.

Présentation

Pour Utilisez cette structure Avec ces critères

exécuter 1 ou plusieurs étapes en séquence :

• une étape est exécutée de façon répétée ;

• la suivante est ensuite exécutée de façon répétée.

Séquence Le SFC vérifie la transition à la fin de l’étape :• si vrai, le SFC passe à l’étape suivante ;• si faux, le SFC répète l’étape.

• Choisir parmi des étapes alternatives ou des groupes d’étapes en fonction des conditions de la logique

• Exécuter une ou plusieurs étapes ou pour sauter une ou plusieurs étapes en fonction des conditions de la logique

Branche de sélection • Il arrive qu’un chemin n’ait aucune étape et seulement une transition. Ceci permet au SFC de sauter la branche de sélection.

• Par défaut, le SFC vérifie de gauche à droite les transitions qui commencent chaque chemin. Il prend le premier chemin vrai.

• Si aucune transition n’est vraie, le SFC répète l’étape précédente.

• Le logiciel RSLogix 5000 vous permet de changer l’ordre dans lequel le SFC vérifie les transitions.

Exécuter 2 étapes ou plus simultanément. Tous les chemins doivent être terminés pour que le SFC continue.

Branche simultanée • Une seule transition termine la branche.

• Le SFC vérifie la transition de fin une fois que la dernière étape de chaque chemin a été exécutée au moins une fois. Si la transition est fausse, le SFC répète l’étape précédente.

Revenir à une étape précédente. Liaison avec une étape précédente • Connectez la liaison à l’étape ou à la branche simultanée à laquelle vous voulez aller.

• N’effectuez pas de liaison vers, à partir de ou à l’intérieur d’une branche simultanée.

Publication 1756-PM001E-FR-P - Août 2002

Page 56: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-12 Conception d’un graphe de fonctionnement séquentiel

Voici quelques exemples de structures SFC pour différentes situations :

Exemple Solution

Les stations 45 et 46 d’une chaîne de montage travaillent simultanément sur des pièces. Lorsque les deux stations ont terminé, les pièces descendent d’une station.

Branche simultanée

Selon le code de fabrication, une station perce ou polit. Branche de sélection

Pour simplifier ma programmation, je veux séparer les communications et les blocs-transferts du reste de la logique de commande. Tout se passe en même temps.

Branche simultanée

Dans une zone de traitement thermique, la température augmente graduellement à un rythme défini, est maintenue pendant une durée donnée, puis baisse à un rythme défini.

Séquence

A la station 12, la machine perce, taraude et boulonne une pièce. Les étapes se déroulent l’une après l’autre.

Séquence

L’étape 12 inspecte un procédé pour vérifier que le mélange de produits chimiques est correct.

• Si le mélange est correct, passer aux étapes suivantes.• Si le mélange n’est pas correct, revenir au début du SFC et

purger le système.

Liaison

45 46

PolirPercer

Comm.Contrôle BT

Augmenter

Maintenir

Refroidir

Percer

Tarauder

Boulonner

Etape 12

OKPas OK

Début du SFC

Publication 1756-PM001E-FR-P - Août 2002

Page 57: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-13

Séquence

Une séquence est un groupe d’étapes exécutées l’une après l’autre.

Pour un diagramme détaillé de l’exécution d’une séquence d’étapes, voir la Figure 4.5, page 4-46.

Pour contourner l’état d’une transition, voir « Forçage des éléments de la logique », page 18-1.

Branche de sélection

Une branche de sélection représente un choix entre un chemin (étape ou groupe d’étapes) et un autre (structure OR).

• Seul un chemin est exécuté.• Le SFC vérifie par défaut les transitions de gauche à droite :

– le SFC prend le premier chemin vrai ;– le logiciel RSLogix 5000 vous permet de changer l’ordre dans lequel

le SFC vérifie les transitions. Voir « Programmation d’un graphe de fonctionnement séquentiel », page 5-1.

Faire ceci…

PUIS ceci…

PUIS ceci…

Publication 1756-PM001E-FR-P - Août 2002

Page 58: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-14 Conception d’un graphe de fonctionnement séquentiel

Pour un diagramme détaillé de l’exécution d’une branche de sélection, voir la Figure 4.7, page 4-48.

Pour contourner l’état d’une transition, voir « Forçage des éléments de la logique », page 18-1.

Ligne horizontale unique

Ce chemin saute la structure (ne fait rien).

Chaque chemin possèdesa propre transition

Faire ceci… OU ceci… OU ceci…

Ligne horizontale unique

Publication 1756-PM001E-FR-P - Août 2002

Page 59: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-15

Branche simultanée

Une branche simultanée représente des chemins (étapes ou groupes d’étapes) exécutés simultanément (structure AND).

• Tous les chemins sont exécutés.• Tous les chemins doivent être terminés pour que le SFC continue.• Le SFC vérifie la transition une fois que la dernière étape de chaque

chemin a été exécutée au moins une fois.

Pour un diagramme détaillé de l’exécution d’une branche simultanée, voir la Figure 4.6, page 4-47.

Pour contourner la branche et empêcher l’exécution d’un chemin, voir « Forçage des éléments de la logique », page 18-1.

Ligne horizontale double

Une transition pour tous les chemins

Faire ceci… ET ceci…

Ligne horizontale double

ET ceci…

Publication 1756-PM001E-FR-P - Août 2002

Page 60: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-16 Conception d’un graphe de fonctionnement séquentiel

Liaison avec une étape précédente

Outre relier des étapes en séquences, branches simultanées et branches de sélection, vous pouvez relier une étape à un point précédent de votre SFC. Vous pouvez ainsi :

• revenir en arrière et répéter des étapes ;• revenir au début du SFC et recommencer.

Par exemple :

…aller à cetteétape

Si cette conditionest vraie…

Boucle simple répétant la totalité du SFC

Chemin d’une branche de sélection revenant à une étape précédente

Publication 1756-PM001E-FR-P - Août 2002

Page 61: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-17

Ajout d’actions pour chaque étape

Utilisez les actions pour diviser une étape en différentes fonctions qu’elle doit effectuer, comme commander un moteur, régler l’état d’une vanne ou mettre un groupe d’équipements dans un mode défini.

Comment voulez-vous utiliser l’action ?

Il existe deux types d’actions :

Utiliser une action non booléenne

Une action non booléenne contient la logique de l’action. Elle utilise du texte structuré pour exécuter des affectations et des instructions ou pour appeler un sous-programme.

Avec des actions non booléennes, vous pouvez également post-scrutation (réinitialiser automatiquement) les affectations et les instructions avant de quitter une étape :

• pendant la post-scrutation, l’automate exécute les affectations et les instructions comme si toutes les conditions étaient fausses ;

• l’automate post-scrute le texte structuré incorporé et tout sous-programme appelé par l’action.

Pour réinitialiser automatiquement les affectations et les instructions, voir « Arrêt d’un équipement à la fin d’une étape », page 4-29.

Etape

…puis faire celaMIX

Actions

Faire ceci…

Pour Alors

exécuter du texte structuré directement dans le SFC Utiliser une action non booléenne

appeler un sous-programme

utiliser l’option de réinitialisation automatique pour réinitialiser les données en quittant une étape

activer seulement un bit et programmer une autre logique pour surveiller ce bit et déterminer quand exécuter

Utiliser une action booléenne

Publication 1756-PM001E-FR-P - Août 2002

Page 62: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-18 Conception d’un graphe de fonctionnement séquentiel

Pour programmer une action non booléenne, vous avez plusieurs possibilités :

Vous ne pouvez pas réutiliser une action non booléenne dans le même SFC, sauf pour réinitialiser une action stockée. Une seule occurrence d’une action non booléenne est permise par SFC.

Utiliser une action booléenne

Une action booléenne ne contient pas la logique de l’action. Elle ne fait qu’activer un bit dans son point (structure SFC_ACTION). Pour exécuter l’action, une autre logique doit surveiller le bit et être exécutée lorsque le bit est activé.

Avec des actions booléennes, vous devez réinitialiser manuellement les affectations et les instructions associés à l’action. Puisqu’il n’existe aucun lien entre l’action et la logique qui exécutent l’action, l’option de réinitialisation automatique n’affecte pas les actions booléennes.

Pour Alors

• exécuter votre logique sans sous-programmes supplémentaires

• utiliser des affectations, des instructions de test et des instructions en texte structuré

Incorporez du texte structuré.

Par exemple :

Lorsque l’étape S_Complete_the_Batch est active, l’action S_Open_Outlet est exécutée. L’action règle le point Outlet.ProgCommand sur 1, ce qui ouvre la vanne de sortie.

• réutiliser la logique dans plusieurs étapes

• utiliser un autre langage pour programmer l’action, comme la logique à relais

• imbriquer un SFC

Appelez un sous-programme.

Par exemple :

Lorsque l’étape S_Complete_the_Batch est active, l’action S_Open_Outlet est exécutée. L’action appelle le sous-programme Open_Outlet.

Lorsque le sous-programme Open_Outlet est exécuté, l’instruction OTE règle le point Outlet.ProgCommand sur 1, ce qui ouvre la vanne de sortie.

Sous-programme Open_Outlet

Publication 1756-PM001E-FR-P - Août 2002

Page 63: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-19

Voici un exemple :

Lorsque l’étape S_Complete_the_Batch est active, l’action S_Open_Outlet est exécutée. Lorsque l’action est active, son bit Q est activé.

Un sous-programme en logique à relais surveille le bit Q (S_Open_Outlet.Q). Lorsque le bit Q est activé, l’instruction JSR est exécutée et ouvre la vanne de sortie.

Vous pouvez réutiliser une action booléenne plusieurs fois dans un même SFC.

Structure SFC_ACTION

Chaque action (non booléenne et booléenne) utilise un point donnant des informations sur cette action. Pour accéder à ces informations, utilisez la boîte de dialogue Action Properties (Propriétés de l’action) ou l’onglet Monitor Tags (Surveillance des points) de la fenêtre Tags (Points) :

Pour Cochez ou activez ce membre

Type de données

Explication

déterminer quand l’action est active

Q BOOL L’état du bit Q dépend de la nature de l’action : booléenne ou non :

Si l’action est Le bit Q est

booléenne activé (1) tant que l’action est active, y compris lors de la dernière scrutation de l’action

non booléenne activé (1) lorsque l’action est active, mais désactivé (0) lors de la dernière scrutation de l’action

Pour utiliser un bit afin de déterminer quand une action est active, utilisez le bit Q.

A BOOL Le bit A est activé tant que l’action est active.

déterminer la durée pendant laquelle une action a été active (en millisecondes)

T DINT Lorsqu’une action devient active, le temporisateur (T) est réinitialisé et commence à compter en millisecondes. Il continue de compter jusqu’à ce que l’action devienne inactive, quelle que soit la valeur prédéfinie (PRE).

utiliser un de ces qualificateurs temporels : L, SL, D, DS, SD

PRE DINT Entrez le délai dans le membre Preset (PRE). L’action commence ou s’arrête lorsque le temporisateur (T) atteint la valeur prédéfinie.

Vous pouvez également entrer une expression numérique qui calcule la durée d’exécution.

Publication 1756-PM001E-FR-P - Août 2002

Page 64: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-20 Conception d’un graphe de fonctionnement séquentiel

Description de chaque action en pseudocode

Pour organiser la logique d’une action, vous devez d’abord décrire l’action en pseudocode. Si le pseudocode ne vous est pas familier, observez les directives suivantes :

• utilisez une série d’instructions courtes qui décrivent exactement ce qui doit se produire ;

• utilisez des termes et des symboles tels que : if, then, otherwise, until, and, or, =, >, < (si, alors, sinon, jusqu’à, et, ou) ;

• ordonnez les instructions en suivant l’ordre dans lequel elles doivent être exécutées ;

• si nécessaire, nommez les conditions à vérifier en premier (quand 1re), puis l’action à effectuer en deuxième (laquelle en 2e).

Entrez le pseudocode dans le corps de l’action. Après avoir entré le pseudocode, vous pouvez :

• affiner le pseudocode pour qu’il exécute en texte structuré ;• utiliser le pseudocode pour concevoir votre logique et le laisser comme

commentaire. Tout commentaire de texte structuré étant chargé dans l’automate, votre pseudocode est toujours disponible comme documentation pour l’action.

Pour convertir le pseudocode en commentaires de texte structuré, ajoutez les symboles de commentaire suivants :

déterminer combien de fois une action est devenue active

Count DINT Il ne s’agit pas du nombre de scrutations de l’action.• Le compteur augmente de un chaque fois que l’action

devient active.• Il augmente de nouveau seulement si l’action est devenue

inactive puis de nouveau active.• Le compteur n’est réinitialisé que si vous avez configuré le

SFC pour qu’il recommence à l’étape initiale. Avec cette configuration, il est réinitialisé lorsque l’automate passe du mode Programme au mode Exécution.

utiliser un point pour les différents bits d’état de cette action

Status DINT Pour ce membre Utilisez ce bit

Q 30

A 31

Pour Cochez ou activez ce membre

Type de données

Explication

Pour un commentaire Utilisez l’un des formats suivants

d’une seule ligne //commentaire

sur plusieurs lignes (*début du commentaire . . . fin du commentaire*)

/*début du commentaire . . . fin du commentaire*/

Publication 1756-PM001E-FR-P - Août 2002

Page 65: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-21

Choix d’un qualificateur pour une action

Chaque action (booléenne ou non) utilise un qualificateur pour déterminer quand elle démarre et quand elle s’arrête.

Le qualificateur par défaut est Non-Stored (Non stocké). L’action démarre lorsque l’étape est activée et s’arrête lorsque l’étape est désactivée.

Pour modifier le moment où une action démarre ou s’arrête, attribuez-lui un qualificateur différent :

Tableau 4.1 Choix d’un qualificateur pour une action

Si vous voulez que l’action Et Attribuez-lui ce qualificateur

Ce qui signifie

démarre lorsque l’étape est activée s’arrête lorsque l’étape est désactivée N Non stockée

ne soit exécutée qu’une fois P1 Impulsion (front montant)

s’arrête avant que l’étape ne soit désactivée ou lorsque l’étape est désactivée

L Limitée dans le temps

reste active jusqu’à ce qu’une action de réinitialisation (Reset) la désactive

S Stockée

reste active jusqu’à ce qu’une action de réinitialisation (Reset) la désactiveou qu’une durée définie ne ce soit écoulée, même si l’étape est désactivée

SL Stockée et limitée dans le temps

démarre au terme d’un délai précis une fois l’étape activée et tant que l’étape est active

s’arrête lorsque l’étape est désactivée D Différée

reste active jusqu’à ce qu’une action de réinitialisation (Reset) la désactive

DS Différée et stockée

démarre au terme d’un délai précis une fois l’étape activée, même si l’étape a été désactivée avant l’expiration de ce délai

reste active jusqu’à ce qu’une action de réinitialisation (Reset) la désactive

SD Stockée et différée

soit exécutée une fois lorsque l’étape est activée

soit exécutée une fois lorsque l’étape est désactivée

P Impulsion

démarre lorsque l’étape est désactivée ne soit exécutée qu’une fois P0 Impulsion (front descendant)

désactive (réinitialise) une action stockée :• S Stockée• SL Stockée et limitée dans le temps• DS Différée et stockée• SD Stockée et différée

R Réinitialisée

Publication 1756-PM001E-FR-P - Août 2002

Page 66: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-22 Conception d’un graphe de fonctionnement séquentiel

Définition des conditions de transition

Une transition correspond aux conditions physiques qui doivent se produire ou changer pour passer à l’étape suivante.

Les transitions se produisent aux endroits suivants :

transition Si vrai, passer à l’étape suivante.Si faux, répéter l’étape précédente.

La transition indique au SFC quand passer à l’étape suivante.

Pour cette structure Vérifiez que

séquence Une transition se trouve entre chaque étape.

branche de sélection Les transitions se trouvent entre les lignes horizontales.

branche simultanée Les transitions se trouvent en dehors des lignes horizontales.

étapes

transitions

transitions

transitions

Publication 1756-PM001E-FR-P - Août 2002

Page 67: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-23

Voici deux exemples de transitions :

Pour contourner l’état d’une transition, voir « Forçage des éléments de la logique », page 18-1.

EXEMPLE Vous voulez :

a. démarrer 2 compresseurs. Lorsqu’un compresseur est démarré, le bit Device1State est activé ;

b. lorsque les deux compresseurs sont démarrés, passer à l’étape suivante.

Solution :

EXEMPLE Vous voulez :

a. emballer le produit. Une fois le produit emballé, le bit package_done est activé.

b. emballer le produit à raison de 8 ou de 16 par carton.

Solution :

Init_Done compressor_1.Device1State = activé (1)etcompressor_2.Device1State = activé (1)

Init

carton_16

Conditionnement

package_done = activé (1) et carton_size = 16

carton_8

Pack_16Pack_8

package_done = activé (1) et carton_size = 8

Publication 1756-PM001E-FR-P - Août 2002

Page 68: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-24 Conception d’un graphe de fonctionnement séquentiel

Point de transition

Chaque transition utilise un point booléen pour représenter l’état vrai ou faux de la transition.

Comment voulez-vous programmer la transition ?

Pour programmer la transition, vous avez plusieurs possibilités :

Utiliser une expression booléenne

La façon la plus simple de programmer la transition est d’entrer les conditions comme une expression booléenne en texte structuré. Une expression booléenne utilise des points booléens, des opérateurs de relation et des opérateurs logiques pour comparer des valeurs ou vérifier si des conditions sont vraies ou fausses. Par exemple, tag1>65.

Voici des exemples d’expressions booléennes :

Si la transition est La valeur est Et

vraie 1 Le SFC passe à l’étape suivante.

fausse 0 Le SFC poursuit l’exécution de l’étape en cours.

Pour Alors

entrer les conditions comme expression en texte structuré

Utiliser une expression booléenne

entrer les conditions comme instructions dans un autre sous-programme

Appeler un sous-programme

utiliser la même logique pour plusieurs transitions

bool_tag_a bool_tag_a & bool_tag_b

dint_tag_a > 8

Publication 1756-PM001E-FR-P - Août 2002

Page 69: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-25

Appeler un sous-programme

Pour utiliser un sous-programme afin de commander une transition, insérez une instruction de fin de transition (EOT) dans le sous-programme. L’instruction EOT renvoie l’état des conditions à la transition, comme indiqué ci-dessous.

1. Appel d’un sous-programme.

2. Vérification des conditions requises. Lorsque ces conditions sont vraies, activation d’un point BOOL.

3. Utilisation d’une instruction EOT pour régler l’état de la transition égal à la valeur du point BOOL. Lorsque le point BOOL est activé (vrai), la transition est vraie.

JSR - ou -

If condition_1 & condition_2 & condition_3 then

BOOL_tag := 1;

Else

BOOL_tag := 0;

End_if;

EOT(BOOL_tag);

1

2

2

3

3

Publication 1756-PM001E-FR-P - Août 2002

Page 70: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-26 Conception d’un graphe de fonctionnement séquentiel

Transition après un délai prédéfini

Chaque étape du SFC comprend un temporisateur en millisecondes qui fonctionne dès que l’étape est active. Utilisez le temporisateur pour :

• indiquer quand l’étape a été exécutée pendant la durée requise et que le SFC doit passer à l’étape suivante ;

• indiquer quand l’étape a été exécutée trop longtemps et que le SFC doit passer à une étape d’erreur.

Figure 4.3 Le diagramme suivant montre l’action du temporisateur et des bits associés d’une étape :

nom_étape.X

nom_étape.PRE

nom_étape.T

nom_étape.DN

1 2 3 4

Description

1. L’étape devient active.Le bit X est activé.Le temporisateur (T) commence à compter.

2. Le temporisateur atteint la valeur prédéfinie (PRE) de l’étape.Le bit DN est activé.Le temporisateur continue de compter.

3. L’étape devient inactive.Le bit X est désactivé.Le temporisateur garde sa valeur.Le bit DN reste activé.

4. L’étape devient active.Le bit X est activé.Le temporisateur est effacé et commence à compter.Le bit DN est désactivé.

Publication 1756-PM001E-FR-P - Août 2002

Page 71: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-27

Figure 4.4 Le diagramme suivant montre l’action des alarmes haute et basse d’une étape :

nom_étape.X

nom_étape.AlarmEn

nom_étape.T

nom_étape.AlarmLow

nom_étape.AlarmHigh

1 3 4 5 6

nom_étape.LimitHigh

2

nom_étape.LimitLow

Description

1. Le bit AlarmEn est activé. Pour utiliser les alarmes haute et basse, activez ce bit. Activez le bit à l’aide de la boîte de dialogue des propriétés ou du point de l’étape.

2. L’étape devient active.Le bit X est activé.Le temporisateur (T) commence à compter.

3. L’étape devient inactive.Le bit X est désactivé.Le temporisateur garde sa valeur.Le temporisateur étant inférieur à la limite basse (LimitLow), le bit AlarmLow est activé.

4. L’étape devient active.Le bit X est activé.Le temporisateur est effacé et commence à compter.Le bit AlarmLow reste activé (vous devez le désactiver manuellement).

5. Le temporisateur atteint la valeur de limite haute (LimitHigh) de l’étape.Le bit AlarmHigh est activé.Le temporisateur continue de compter.

6. L’étape devient inactive.Le bit X est désactivé.Le temporisateur garde sa valeur.Le bit AlarmHigh reste activé (vous devez le désactiver manuellement).

Publication 1756-PM001E-FR-P - Août 2002

Page 72: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-28 Conception d’un graphe de fonctionnement séquentiel

Voici un exemple d’utilisation du délai prédéfini pour une étape.

Voici un exemple d’utilisation de l’alarme haute d’une étape.

EXEMPLE La spécification fonctionnelle indique :

a. cuire les ingrédients dans le récipient pendant 20 secondes ;

b. vider le récipient.

Solution :

EXEMPLE La spécification fonctionnelle indique :

a. mettre 8 équipements dans leur position de repos ;b. si les 8 équipements ne sont pas dans leur position

de repos dans les 20 secondes, arrêter le système.

Solution :

Cuisson_terminée

Cuisson Cuisson.PRE = 20 000 ms

Cuisson.DN = activé (1)

Vider_Récipient

Init_Pas_OK

Init Init.LimitHigh = 20 000 ms

Init.AlarmHighInit_OK

ArrêtEtape_1

Publication 1756-PM001E-FR-P - Août 2002

Page 73: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-29

Arrêt d’un équipement à la fin d’une étape

Lorsque le SFC quitte une étape, vous avez plusieurs options pour arrêter les équipements que l’étape a démarrés.

Pour chaque option, vous devez effectuer les choix suivants :

1. Choisir une option de dernière scrutation.

2. Suivant l’option de dernière scrutation choisie, développer votre logique pour que la dernière scrutation remette les données aux valeurs souhaitées.

Choisir une option de dernière scrutation

A la dernière scrutation de chaque étape, vous avez plusieurs possibilités. L’option choisie s’applique à toutes les étapes de tous les SFC de cet automate.

laisser l’automate effacer automatiquement les données

utiliser la logique pour effacer les données

Réinitialisation automatiqueRéinitialisation par programme

Pour Et à la dernière scrutation d’une étape Alors Voir

contrôler les données à effacer

exécuter uniquement les actions P et P0 et les utiliser pour effacer les données requises

Utiliser l’option de non scrutation page 4-31

exécuter toutes les actions et utiliser l’une de ces options pour effacer les données requises :

• bits d’état de l’étape ou action pour conditionner la logique ;

• actions P et P0.

Utiliser l’option de réinitialisation par programme

page 4-32

laisser l’automate effacer les données

Utiliser l’option de réinitialisation automatique

page 4-34

Publication 1756-PM001E-FR-P - Août 2002

Page 74: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-30 Conception d’un graphe de fonctionnement séquentiel

Le tableau suivant compare les différentes options de traitement de la dernière scrutation d’une étape :

Caractéristique Pendant la dernière scrutation d’une étape, cette option fait ce qui suit :

Don’t scan (Ne pas scruter)

Programmatic reset (Réinitialisation par programme)

Automatic reset (Réinitialisation automatique)

exécution des actions Seules les actions P et P0 sont exécutées. Elles sont exécutées en fonction de leur logique.

Toutes les actions sont exécutées en fonction de leur logique.

• Les actions P et P0 sont exécutées en fonction de leur logique.

• Toutes les autres actions sont exécutées en mode post-scrutation.

• Lors de la scrutation du sous-programme la fois suivante, les actions P et P0 sont exécutées en mode post-scrutation.

maintien des valeurs des données

Toutes les données gardent leurs valeurs en cours.

Toutes les données gardent leurs valeurs en cours.

• Les données reviennent à leurs valeurs pour la post-scrutation.

• Les points à gauche des affectations [:=] sont mis à zéro.

méthode pour effacer les données

Utilise les actions P et P0. Utilise l’une des options suivantes :

• les bits d’état de l’étape ou une action pour conditionner la logique ;

• les actions P et P0

Utilise l’une des options suivantes :• une affectation [:=] (affectation non

rémanente)• des instructions qui effacent leurs

données pendant la post-scrutation

réinitialisation d’un SFC imbriqué

Un SFC imbriqué reste à son étape en cours.

Un SFC imbriqué reste à son étape en cours.

Pour la propriété de Restart Position (Position de redémarrage), si vous sélectionnez l’option Restart at initial step (Redémarrer à l’étape initiale), alors :

• un SFC imbriqué est repositionné à son étape initiale ;

• le bit X d’un élément d’arrêt, dans un SFC, imbriqué est mis à zéro.

Publication 1756-PM001E-FR-P - Août 2002

Page 75: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-31

Utiliser l’option de non scrutation

L’option par défaut pour le traitement de la dernière scrutation d’une étape est Don’t scan (Ne pas scruter). Avec cette option, toutes les données gardent leurs valeurs en cours lorsque le SFC quitte l’étape. Vous devez par conséquent utiliser des affectations ou des instructions supplémentaires pour effacer les données que vous voulez désactiver à la fin d’une étape.

Pour arrêter un équipement à la fin d’une étape :

1. Vérifiez que l’option Don’t scan (Ne pas scruter) (option par défaut) de la propriété Last Scan of Active Steps (Dernière scrutation des étapes actives) est sélectionnée.

2. Utilisez une action Impulsion P0 (front descendant) pour effacer les données souhaitées. Assurez-vous que l’action ou les actions P0 sont les dernières dans l’ordre des actions de l’étape.

Pendant la dernière scrutation de l’étape, l’option Don’t scan (Ne pas scruter) exécute uniquement les actions P et P0. Les affectations et les instructions des actions sont exécutées en fonction de leurs conditions dans la logique.

• L’automate n’exécute pas de post-scrutation des affectations ou des instructions.

• Lorsque le SFC quitte l’étape, toutes les données gardent leurs valeurs en cours.

L’exemple suivant utilise une action pour démarrer un convoyeur au début d’une étape. Une action différente arrête le convoyeur à la fin de l’étape.

EXEMPLE Utiliser l’option de non scrutation

Cette action démarre le convoyeur. Lorsque conveyor_state est activé, le convoyeur démarre.

Avant que le SFC ne quitte l’étape, l’action P0 arrête le convoyeur. Lors de la dernière scrutation de l’étape, conveyor_state est désactivé, ce qui arrête le convoyeur.

Publication 1756-PM001E-FR-P - Août 2002

Page 76: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-32 Conception d’un graphe de fonctionnement séquentiel

Utiliser l’option de réinitialisation par programme

Une autre méthode pour arrêter (désactiver) des équipements par programme à la fin d’une étape consiste à exécuter toutes les actions pendant la dernière scrutation de l’étape. Ceci vous permet d’exécuter votre logique normale et d’arrêter (désactiver) les équipements à la fin d’une étape.

1. Sélectionnez l’option Programmatic reset (Réinitialisation par programme) dans la fenêtre de propriétés Last Scan of Active Steps (Dernière scrutation des étapes actives).

2. Effacez les données requises de l’une des façons suivantes :• ajoutez à votre logique normale une logique qui efface les données

requises. Utilisez le bit LS de l’étape ou le bit Q de l’action pour conditionner l’exécution de la logique ;

• utilisez une action Impulsion P0 (front descendant) pour effacer les données requises. Assurez-vous que l’action ou les actions P0 sont les dernières dans l’ordre des actions de l’étape.

Lors de la dernière scrutation de l’étape, l’option Programmatic reset (Réinitialisation par programme) exécute toutes les affectations et les instructions en fonction des conditions de la logique.

• L’automate n’effectue pas de post-scrutation des affectations ou des instructions.

• Lorsque le SFC quitte l’étape, toutes les données gardent leurs valeurs en cours.

L’exemple suivant utilise une seule action pour démarrer et arrêter un convoyeur. Le bit LS de l’étape conditionne l’exécution de la logique. Voir « Structure SFC_STEP », page 4-8.

EXEMPLE Utiliser l’option de réinitialisation par programme et du bit LS

Tant que l’étape n’en est pas à sa dernière scrutation (conveyor_fwd.LS = 0), cette instruction active conveyor_state. Lorsque conveyor_state est activé, le convoyeur démarre.

Lors de la dernière scrutation de l’étape (conveyor_fwd.LS = 1), cette instruction désactive conveyor_state. Lorsque conveyor_state est désactivé, le convoyeur s’arrête.

Publication 1756-PM001E-FR-P - Août 2002

Page 77: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-33

Pour une action utilisant l’un des qualificateurs stockés, utilisez le bit Q de l’action pour conditionner votre logique. Voir « Structure SFC_ACTION », page 4-19.

Vous pouvez aussi utiliser une action Impulsion P0 (front descendant) pour effacer les données. L’exemple suivant utilise une action pour démarrer un convoyeur au début d’une étape. Une action différente arrête le convoyeur à la fin de l’étape.

EXEMPLE Utiliser l’option de réinitialisation par programme et du bit Q

Tant que l’action n’en est pas à sa dernière scrutation (conveyor_start.Q = 1), cette instruction active conveyor_state. Lorsque conveyor_state est activé, le convoyeur démarre.

Lors de la dernière scrutation de l’action (conveyor_start.Q = 0), cette instruction désactive conveyor_state. Lorsque conveyor_state est désactivé, le convoyeur s’arrête.

EXEMPLE Utiliser l’option de réinitialisation par programme et d’une action P0

Cette action démarre le convoyeur. Lorsque conveyor_state est activé, le convoyeur démarre.

Avant que le SFC ne quitte l’étape, l’action P0 arrête le convoyeur. Lors de la dernière scrutation de l’étape, conveyor_state est désactivé, ce qui arrête le convoyeur.

Publication 1756-PM001E-FR-P - Août 2002

Page 78: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-34 Conception d’un graphe de fonctionnement séquentiel

Utiliser l’option de réinitialisation automatique

Pour arrêter (désactiver) automatiquement un équipement à la fin d’une étape :

1. Sélectionnez l’option Automatic reset (Réinitialisation automatique) dans la fenêtre de propriétés Last Scan of Active Steps (Dernière scrutation des étapes actives).

2. Pour arrêter un équipement à la fin d’une étape, commandez l’état d’un équipement avec une affectation ou une instruction, telle que :• une affectation [:=] (affectation non rémanente) ;• une instruction d’activation de sortie (OTE) dans un

sous-programme.

Lors de la dernière scrutation de chaque étape, l’option Automatic reset (Réinitialisation automatique) :

• exécute des actions P et P0 en fonction de leurs conditions dans la logique ;

• efface les points situés à gauche des affectations [:=] ;• exécute une post-scrutation du texte structuré incorporé ;• exécute une post-scrutation de tout sous-programme appelé par une

action au moyen d’une instruction JSR (Saut vers sous-programme) ;• réinitialise tout SFC imbriqué (SFC appelé par une action comme un

sous-programme).

En règle générale, la post-scrutation exécute les instructions comme si toutes les conditions étaient fausses. Par exemple, l’instruction d’activation de sortie (OTE) efface ses données pendant la post-scrutation.

Certaines instructions ne suivent pas la règle générale pendant la post-scrutation. Pour une description du fonctionnement d’une instruction précise pendant la post-scrutation, consultez les manuels suivants :

• Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003)

• Logix5000 Controllers Process and Drives Instructions Reference Manual (publication 1756-RM006)

• Logix5000 Controllers Motion Instruction Set Reference Manual (publication 1756-RM007)

IMPORTANT La post-scrutation d’une action a lieu lorsque l’action passe d’active à inactive. Selon le qualificateur de l’action, la post-scrutation peut avoir lieu avant ou après la dernière scrutation de l’étape.

Publication 1756-PM001E-FR-P - Août 2002

Page 79: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-35

Voici un exemple utilisant une affectation non rémanente pour commander un convoyeur. Elle démarre un convoyeur au début d’une étape et l’arrête automatiquement lorsque l’étape est terminée.

Garder un équipement actif d’une étape à une autre

Comment souhaitez-vous commander l’équipement ?

Pour une commande sans à-coups d’un équipement plus d’une fois ou d’une phase (étape), procédez comme suit :

EXEMPLE Effacement automatique des données

Cette action démarre le convoyeur. Lorsque conveyor_state est activé, le convoyeur démarre.

Lorsque le SFC quitte l’étape, conveyor_state est désactivé, ce qui arrête le convoyeur.

Option Exemple

Utiliser une branche simultanée

Créez une étape séparée qui commande l’équipement.

Stocker et réinitialiser une action

Notez l’étape qui démarre l’équipement et celle qui l’arrête.

Définissez ensuite une action de stockage et de réinitialisation pour commander l’équipement.

Utiliser une grande étape

Utilisez une grande étape contenant toutes les actions qui se déroulent pendant que l’équipement est activé.

Commande duventilateur

Nettoyage

Peinture

Transf_Entr

Transf_Sort

Démarrer le ventilateur

Nettoyage

Peinture

Arrêter le ventilateur

Transf_Entr

Transf_Sort

Transférer, peindre, nettoyer, transférer, commander le ventilateur

Peinture

Publication 1756-PM001E-FR-P - Août 2002

Page 80: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-36 Conception d’un graphe de fonctionnement séquentiel

Utiliser une branche simultanée

Une façon simple de commander un ou plusieurs équipements pendant une étape ou plus consiste à créer une étape séparée pour les équipements et à utiliser ensuite une branche simultanée pour exécuter l’étape pendant le reste du procédé.

Voici un exemple :

EXEMPLE Une opération de peinture se décompose comme suit :

1. transfert du produit dans l’atelier de peinture ;2. peinture du produit avec 3 pistolets différents ;3. nettoyage des pistolets.4. transfert du produit dans l’étuve.

Le système doit commander les ventilateurs de l’atelier pendant toute la durée du procédé.

Solution :

Commande duventilateur

Nettoyage

Ventilation Charg_ElecDébit_Peint

Transf_Entr

Transf_Sort

Publication 1756-PM001E-FR-P - Août 2002

Page 81: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-37

Stocker et réinitialiser une action

En principe, une action s’arrête (arrêt de l’exécution) lorsque le SFC passe à l’étape suivante. Pour garder un équipement actif d’une étape à une autre sans à-coups, stockez l’action qui commande l’équipement :

1. Dans l’étape qui démarre l’équipement, attribuez un qualificateur stocké à l’action qui commande l’équipement. Pour consulter la liste des qualificateurs stockés, voir le Tableau 4.1, page 4-21.

2. Dans l’étape qui arrête l’équipement, utilisez une action de réinitialisation (Reset).

La figure suivante décrit l’utilisation d’une action stockée.

Lorsque le SFC quitte l’étape qui stocke l’action, le logiciel RSLogix 5000 continue d’indiquer l’action stockée comme active (l’action est entourée par défaut par un cadre vert). Ceci vous indique que le SFC exécute la logique de cette action.

Pour utiliser une action stockée, observez les directives suivantes :

• L’action de réinitialisation (Reset) arrête uniquement l’action stockée. Elle n’arrête pas automatiquement les équipements de l’action. Pour arrêter l’équipement, faites suivre l’action Reset par une autre action qui arrête l’équipement ou utilisez l’option de réinitialisation automatique (Automatic reset) décrite page 4-34.

• Faites attention lorsque vous effectuez des sauts entre une étape qui stocke une action et une étape qui réinitialise cette action. Une fois que vous avez réinitialisé une action, elle démarre uniquement lorsque vous exécutez l’étape qui stocke cette action.

Nom_de_l’action

Etape qui commence l’action

S

Action que vous souhaitez exécuter pendant plusieurs étapes

Autres étapes

Même nom que l’action stockée

R Nom_de_l’action

Etape qui arrête l’action

Publication 1756-PM001E-FR-P - Août 2002

Page 82: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-38 Conception d’un graphe de fonctionnement séquentiel

Dans l’exemple suivant, les étapes 1 à 4 requièrent un ventilateur en fonctionnement. A la fin de l’étape_4, le ventilateur est réinitialisé (arrêté). Lorsque le SFC revient à l’étape_3, le ventilateur reste arrêté.

Pour redémarrer le ventilateur, le SFC doit revenir à l’étape_1.

démarrer le ventilateur (stocké)

arrêter le ventilateur (réinitialiser)

étape_1

étape_2

étape_3

étape_4

Publication 1756-PM001E-FR-P - Août 2002

Page 83: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-39

Utiliser une grande étape

Si vous utilisez une grande étape comportant plusieurs fonctions, utilisez une logique supplémentaire pour ordonner les fonctions. Vous pouvez par exemple imbriquer un SFC dans la grande étape.

Dans l’exemple suivant, une étape démarre un ventilateur, puis appelle un autre SFC. Le SFC imbriqué ordonne les fonctions restantes de l’étape. Le ventilateur reste en fonctionnement durant toutes les étapes du SFC imbriqué.

Pour de plus amples informations sur l’imbrication d’un SFC, voir « Imbrication d’un SFC », page 4-43.

EXEMPLE Utiliser une grande étape

Cette action démarre un ventilateur :• fan.ProgProgReq permet au SFC de commander

l’état du ventilateur.• fan.ProgCommand démarre le ventilateur.

Le ventilateur reste en fonctionnement pendant toute la durée de l’étape.

Cette action appelle un autre SFC. Le SFC ordonne les fonctions restantes de l’étape.

Publication 1756-PM001E-FR-P - Août 2002

Page 84: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-40 Conception d’un graphe de fonctionnement séquentiel

Fin du SFC Une fois qu’un SFC a terminé sa dernière étape, il ne redémarre pas automatiquement à la première étape. Vous devez indiquer au SFC ce qu’il doit faire lorsqu’il termine sa dernière étape.

Que souhaitez-vous faire à la fin du SFC ?

Utiliser un élément d’arrêt

L’élément d’arrêt vous permet d’arrêter l’exécution de la totalité d’un SFC ou du chemin d’une branche simultanée et d’attendre pour redémarrer. Lorsqu’un SFC atteint un élément d’arrêt, voilà ce qui se produit :

• le bit X de l’élément d’arrêt est activé. Ce signal indique que le SFC a atteint l’élément d’arrêt ;

• l’exécution d’une partie ou de la totalité du SFC est arrêtée :

Pour Faire ceci

revenir automatiquement à une étape précédente

Relier la dernière transition au début de l’étape à laquelle vous voulez aller.

Voir « Liaison avec une étape précédente », page 4-16.

arrêter et attendre une commande pour redémarrer

Utiliser un élément d’arrêt.

Voir « Utiliser un élément d’arrêt », page 4-40.

Si l’élément d’arrêt est à la fin Alors

d’une séquence le SFC s’arrête complètement

d’une branche de sélection

d’un chemin dans une branche simultanée seul ce chemin s’arrête et le reste du SFC continue son exécution

EXEMPLE Utiliser un élément d’arrêt

Lorsque le SFC atteint la dernière_étape et que procédé_terminé est vrai, l’exécution du SFC s’arrête.

Publication 1756-PM001E-FR-P - Août 2002

Page 85: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-41

Redémarrer (positionner) le SFC

Une fois l’élément d’arrêt atteint, vous avez plusieurs possibilités pour redémarrer le SFC :

L’exemple suivant décrit l’utilisation d’une instruction de positionnement SFC (SFR) pour redémarrer le SFC et effacer le bit X de l’élément d’arrêt.

Si le SFC est Et si l’option sélectionnée dans Last Scan of Active Step (Dernière scrutation des étapes actives) est

Alors

imbriqué (un autre SFC appelle ce SFC comme un sous-programme)

Automatic reset (Réinitialisation automatique)

A la fin de l’étape qui appelle le SFC imbriqué, ce dernier est automatiquement réinitialisé :

• le SFC imbriqué est repositionné à son étape initiale ;• le bit X de l’élément d’arrêt dans le SFC imbriqué est

mis à zéro.

Programmatic reset (Réinitialisation par programme)

1. Utilisez une instruction de positionnement SFC (SFR) pour redémarrer le SFC à l’étape souhaitée.

2. Utilisez la logique pour effacer le bit X de l’élément d’arrêt.Don’t scan (Ne pas scruter)

NON imbriqué (aucun SFC n’appelle ce SFC comme un sous-programme)

1. Utilisez une instruction de positionnement SFC (SFR) pour redémarrer le SFC à l’étape souhaitée.

2. Utilisez la logique pour effacer le bit X de l’élément d’arrêt.

EXEMPLE Redémarrer (positionner) le SFC

Si SFC_a_stop.X = activé (SFC_a atteint l’élément d’arrêt) et SFC_a_reset = activé (moment de réinitialisation du SFC), alors pour une scrutation (ons[0] = activé) :

Repositionner SFC_a à l’étape SFC_a_Step_1

SFC_a_stop.X = 0

Publication 1756-PM001E-FR-P - Août 2002

Page 86: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-42 Conception d’un graphe de fonctionnement séquentiel

Structure SFC_STOP

Chaque arrêt utilise un point pour fournir les informations suivantes sur l’élément d’arrêt :

Pour Cochez ou activez ce membre

Type de données

Détails

déterminer quand le SFC a atteint l’élément d’arrêt

X BOOL • Lorsque le SFC atteint l’élément d’arrêt, le bit X est activé.

• Le bit X est effacé si vous configurez les SFC pour redémarrer à l’étape initiale et si l’automate passe du mode Programme au mode Exécution.

• Dans un SFC imbriqué, le bit X est également effacé si vous configurez les SFC pour une réinitialisation automatique et si le SFC quitte l’étape qui appelle le SFC imbriqué.

déterminer la cible d’une instruction de positionnement SFC (SFR)

Reset BOOL Une instruction de positionnement SFC (SFR) positionne le SFC à une étape ou à un arrêt indiqué(e) par l’instruction.

• Le bit de réinitialisation (Reset) indique à quelle étape ou à quel arrêt le SFC recommencera son exécution.

• Une fois que le SFC est de nouveau en cours d’exécution, le bit de réinitialisation est effacé.

déterminer combien de fois un élément d’arrêt est devenu actif

Count DINT Il ne s’agit pas du nombre de scrutations de l’arrêt.• Le compteur augmente de un chaque fois que l’arrêt

devient actif.• Il augmente de nouveau seulement si l’arrêt est devenu

inactif puis de nouveau actif.• Le compteur n’est réinitialisé que si vous avez configuré le

SFC pour qu’il recommence à l’étape initiale. Avec cette configuration, il est réinitialisé lorsque l’automate passe du mode Programme au mode Exécution.

utiliser un point pour les différents bits d’état de cet arrêt

Status DINT Pour ce membre Utilisez ce bit

Reset 22

X 31

Publication 1756-PM001E-FR-P - Août 2002

Page 87: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-43

Imbrication d’un SFC L’une des méthodes pour organiser votre projet consiste à créer un SFC qui fournit une vue d’ensemble de votre procédé. Chaque étape de ce SFC appelle un autre SFC qui exécute les procédures détaillées de l’étape (SFC imbriqué).

La figure suivante montre une façon d’imbriquer un SFC. Dans cette méthode, l’option de dernière scrutation du SFC est Programmatic reset (Réinitialisation par programme) ou Don’t scan (Ne pas scruter). Si vous configurez le SFC avec l’option Automatic reset (Réinitialisation automatique), l’étape 1 n’est pas nécessaire.

1. Réinitialisation du SFC imbriqué :

• l’instruction SFR redémarre le SFC_b à l’étape 1 : SFC_b_Step_1. Chaque fois que SFC_a quitte cette étape, puis y revient, vous devez réinitialiser SFC_b ;

• l’action efface également le bit X de l’élément d’arrêt.

2. Appel du SFC_b.

3. Arrêt du SFC_b. Ceci active le bit X de l’élément d’arrêt.

4. Utilisation du bit X de l’élément d’arrêt pour indiquer que le SFC_b est terminé et qu’il est temps de passer à l’étape suivante.

1

2

4

3

SFC_b

SFC_a

Publication 1756-PM001E-FR-P - Août 2002

Page 88: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-44 Conception d’un graphe de fonctionnement séquentiel

Entrée ou sortie de paramètres

Pour faire entrer ou sortir des paramètres dans un/d’un SFC, placez un sous-programme/élément de retour dans le SFC.

Configuration du retour au SE/JSR

Un SFC exécute par défaut une étape ou un groupe d’étapes simultanées, puis revient au système d’exploitation (SE) ou au sous-programme appelant (JSR).

Vous pouvez laisser le SFC s’exécuter jusqu’à ce qu’il atteigne une transition fausse. Si plusieurs transitions sont vraies en même temps, cette option réduit le temps nécessaire pour aller à l’étape requise.

Utilisez l’option Execute until FALSE transition (Exécuter jusqu’à une transition FAUSSE) uniquement quand :

1. Vous n’avez pas besoin de mettre à jour les paramètres du sous-programme appelant avant chaque étape. Les paramètres sont mis à jour uniquement lorsque le SFC revient au sous-programme appelant. Voir « Entrée ou sortie de paramètres », page 4-44.

2. Une transition fausse se produit dans le chien de garde de la tâche. Si le temps nécessaire pour revenir à un sous-programme appelant et pour terminer la tâche est supérieur au chien de garde, un défaut majeur se produit.

Pour un diagramme détaillé de l’exécution de chaque option, voir la Figure 4.9, page 4-48.

Paramètres d’entrée

Paramètres de retour

❇ ❇

SFC_b

par défaut

Publication 1756-PM001E-FR-P - Août 2002

Page 89: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-45

Pause ou positionnement d’un SFC

Deux instructions vous permettent de commander plus précisément l’exécution de votre SFC:

Ces deux instructions sont disponibles dans les langages de programmation logique à relais et texte structuré.

Pour de plus amples informations, utilisez l’une des sources d’aide suivantes :

• dans le menu Help (Aide) du logiciel RSLogix 5000, sélectionnez Instruction Help (Aide sur les instructions). Consultez la rubrique Program Control Instructions (Instructions Contrôle de Programme).

• Voir Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003).

Diagrammes d’exécution Les diagrammes suivants montrent l’exécution d’un SFC avec différentes organisations d’étapes ou différentes options d’exécution. Pour bien comprendre l’exécution de votre SFC, utilisez ces diagrammes.

Pour Utilisez cette instruction

mettre un SFC en pause Pause SFC (SFP)

positionner un SFC à une étape précise ou l’arrêter Positionnement SFC (SFR)

Pour le diagramme suivant Voir page

Exécution d’une séquence 4-46

Exécution d’une branche simultanée 4-47

Exécution d’une branche de sélection 4-48

Entrée et sortie de paramètres dans un/d’un SFC 4-48

Options de contrôle d’exécution (Execution Control) 4-48

Publication 1756-PM001E-FR-P - Août 2002

Page 90: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-46 Conception d’un graphe de fonctionnement séquentiel

Figure 4.5 Exécution d’une séquence

étape_2 dernière scrutation

faux retour auSE/JSR

retour auSE/JSR

vrai

étape_1

retour auSE/JSR

vrai

faux retour auSE/JSR

étape_1

tran_2

étape_2

tran_1

Ceci… …est exécuté ainsi

tran_1

tran_2

dernière scrutationétape_1

étape_2

Publication 1756-PM001E-FR-P - Août 2002

Page 91: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-47

Figure 4.6 Exécution d’une branche simultanée

étape_1

faux retour auSE/JSR

faux retour auSE/JSR

retour auSE/JSR

vrai

étape_1

vrai

faux

étape_3

retour auSE/JSR

étape_1

tran_2

étape_2 étape_3

étape_2

étape_2

retour auSE/JSR

vrai

étape_3

étape_2

étape_3

Ceci… …est exécuté ainsi

tran_1

tran_1

tran_2

tran_2

dernière scrutation

dernière scrutation

Publication 1756-PM001E-FR-P - Août 2002

Page 92: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-48 Conception d’un graphe de fonctionnement séquentiel

Figure 4.7 Exécution d’une branche de sélection

Figure 4.8 Entrée et sortie de paramètres dans un/d’un SFC

Figure 4.9 Options de contrôle d’exécution (Execution Control)

dernière scrutation

dernière scrutation

faux retour auSE/JSR

faux

retour auSE/JSR

vrai

étape_1

étape_1

retour auSE/JSR

vrai

faux retour auSE/JSR

étape_2

tran_2

étape_2

retour auSE/JSR

vrai

étape_1

étape_3

retour auSE/JSR

vrai

étape_3

faux

étape_1

étape_2 étape_3

tran_4

tran_1

tran_3retour auSE/JSR

Ceci… …est exécuté ainsi

tran_2

tran_3 tran_4

tran_1

dernière scrutation

retour auSE/JSR

vrai

faux

étape_1

retour auSE/JSR

étape_1

paramètres d’entrée

paramètres de retour

paramètres de retour

paramètres d’entrée

paramètres d’entrée

tran_1

Publication 1756-PM001E-FR-P - Août 2002

Page 93: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conception d’un graphe de fonctionnement séquentiel 4-49

dernière scrutation

dernière scrutation

faux retour auSE/JSR

retour auSE/JSR

vrai

étape_1

étape_1

retour auSE/JSR

vrai

faux

étape_2

retour auSE/JSR

étape_2

faux retour auSE/JSR

vrai

étape_1

étape_1

vrai

faux

étape_2

retour auSE/JSR

étape_2

Execute current active steps only(Exécuter uniquement les étapes actives en cours)

Execute until FALSE transition(Exécuter jusqu’à une transition FAUSSE)

étape_1

tran_2

étape_2

tran_1

Ceci…

…est exécuté ainsi

tran_2

faux retour auSE/JSRtran_1

tran_2

tran_1

Publication 1756-PM001E-FR-P - Août 2002

Page 94: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4-50 Conception d’un graphe de fonctionnement séquentiel

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 95: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 5

Programmation d’un graphe de fonctionnement séquentiel

Quand utiliser cette procédure

Utilisez cette procédure pour entrer un graphe de fonctionnement séquentiel (SFC) dans le logiciel RSLogix 5000. Entrez le SFC à mesure que vous le concevez. Vous pouvez également le concevoir d’abord et l’entrer ensuite. Pour concevoir un SFC, voir « Conception d’un graphe de fonctionnement séquentiel », page 4-1.

Avant d’utiliser cette procédure

Vous devez savoir effectuer les tâches suivantes :

Pour de plus amples informations sur l’une de ces tâches, voir « Organisation des tâches, programmes et sous-programmes », page 2-1.

Comment utiliser cette procédure

Les étapes de programmation d’un SFC sont les suivantes :

Ouvrir et fermer un dossier

Création d’un sous-programme✓

Ajout d’un élément SFC

Création d’une branche simultanée

Création d’une branche de sélection

Définition des priorités d’une branche de sélection

Retour à une étape précédente

Modification du nom d’une étape

Configuration d’une étape

Modification du nom d’une transition

Programmation d’une transition

Ajout d’une action

Modification du nom d’une action

Configuration d’une action

Programmation d’une action

Attribution de l’ordre d’exécution des actions

Documenter un SFC

Afficher ou masquer les zones de texte ou les descriptions de points

Configuration de l’exécution du SFC

Vérification du sous-programme

1 Publication 1756-PM001E-FR-P - Août 2002

Page 96: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-2 Programmation d’un graphe de fonctionnement séquentiel

Ajout d’un élément SFC Pour ajouter des éléments SFC, utilisez la barre d’outils SFC.

Pour ajouter un élément à votre SFC, vous avez différentes options :

Ajouter et connecter manuellement des éléments

1. Dans la barre d’outils SFC, cliquez sur le bouton correspondant à l’élément que vous voulez ajouter.

2. Faites glisser l’élément vers l’emplacement souhaité dans le SFC.

3. Pour relier (connecter) deux éléments ensemble, cliquez sur la borne de l’un des éléments , puis sur celle de l’autre élément . Un point vert indique un point de connexion valable.

étape

transition

début de branche simultanée

étape et transition

début de branchede sélection

sous-programme/retour

zone de texte

arrêt

nouveauchemin

Ajouter et connecter manuellement des éléments

Ajouter et connecter automatiquement des éléments

Glisser-déplacer des éléments

point vert

A

B

Par exemple :

A B

Publication 1756-PM001E-FR-P - Août 2002

Page 97: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-3

Ajouter et connecter automatiquement des éléments

1. Sélectionnez (cliquez sur) l’élément auquel vous voulez connecter un nouvel élément.

2. L’élément étant toujours sélectionné, cliquez sur le bouton correspondant à l’élément à ajouter, dans la barre d’outils.

Glisser-déplacer des éléments

Dans la barre d’outils SFC, faites glisser le bouton correspondant à l’élément requis vers le point de connexion souhaité dans le SFC. Un point vert indique un point de connexion valable.

point vert

Publication 1756-PM001E-FR-P - Août 2002

Page 98: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-4 Programmation d’un graphe de fonctionnement séquentiel

Création d’une branche simultanée

Commencer une branche simultanée

1. Dans la barre d’outils SFC, cliquez sur le bouton . Faites ensuite glisser la nouvelle branche vers l’emplacement souhaité.

2. Pour ajouter un chemin vers la nouvelle branche, sélectionnez (cliquez sur) la première étape du chemin, à gauche de l’endroit où vous voulez

ajouter le nouveau chemin. Cliquez ensuite sur le bouton .

3. Pour relier la branche simultanée à la transition précédente, cliquez sur la borne située au bas de la transition , puis sur la ligne horizontale de la branche . Un point vert indique un point de connexion valable.

Terminer une branche simultanée

1. Sélectionnez la dernière étape de chaque chemin de la branche. Pour sélectionner les étapes, vous pouvez :

• cliquer et faire glisser le pointeur autour des étapes à sélectionner ;• cliquer sur la première étape, maintenir la touche [Maj] enfoncée, puis

cliquer sur les autres étapes à sélectionner.

2. Dans la barre d’outils SFC, cliquez sur le bouton .

A

B

point vert

A

B

Publication 1756-PM001E-FR-P - Août 2002

Page 99: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-5

3. Ajoutez la transition qui suit la branche simultanée.

4. Pour relier la branche simultanée à la transition, cliquez sur la borne supérieure de la transition , puis sur la ligne horizontale de la branche

. Un point vert indique un point de connexion valable.

Création d’une branche de sélection

Commencer une branche de sélection

1. Dans la barre d’outils SFC, cliquez sur le bouton . Faites ensuite glisser la nouvelle branche vers l’emplacement souhaité.

2. Pour ajouter un chemin vers la nouvelle branche, sélectionnez (cliquez sur) la première transition du chemin à gauche de l’emplacement où vous voulez ajouter le nouveau chemin. Cliquez ensuite sur le bouton

.

3. Pour relier la branche de sélection à l’étape précédente, cliquez sur la borne inférieure de l’étape , puis sur la ligne horizontale de la branche . Un point vert indique un point de connexion valable.

A

B

point vert

A

B

A

B

point vert

A

B

Publication 1756-PM001E-FR-P - Août 2002

Page 100: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-6 Programmation d’un graphe de fonctionnement séquentiel

Terminer une branche de sélection

1. Sélectionnez la dernière transition de chaque chemin de la branche. Pour sélectionner les transitions, vous pouvez :

• cliquer et faire glisser le pointeur autour des transitions à sélectionner ;

• cliquer sur la première transition, maintenir la touche [Maj] enfoncée, puis cliquer sur les autres transitions à sélectionner.

2. Dans la barre d’outils SFC, cliquez sur le bouton .

3. Ajoutez l’étape qui suit la branche de sélection.

4. Pour relier la branche de sélection à l’étape, cliquez sur la borne supérieure de l’étape , puis sur la ligne horizontale de la branche . Un point vert indique un point de connexion valable.

A

B

point vert

A B

Publication 1756-PM001E-FR-P - Août 2002

Page 101: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-7

Définition des priorités d’une branche de sélection

Le SFC vérifie par défaut de gauche à droite les transitions qui commencent une branche de sélection. Si vous voulez vérifier une autre transition en premier, attribuez une priorité à chaque chemin de la branche de sélection. Par exemple, il est bon de commencer par vérifier les conditions d’erreur, puis de vérifier les conditions normales.

Pour attribuer des priorités à une branche de sélection :

1. Cliquez avec le bouton droit de la souris sur la ligne horizontale qui commence la branche et sélectionnez Set Sequence Priorities (Définir les priorités d’une séquence).

2. Désactivez (supprimez la coche) la case Use default priorities (Utiliser les priorités par défaut).

3. Sélectionnez une transition.

4. Utilisez les boutons Move (Déplacer) pour augmenter ou diminuer la priorité de la transition.

5. Lorsque toutes les transitions ont la priorité désirée, cliquez sur

.

Lorsque vous désactivez (supprimez la coche) la case Use default priorities, des nombres indiquent la priorité de chaque transition.

3.

2.

4.

Publication 1756-PM001E-FR-P - Août 2002

Page 102: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-8 Programmation d’un graphe de fonctionnement séquentiel

Retour à une étape précédente

Pour sauter à une autre étape de votre SFC :

• Connecter une liaison à une étape• Masquer une liaison• Afficher une liaison masquée

Connecter une liaison à une étape

1. Cliquez sur la borne inférieure de la transition qui indique le saut, puis sur la borne supérieure de l’étape à laquelle vous voulez aller. Un point vert indique un point de connexion valable.

En principe, la connexion qui résulte de cette opération s’oriente au milieu de l’organigramme, ce qui la rend difficile à voir.

2. Pour faciliter le lecture du saut, faites glisser la barre horizontale au-dessus de l’étape vers laquelle il est dirigé. Vous devrez peut-être repositionner certains des éléments du SFC.

Par exemple, pour aller à Step_001 à partir de Tran_003 :

Faites glisser la barre horizontale ici.

Cliquez ici.

point vert

Puis cliquez ici.

1. 2.

Publication 1756-PM001E-FR-P - Août 2002

Page 103: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-9

Masquer une liaison

Si une liaison gêne la lecture d’autres éléments de votre SFC, masquez-la pour faciliter la lecture du SFC.

Pour masquer une liaison, cliquez sur la liaison avec le bouton droit de la souris et sélectionnez Hide Wire (Masquer la liaison).

Pour afficher l’élément du SFC vers lequel va la liaison, cliquez sur la grille au niveau de la liaison.

Afficher une liaison masquée

Pour afficher une liaison masquée, cliquez avec le bouton droit de la souris sur une partie visible de la liaison et sélectionnez Show Wire (Afficher la liaison).

Emplacement vers lequel va la liaison

Liaison masquée

Publication 1756-PM001E-FR-P - Août 2002

Page 104: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-10 Programmation d’un graphe de fonctionnement séquentiel

Modification du nom d’une étape

Chaque étape utilise un point pour stocker les informations sur sa configuration et son état. Pour renommer le point d’une étape :

1. Cliquez sur le bouton de l’étape.

2. Cliquez sur l’onglet Tag (Point).

3. Entrez le nouveau nom de l’étape (point).

4. Cliquez sur

Configuration d’une étape Pour configurer une étape, vous avez différentes options :

• Attribuer un temps de présélection à une étape• Configurer des alarmes dans une étape• Utiliser une expression pour calculer une durée

Attribuer un temps de présélection à une étape

1. Cliquez sur le bouton de l’étape.

2. Entrez la durée de l’étape (en millisecondes).

3. Cliquez sur

Lorsque l’étape est active pendant la durée prédéfinie (Timer = Preset), le bit DN de l’étape est activé.

Pour calculer la durée prédéfinie d’exécution d’une étape, voir « Utiliser une expression pour calculer une durée », page 5-11.

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 105: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-11

Configurer des alarmes dans une étape

Pour activer une alarme si une étape est exécutée trop ou pas assez longtemps :

1. Cliquez sur le bouton de l’étape.

2. Cochez la case AlarmEnable (Alarme activée).

3. Entrez le temps de déclenchement de l’alarme haute (en millisecondes).

4. Entrez temps de déclenchement de l’alarme basse (en millisecondes).

5. Cliquez sur

Pour calculer le temps de déclenchement d’une alarme lors de l’exécution, voir « Utiliser une expression pour calculer une durée », page 5-11.

Utiliser une expression pour calculer une durée

Pour calculer une durée sur la base des points de votre projet, entrez la durée sous la forme d’une expression numérique. Vous pouvez utiliser une expression pour calculer les durées suivantes :

• Preset (durée prédéfinie)• LimitHigh (limite haute)• LimitLow (limite basse)

Pour entrer une durée comme une expression :

1. Cliquez sur le bouton de l’étape.

2. Sélectionnez (cochez) la case Use Expression (Utiliser une expression).

2.

3.

4.

2.

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 106: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-12 Programmation d’un graphe de fonctionnement séquentiel

3. Cliquez sur le bouton Define (Définir).

4. Entrez une expression numérique qui définit la durée.• Utilisez les boutons situés sur le côté de la boîte de dialogue pour

vous aider à compléter l’expression.• Pour de plus amples informations sur les expressions numériques,

voir « Expressions », page 6-4.

5. Cliquez sur

6. Pour fermer la boîte de dialogue Step Properties (Propriétés de l’étape),

cliquez sur .

rechercher un point

choisir une fonction

choisir un opérateur

créer un point

4.

5.

Publication 1756-PM001E-FR-P - Août 2002

Page 107: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-13

Modification du nom d’une transition

Chaque transition utilise un point pour stocker son état. Pour renommer le point d’une transition :

1. Cliquez sur le bouton de la transition.

2. Cliquez sur l’onglet Tag (Point).

3. Entrez le nouveau nom de la transition (point).

4. Cliquez sur

Programmation d’une transition

Pour programmer une transition, vous avez différentes options :

• Entrer une expression booléenne• Appeler un sous-programme

Entrer une expression booléenne

La façon la plus simple de programmer la transition est d’entrer les conditions sous la forme d’une expression booléenne en texte structuré. Pour de plus amples informations sur les expressions booléennes, voir « Expressions », page 6-4.

1. Cliquez deux fois sur la zone de texte de la transition.

2. Entrez l’expression booléenne qui détermine quand la transition est vraie ou fausse.

3. Pour fermer la fenêtre de saisie du texte, appuyez sur les touches [Ctrl] + [Entrée].

3.

expression_booléenne

Publication 1756-PM001E-FR-P - Août 2002

Page 108: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-14 Programmation d’un graphe de fonctionnement séquentiel

L’exemple suivant montre trois transitions utilisant une expression booléenne.

Appeler un sous-programme

1. Cliquez sur la transition avec le bouton droit de la souris et sélectionnez Set JSR (Définir JSR).

2. Choisissez le sous-programme contenant la logique de la transition.

3. Cliquez sur

EXEMPLE Entrer une expression booléenne

Nom du point de la transition

Expression booléenne qui commande quandla transition est vraie ou fausse

2.

JSR(nom_sous-programme)

Publication 1756-PM001E-FR-P - Août 2002

Page 109: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-15

Ajout d’une action Pour ajouter une action à une étape :

Cliquez avec le bouton droit de la souris sur l’étape dans laquelle l’action doit être exécutée et sélectionnez Add Action (Ajouter une action).

Modification du nom d’une action

Pour modifier le nom d’une action et lui attribuer un nom propre à votre application :

1. Cliquez sur le bouton de l’action.

2. Cliquez sur l’onglet Tag (Point).

3. Entrez le nouveau nom de l’action (point).

4. Cliquez sur

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 110: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-16 Programmation d’un graphe de fonctionnement séquentiel

Configuration d’une action Pour configurer une action, vous avez différentes options :

• Changer le qualificateur d’une action• Calculer une durée prédéfinie d’exécution• Marquer une action comme action booléenne

Changer le qualificateur d’une action

Un qualificateur détermine quand une action commence et quand elle se termine. Le qualificateur par défaut est N Non stocké. L’action commence lorsque l’étape est activée et s’arrête lorsque l’étape est désactivée. Pour de plus amples informations, voir « Choix d’un qualificateur pour une action », page 4-21.

1. Cliquez sur le bouton de l’action.

2. Attribuez le qualificateur à l’action.

3. Si vous choisissez un qualificateur temporel, entrez la limite de temps ou le délai pour l’action (en millisecondes). Les qualificateurs temporels sont les suivants :• L Limité dans le temps• SL Stocké et limité dans le temps• D Différé• DS Différé et stocké• SD Stocké et différé

4. Cliquez sur

2.

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 111: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-17

Calculer une durée prédéfinie d’exécution

Pour calculer une valeur prédéfinie sur la base des points de votre projet, entrez la valeur sous la forme d’une expression numérique.

1. Cliquez sur le bouton de l’action.

2. Sélectionnez (cochez) la case Use Expression (Utiliser une expression).

3. Cliquez sur le bouton Define (Définir).

4. Entrez une expression numérique qui définit la durée prédéfinie.• Utilisez les boutons situés sur le côté de la boîte de dialogue pour

vous aider à compléter l’expression.• Pour de plus amples informations sur les expressions numériques,

voir « Expressions », page 6-4.

5. Cliquez sur

6. Pour fermer la boîte de dialogue Action Properties (Propriétés de l’action),

cliquez sur .

Marquer une action comme action booléenne

Utilisez une action booléenne pour activer un bit uniquement lorsque l’action est exécutée. Pour de plus amples informations, voir « Utiliser une action booléenne », page 4-18.

1. Cliquez sur le bouton de l’action.

2.

3.

rechercher un point

choisir une fonction

choisir un opérateur

créer un point

4.

5.

Publication 1756-PM001E-FR-P - Août 2002

Page 112: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-18 Programmation d’un graphe de fonctionnement séquentiel

2. Cliquez sur la case Boolean (Booléen).

3. Cliquez sur

Programmation d’une action

Pour programmer une action, vous avez différentes options :

• Entrer un texte structuré• Appeler un sous-programme

Entrer un texte structuré

La façon la plus simple de programmer une action est d’écrire la logique en texte structuré dans le corps de l’action. Lorsque l’action est activée, l’automate exécute le texte structuré.

1. Cliquez deux fois sur la zone de texte de l’action.

2. Entrez le texte structuré requis.

3. Pour fermer la fenêtre de saisie du texte, appuyez sur les touches [Ctrl] + [Entrée].

2.

//commentaireinstruction;instruction;

Publication 1756-PM001E-FR-P - Août 2002

Page 113: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-19

Pour obtenir des informations sur le texte structuré :

Appeler un sous-programme

Utilisez une instruction JSR (Saut vers sous-programme) pour exécuter un sous-programme lorsque l’action est active.

1. Dans le SFC, cliquez avec le bouton droit de la souris sur la zone de saisie du texte de l’action et sélectionnez Set JSR (Définir JSR).

2. Choisissez le sous-programme que vous voulez appeler.

3. Pour faire entrer un paramètre dans le sous-programme, cliquez sur la zone de texte vide Input Parameters (Paramètres d’entrée). Utilisez ensuite la flèche vers le bas pour sélectionner le point qui contient le paramètre.

4. Pour recevoir un paramètre du sous-programme, cliquez sur la zone de texte vide Return Parameters (Paramètres de retour). Utilisez ensuite la flèche vers le bas pour choisir le point dans lequel vous voulez stocker le paramètre provenant du sous-programme.

5. Cliquez sur

Pour ces informations sur le texte structuré Voir

informations générales sur les affectations, les opérateurs, les fonctions, les instructions ou les commentaires

« Programmation en texte structuré », page 6-1

informations sur une instruction particulière • Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003)

• Logix5000 Controllers Process and Drives Instructions Reference Manual (publication 1756-RM006)

• Logix5000 Controllers Motion Instruction Set Reference Manual (publication 1756-RM007)

2.

3. 4.

Publication 1756-PM001E-FR-P - Août 2002

Page 114: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-20 Programmation d’un graphe de fonctionnement séquentiel

Attribution de l’ordre d’exécution des actions

Les actions sont exécutées dans l’ordre dans lequel elles apparaissent.

Par exemple :

Pour changer l’ordre d’exécution d’une action, faites glisser l’action à l’emplacement souhaité dans la séquence. Une barre verte indique que l’emplacement est valable.

Par exemple :

Lorsque Step_003 est active, ses actions sont exécutées dans l’ordre suivant :

1. Action_0002. Action_0013. Action_002

Publication 1756-PM001E-FR-P - Août 2002

Page 115: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-21

Documenter un SFC Pour documenter un SFC, vous avez différentes options :

Ajouter des commentaires de texte structuré

Utilisez le tableau suivant pour ajouter vos commentaires :

Pour de plus amples informations, voir « Commentaires », page 6-27.

Pour entrer les commentaires :

Pour Et pour Faites ceci

ajouter des informations générales sur le SFC

Ajouter une zone de texte

renseigner sur une étape Ajouter une zone de texte-ou-Ajouter une description de point

renseigner sur une transition charger la documentation dans l’automate Ajouter des commentaires de texte structuré

pouvoir afficher ou masquer la documentation Ajouter une zone de texte-ou-Ajouter une description de pointplacer la documentation n’importe où dans le

SFC

renseigner sur une action charger la documentation dans l’automate Ajouter des commentaires de texte structuré

renseigner sur un arrêt Ajouter une zone de texte-ou-Ajouter une description de pointd’autres éléments (ex. : branche de

sélection)

Pour ajouter un commentaire Utilisez l’un des formats suivants

d’une seule ligne //commentaire

(*commentaire*)

/*commentaire*/

à la fin d’une ligne de texte structuré

dans une ligne de texte structuré (*commentaire*)

/*commentaire*/

sur plusieurs lignes (*début du commentaire . . . fin du commentaire*)

/*début du commentaire . . . fin du commentaire*/

Publication 1756-PM001E-FR-P - Août 2002

Page 116: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-22 Programmation d’un graphe de fonctionnement séquentiel

1. Cliquez deux fois sur la zone de texte de l’action.

2. Entrez les commentaires.

3. Pour fermer la fenêtre de saisie du texte, appuyez sur les touches [Ctrl] + [Entrée].

Ajouter une description de point

1. Cliquez sur le bouton de l’élément.

2. Cliquez sur l’onglet Tag (Point).

3. Entrez la description de l’élément (point).

4. Cliquez sur

5. Faites glisser la zone de description à l’emplacement souhaité dans le SFC.

//commentaireinstruction;instruction;

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 117: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-23

Ajouter une zone de texte

Une zone de texte vous permet d’ajouter des remarques qui renseignent sur la fonction d’un élément du SFC (étape, transition, arrêt, etc.). Vous pouvez également utiliser une zone de texte pour entrer des informations que vous utiliserez plus tard. Par exemple :

1. Cliquez sur

Une zone de texte apparaît.

2. Faites glisser la zone de texte près de l’élément auquel elle se rapporte.

3. Cliquez deux fois sur la zone de texte et entrez votre remarque. Appuyez ensuite sur les touches [Ctrl] + [Entrée].

4. Comment souhaitez-vous que la zone de texte se comporte quand vous déplacez des éléments dans le SFC ?

5. Cliquez sur la petite épingle dans la zone de texte, puis cliquez sur l’élément du SFC auquel vous voulez lier la zone de texte. Un point vert indique un point de connexion valable.

Pour que la zone de texte Alors

reste au même endroit Arrêtez. Vous avez terminé.

se déplace avec l’élément auquel elle se rapporte

Allez à l’étape 5.

A

B

point vert

Publication 1756-PM001E-FR-P - Août 2002

Page 118: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-24 Programmation d’un graphe de fonctionnement séquentiel

Afficher ou masquer les zones de texte ou les descriptions de points

Vous pouvez afficher ou masquer les zones de texte et les descriptions des points. Si vous choisissez d’afficher les descriptions, la fenêtre du SFC affiche uniquement la description des étapes, des transitions et des arrêts (pas celle des actions).

Pour afficher ou masquer les zones de texte ou les descriptions, vous pouvez :

• Afficher ou masquer les zone de texte ou les descriptions• Masquer la description d’un point individuel

Afficher ou masquer les zone de texte ou les descriptions

1. Dans le menu Tools (Outils), sélectionnez Options.

2. Sous SFC Editor (Editeur SFC), sélectionnez Display (Afficher).

3. Sélectionnez l’option souhaitée.

4. Cliquez sur

2.

Pour Alors

afficher les zones de texte et les descriptions cochez la case correspondante

masquer les zones de texte et les descriptions désactivez (supprimez la coche) la case correspondante

Publication 1756-PM001E-FR-P - Août 2002

Page 119: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-25

Masquer la description d’un point individuel

Pour masquer la description d’un élément particulier tout en affichant les autres descriptions :

1. Cliquez sur le bouton de l’élément dont vous voulez masquer la description.

2. Cochez la case Never display description in routine (Ne jamais afficher la description dans le sous-programme).

3. Cliquez sur

Pour afficher les autres descriptions, voir « Afficher ou masquer les zone de texte ou les descriptions », page 5-24.

Publication 1756-PM001E-FR-P - Août 2002

Page 120: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-26 Programmation d’un graphe de fonctionnement séquentiel

Configuration de l’exécution du SFC

L’onglet SFC Execution (Exécution du SFC) de la fenêtre des propriétés de l’automate vous permet de configurer les opérations suivantes :

• ce qu’il faut faire lorsqu’une transition est vraie ;• où redémarrer après une transition en mode Exécution ou une remise

en route après une coupure d’alimentation ;• ce qu’il faut faire lors de la dernière scrutation d’une étape.

1. Dans la barre d’outils Online (ou Offline), cliquez sur le bouton des propriétés de l’automate.

2. Cliquez sur l’onglet SFC Execution (Exécution du SFC).

3. Choisissez si le SFC doit revenir ou non au SE/JSR si une transition est vraie.

4. Choisissez où redémarrer le SFC après une transition en mode Exécution ou une remise en route après une coupure d’alimentation.

5. Choisissez ce qu’il faut faire à la dernière scrutation d’une étape.

6. Cliquez sur

1.

2.

3.

4.

5.

Publication 1756-PM001E-FR-P - Août 2002

Page 121: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un graphe de fonctionnement séquentiel 5-27

Vérification du sous-programme

Vérifiez régulièrement votre travail pendant la programmation de votre sous-programme :

1. Dans la barre d’outils supérieure de la fenêtre du logiciel RSLogix 5000,

cliquez sur l’icône .

2. Si des erreurs sont indiquées au bas de la fenêtre :a. appuyez sur la touche [F4] pour aller à la première erreur ou au

premier avertissement ;b. corrigez l’erreur selon la description donnée dans la fenêtre des

résultats (Results) ;c. retournez à l’étape 1.

3. Pour afficher la fenêtre des résultats, appuyez sur les touches [Alt] + [1].

Publication 1756-PM001E-FR-P - Août 2002

Page 122: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

5-28 Programmation d’un graphe de fonctionnement séquentiel

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 123: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 6

Programmation en texte structuré

Quand utiliser ce chapitre Utilisez ce chapitre pour écrire et saisir un texte structuré pour :

• un sous-programme en texte structuré ;• une action d’un graphe de fonctionnement séquentiel (SFC) ;• une transition d’un graphe de fonctionnement séquentiel (SFC).

Syntaxe du texte structuré Le texte structuré est un langage de programmation textuel qui utilise des instructions pour définir ce qui doit être exécuté.

• le texte structuré ne fait pas de distinction entre majuscules et minuscules ;

• utilisez des tabulations et des retours chariot (lignes séparées) pour faciliter la lecture de votre texte structuré : ils n’ont aucun effet sur l’exécution du texte structuré.

Le texte structuré peut contenir les composants suivants :

Terme Définition Exemples

affectation(voir page 6-2)

Utilisez une instruction d’affectation pour attribuer des valeurs à des points.L’opérateur := est l’opérateur d’affectation.Terminez l’affectation par un point-virgule « ; ».

point := expression;

expression(voir page 6-4)

Une expression fait partie d’une affectation complète ou d’une commande construite. Une expression se traduit par un nombre (expression numérique) ou par un état vrai ou faux (expression booléenne).

Une expression contient les éléments suivants :

des points Zone nommée de la mémoire où les données sont stockées (BOOL, SINT, INT, DINT, REAL, STRING).

valeur1

des immédiats Constante. 4

des opérateurs Symbole ou mnémonique qui définit une opération dans une expression.

point1 + point2point1 >= valeur1

des fonctions Lorsqu’elle est exécutée, une fonction donne une valeur. Mettez l’opérande d’une fonction entre parenthèses.

Bien que leurs syntaxes soient similaires, les fonctions diffèrent des instructions dans la mesure où les fonctions ne peuvent être utilisées que dans des expressions, alors que les instructions ne peuvent pas l’être.

fonction(point1)

1 Publication 1756-PM001E-FR-P - Août 2002

Page 124: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-2 Programmation en texte structuré

Affectations Utilisez une affectation pour changer la valeur stockée dans un point. La syntaxe d’une affectation est la suivante :

point := expression ;

où :

une instruction(voir page 6-10)

Instruction autonome.Dans une instruction, les opérandes sont entre parenthèses.Suivant l’instruction, il peut y avoir aucun, un ou plusieurs opérandes.Lorsqu’elle est exécutée, une instruction donne une ou plusieurs valeurs qui font partie d’une structure de données.Terminez l’instruction par un point-virgule « ; ».

Bien que leurs syntaxes soient similaires, les instructions diffèrent des fonctions dans la mesure où les instructions ne peuvent pas être utilisées dans des expressions, alors que les fonctions ne peuvent être utilisées que dans des expressions.

instruction();

instruction(opérande);

instruction(opérande1, opérande2,opérande3);

des instructions de test(voir page 6-11)

Instructions conditionnelles utilisées pour déclencher un code en texte structuré (d’autres instructions).Terminez la construction par un point-virgule « ; ».

IF...THENCASEFOR...DOWHILE...DOREPEAT...UNTILEXIT

des commentaires(voir page 6-27)

Texte expliquant ce que fait une section en texte structuré. • Utilisez les commentaires pour faciliter l’interprétation du texte

structuré.• Les commentaires n’affectent pas l’exécution du texte structuré.• Les commentaires peuvent apparaître n’importe où dans le texte

structuré.

//commentaire

(*début du commentaire . . . fin du commentaire*)

/*début du commentaire . . . fin du commentaire*/

Terme Définition Exemples

Composant Description

point représente le point qui obtient la nouvelle valeurle point doit être de type BOOL, SINT, INT, DINT ou REAL

:= symbole de l’affectation

expression représente la nouvelle valeur à attribuer au point

Si point est de ce type : Utilisez ce type d’expression :

BOOL expression booléenne

SINTINTDINTREAL

expression numérique

; termine l’affectation

Publication 1756-PM001E-FR-P - Août 2002

Page 125: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-3

Le point garde la valeur de l’affectation jusqu’à ce qu’une autre en change la valeur.

L’expression peut être simple, comme une valeur immédiate ou un autre nom de point, ou complexe et inclure plusieurs opérateurs et/ou fonctions. Pour plus de détails, voir la section « Expressions », page 6-4.

Spécification d’une affectation non rémanente

Une affectation non rémanente est différente de l’affectation standard décrite ci-dessus dans la mesure où le point dans une affectation non rémanente est remis à zéro chaque fois que l’automate :

• passe en mode Exécution (Run) ;• quitte l’étape d’un SFC si vous avez configuré le graphe pour une

réinitialisation automatique (Automatic reset) (ceci est valable uniquement si vous intégrez l’affectation dans l’action de l’étape ou si vous utilisez l’action pour appeler un sous-programme en texte structuré au moyen d’une instruction JSR).

La syntaxe d’une affectation non rémanente est la suivante :

point [:=] expression ;

où :

Composant Description

point représente le point qui reçoit la nouvelle valeurle point doit être de type BOOL, SINT, INT, DINT ou REAL

[:=] symbole de l’affectation non rémanente

expression représente la nouvelle valeur à attribuer au point

Si point est de ce type : Utilisez ce type d’expression :

BOOL expression booléenne

SINTINTDINTREAL

expression numérique

; termine l’affectation

Publication 1756-PM001E-FR-P - Août 2002

Page 126: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-4 Programmation en texte structuré

Attribution d’un caractère ASCII à une chaîne

Utilisez l’opérateur d’affectation pour attribuer un caractère ASCII à un élément DATA d’une de chaîne de caractères. Pour attribuer un caractère, indiquez la valeur du caractère ou le nom du point et l’élément DATA. Par exemple :

Pour ajouter ou insérer des caractères dans une chaîne, utilisez l’une des instructions de chaîne ASCII suivantes :

Expressions Une expression est un nom de point, une équation ou une comparaison. Pour écrire une expression, utilisez l’un des éléments suivants :

• nom du point qui stocke la valeur (variable) ;• nombre à entrer directement dans l’expression (valeur immédiate) ;• fonctions telles que : ABS, TRUNC ;• opérateurs tels que : +, –, <, >, And, Or.

Pour écrire une expression, observez les règles générales suivantes :

• utilisez indifféremment des majuscules et des minuscules. Par exemple, ces trois variantes de « ET » sont correctes : ET, Et, et ;

• pour des besoins plus complexes, utilisez des parenthèses pour regrouper des expressions dans d’autres expressions. Ceci facilite la lecture de l’expression et vous permet de vous assurer qu’elle sera exécutée dans l’ordre souhaité. Voir « Détermination de l’ordre d’exécution », page 6-10.

Ceci est correct Ceci n’est pas correct.

string1.DATA[0]:= 65; string1.DATA[0] := A;

string1.DATA[0]:= string2.DATA[0]; string1 := string2;

Pour Utilisez cette instruction

ajouter des caractères à la fin d’une chaîne CONCAT

insérer des caractères dans une chaîne INSERT

Publication 1756-PM001E-FR-P - Août 2002

Page 127: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-5

En texte structuré, on utilise deux types d’expressions :

Expression booléenne : expression qui produit la valeur booléenne 1 (vrai) ou 0 (faux).

• Une expression booléenne utilise des points booléens, des opérateurs de relation et des opérateurs logiques pour comparer des valeurs ou vérifier si des conditions sont vraies ou fausses. Par exemple, point1>65.

• Une expression booléenne simple peut être composée un seul point BOOL.

• Généralement, les expressions booléennes servent à conditionner l’exécution d’une autre logique.

Expression numérique : expression qui calcule une valeur de nombre entier ou à virgule flottante.

• Une expression numérique utilise des opérateurs et des fonctions arithmétiques, et des opérateurs sur bits. Par exemple, tag1+5.

• Une expression numérique est souvent imbriquée dans une expression de comparaison. Par exemple, (tag1+5)>65.

Utilisez le tableau suivant pour choisir les opérateurs de vos expressions :

Utilisation d’opérateurs et de fonctions arithmétiques

Vous pouvez combiner plusieurs opérateurs et fonctions dans les expressions arithmétiques.

Les opérateurs arithmétiques calculent les nouvelles valeurs.

Pour Alors

calculer une valeur arithmétique « Utilisation d’opérateurs et de fonctions arithmétiques », page 6-5.

comparer deux valeurs ou chaînes « Utilisation d’opérateurs de relation », page 6-7.

vérifier si des conditions sont vraies ou fausses « Utilisation d’opérateurs logiques », page 6-8.

comparer les bits dans des valeurs « Utilisations d’opérateurs sur bits », page 6-9.

Pour Utilisez cet opérateur Type de données optimal

addition + DINT, REAL

soustraction/négation - DINT, REAL

multiplication * DINT, REAL

exposant (x à la puissance y) ** DINT, REAL

division / DINT, REAL

modulo MOD DINT, REAL

Publication 1756-PM001E-FR-P - Août 2002

Page 128: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-6 Programmation en texte structuré

Les fonctions arithmétiques effectuent des opérations mathématiques. Indiquez une constante, un point non booléen ou une expression pour la fonction.

Par exemple :

Pour Utilisez cette fonction Type de données optimal

valeur absolue ABS (expression_numérique) DINT, REAL

cosinus d’arc ACOS (expression_numérique) REAL

sinus d’arc ASIN (expression_numérique) REAL

tangente d’arc ATAN (expression_numérique) REAL

cosinus COS (expression_numérique) REAL

radians en degrés DEG (expression_numérique) DINT, REAL

logarithme naturel LN (expression_numérique) REAL

logarithme décimal LOG (expression_numérique) REAL

degrés en radians RAD (expression_numérique) DINT, REAL

sinus SIN (expression_numérique) REAL

racine carrée SQRT (expression_numérique) DINT, REAL

tangente TAN (expression_numérique) REAL

troncation TRUNC (expression_numérique)

DINT, REAL

Utilisez ce format Exemple

Pour cette situation Ecrivez

valeur1 opérateur valeur2 Si "gain_4" et "gain_4_adj" sont des points DINT et si votre spécification indique : « Ajouter 15 à "gain_4" et stocker le résultat dans "gain_4_adj" ».

gain_4_adj := gain_4+15;

opérateur valeur1 Si "alarme" et "high_alarm" sont des points DINT et si votre spécification indique : « Inverser "high_alarm" et stocker le résultat dans "alarm" ».

alarm:= -high_alarm;

fonction(expression_numérique)

Si "overtravel" et "overtravel_POS" sont des points DINT et si votre spécification indique : « Calculer la valeur absolue de "overtravel" et stocker le résultat dans "overtravel_POS" ».

overtravel_POS := ABS(overtravel);

valeur1 opérateur (fonction((valeur2+valeur3)/2)

Si "adjustment" et "position" sont des points DINT, "sensor1" et "sensor2" des points REAL et si votre spécification indique : « Trouver la valeur absolue de la moyenne de "sensor1" et de "sensor2", ajouter "adjustment" et stocker le résultat dans "position" ».

position := adjustment + ABS((sensor1 + sensor2)/2);

Publication 1756-PM001E-FR-P - Août 2002

Page 129: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-7

Utilisation d’opérateurs de relation

Les opérateurs de relation comparent deux valeurs ou chaînes pour fournir un résultat vrai ou faux. Le résultat d’une opération de relation est une valeur booléenne :

Utilisez les opérateurs de relation suivants :

Par exemple :

Si la comparaison est Le résultat est

vraie 1

fausse 0

Pour cette comparaison Utilisez cet opérateur Type de données optimal

égal à = DINT, REAL, STRING

inférieur à < DINT, REAL, STRING

inférieur ou égal à <= DINT, REAL, STRING

supérieur à > DINT, REAL, STRING

supérieur ou égal à >= DINT, REAL, STRING

différent de <> DINT, REAL, STRING

Utilisez ce format Exemple

Pour cette situation Ecrivez

valeur1 opérateur valeur2 Si "temp" est un point DINT et si votre spécification indique : « Si "temp" est inférieure à 100°, alors… »

IF temp<100 THEN...

chaîne_de_caractères1 opérateur chaîne_de_caractères2

Si "bar_code" et "dest" sont des chaînes de caractères et si votre spécification indique : « Si "bar_code" est égal à "dest", alors… »

IF bar_code=dest THEN...

caractère1 opérateur caractère2

Pour entrer un caractère ASCII directement dans l’expression, entrez la valeur décimale du caractère.

Si "bar_code" est une chaîne de caractères et si votre spécification indique : « Si "bar_code.DATA[0]" est égal à "A", alors… »

IF bar_code.DATA[0]=65 THEN...

point_bool := expressions_booléennes

Si "count" et "length" sont des points DINT, "done" un point BOOL et si votre spécification indique : « si "count" est supérieur ou égal à "length", fin du comptage ».

done := (count >= length);

Publication 1756-PM001E-FR-P - Août 2002

Page 130: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-8 Programmation en texte structuré

Evaluation des chaînes

Les valeurs hexadécimales des caractères ASCII déterminent si une chaîne est inférieure ou supérieure à une autre chaîne.

• Lorsque les deux chaînes sont triées comme dans un répertoire téléphonique, l’ordre des chaînes détermine laquelle est supérieure.

• Les chaînes sont égales si leurs caractères concordent.• Les caractères sont sensibles aux majuscules/minuscules. Un « A »

majuscule ($41) n’est pas égal à un « a » minuscule ($61).

Pour trouver la valeur décimale et le code hexadécimal d’un caractère, reportez-vous à la dernière page de ce manuel.

Utilisation d’opérateurs logiques

Les opérateurs logiques vous permettent de vérifier si plusieurs conditions sont vraies ou fausses. Le résultat d’une opération logique est une valeur booléenne :

Utilisez les opérateurs logiques suivants :

Caractères ASCII Codes Hex.

1ab $31$61$62

1b $31$62

A $41

AB $41$42

B $42

a $61

ab $61$62

Si la comparaison est Le résultat est

vraie 1

fausse 0

Pour Utilisez cet opérateur Type de données

ET logique &, AND BOOL

OU logique OR BOOL

OU exclusif logique XOR BOOL

complément logique NOT BOOL

supérieure

inférieure

AB < B

a > B

Publication 1756-PM001E-FR-P - Août 2002

Page 131: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-9

Par exemple :

Utilisations d’opérateurs sur bits

Les opérateurs sur bits traitent les bits d’une valeur à partir de deux valeurs.

Par exemple :

Utilisez ce format Exemple

Pour cette situation Ecrivez

pointBOOL Si "photoeye" est un point BOOL et si votre spécification indique : « Si "photoeye_1" est activée, alors… ».

IF photoeye THEN...

NOT pointBOOL Si "photoeye" est un point BOOL et si votre spécification indique : « Si "photoeye" est désactivée, alors… ».

IF NOT photoeye THEN...

expression1 & expression2 Si "photoeye" est un point BOOL, "temp" un point DINT et si votre spécification indique : « Si "photoeye" est activée et "temp" inférieure à 100°, alors… ».

IF photoeye & (temp<100) THEN...

expression1 OR expression2 Si "photoeye" est un point BOOL, "temp" un point DINT et si votre spécification indique : « Si "photoeye" est activée ou "temp" inférieure à 100°, alors… ».

IF photoeye OR (temp<100) THEN...

expression1 XOR expression2 Si "photoeye1" et "photoeye2" sont des points BOOL et si votre spécification indique : « Si :

• "photoeye1" est activée pendant que "photoeye2" est désactivée, ou

• "photoeye1" est désactivée pendant que "photoeye2" est activée,

alors… ».

IF photoeye1 XOR photoeye2 THEN...

pointBOOL := expression1 & expression2

Si "photoeye1", "photoeye2" et "open" sont des points BOOL et si votre spécification indique : « Si "photoeye1" et "photoeye2" sont activées, régler "open" sur vrai ».

open := photoeye1 & photoeye2;

Pour Utilisez cet opérateur Type de données optimal

ET sur bits &, AND DINT

OU sur bits OR DINT

OU exclusif sur bits XOR DINT

complément sur bits NOT DINT

Utilisez ce format Exemple

Pour cette situation Ecrivez

valeur1 opérateur valeur2 Si "input1", "input2" et "result1" sont des points DINT et si votre spécification indique : « Calculer le résultat sur bits de "input1" et "input2" et stocker le résultat dans "result1" ».

result1 := input1 AND input2;

Publication 1756-PM001E-FR-P - Août 2002

Page 132: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-10 Programmation en texte structuré

Détermination de l’ordre d’exécution

Les opérations que vous écrivez dans une expression sont exécutées dans un ordre prédéfini qui n’est pas nécessairement de gauche à droite.

• Les opérations d’ordre identique sont exécutées de gauche à droite.• Si une expression contient plusieurs opérateurs ou fonctions, groupez

les conditions entre parenthèses « ( ) » pour vous assurer que l’exécution se fait dans l’ordre souhaité.

Instructions Les instructions en texte structuré peuvent également être des instructions. Pour connaître la liste des instructions disponibles en texte structuré, reportez-vous au tableau de repérage au début de ce manuel. Une instruction en texte structuré est exécutée chaque fois qu’elle est scrutée. Une instruction en texte structuré imbriquée dans une instruction de test est exécutée chaque fois que les conditions de cette instruction de test sont vraies. Si les conditions de l’instruction de test sont fausses, les instructions y figurant ne sont pas scrutées. Il n’existe pas d’état de ligne ou de transition qui déclenche l’exécution.

Ceci diffère des instructions de bloc fonctionnel qui utilisent EnableIn pour déclencher l’exécution. Les instructions en texte structuré sont exécutées comme si EnableIn était toujours activé.

Ceci diffère également des instructions de logique à relais qui utilisent l’état d’entrée de la ligne pour déclencher l’exécution. Certaines instructions de logique à relais sont exécutées uniquement lorsque l’état d’entrée de la ligne passe de faux à vrai. Ce sont des instructions de logique à relais de transition. En texte structuré, les instructions sont exécutées chaque fois qu’elles sont scrutées, à moins qu’elles ne soient imbriquées dans une instruction de test.

Ordre Opération

1. ( )

2. fonction (…)

3. **

4. − (négation)

5. NOT

6. *, /, MOD

7. +, – (soustraction)

8. <, <=, >, >=

9. =, <>

10. &, AND

11. XOR

12. OR

Publication 1756-PM001E-FR-P - Août 2002

Page 133: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-11

L’instruction ABL, par exemple, est une instruction de transition en logique à relais. Dans cet exemple, l’instruction ABL est exécutée lors d’une scrutation uniquement lorsque tag_xic passe d’effacé à activé. L’instruction ABL n’est pas exécutée lorsque tag_xic reste activé ou lorsque tag_xic est effacé.

En texte structuré, si vous écrivez cet exemple comme suit :

IF tag_xic THEN ABL(0,serial_control);

END_IF;

l’instruction ABL est exécutée à chaque scrutation pendant laquelle tag_xic est activé, et pas seulement lorsque tag_xic passe d’effacé à activé.

Si vous souhaitez que l’instruction ABL soit exécutée uniquement lorsque tag_xic passe d’effacé à activé, vous devez conditionner l’instruction en texte structuré. Utilisez une instruction d’exécution sur front pour déclencher l’exécution.

Instructions de test Les instructions de test peuvent être programmées seules ou imbriquées dans d’autres instructions de test.

osri_1.InputBit := tag_xic;

OSRI(osri_1);

IF (osri_1.OutputBit) THEN

ABL(0,serial_control);

END_IF;

Pour Utilisez cette construction

Disponible dans ces langages Voir page

exécuter une action si ou lorsque des conditions particulières se produisent

IF...THEN texte structuré 6-12

sélectionner l’action à exécuter en fonction d’une valeur numérique

CASE...OF texte structuré 6-15

exécuter une action un certain nombre de fois avant d’en exécuter une autre

FOR...DO texte structuré 6-18

poursuivre l’exécution d’une action tant que certaines conditions sont vraies

WHILE...DO texte structuré 6-21

poursuivre l’exécution d’une action jusqu’à ce qu’une condition soit vraie

REPEAT...UNTIL texte structuré 6-24

Publication 1756-PM001E-FR-P - Août 2002

Page 134: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-12 Programmation en texte structuré

IF...THEN (SI... ALORS) Utilisez l’instruction de test IF…THEN pour exécuter une action si ou lorsque des conditions particulières se produisent.

Opérandes :

Texte structuré

Description : La syntaxe est la suivante :

Pour utiliser ELSIF ou ELSE, observez les directives suivantes :

1. Pour faire une sélection dans plusieurs groupes d’instructions possibles, ajoutez une ou plusieurs instructions ELSIF.

• Chaque condition ELSIF représente un chemin alternatif.• Indiquez autant de chemins ELSIF que nécessaires.• L’automate exécute la première condition IF ou ELSIF vraie et saute

les autres conditions ELSIF et la condition ELSE.

2. Pour exécuter une action lorsque toutes les conditions IF ou ELSIF sont fausses, ajoutez une instruction ELSE.

Opérande Type Format Entrez

expression_booléenne

BOOL pointexpression

un point ou une expression booléen(ne) qui donne une valeur booléenne (expression booléenne)

IF expression_booléenne THEN

<instruction>;

END_IF;

IF expression_booléenne1 THEN

<instruction >; instructions à exécuter lorsque expression_booléenne1 est vraie.

.

.

facultatif

ELSIF expression_booléenne2 THEN

<instruction>; instructions à exécuter lorsque expression_booléenne2 est vraie.

.

.

facultatifELSE

<instruction>; instructions à exécuter lorsque les deux expressions sont fausses.

.

.

END_IF;

Publication 1756-PM001E-FR-P - Août 2002

Page 135: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-13

Le tableau suivant présente différentes combinaisons de IF, THEN, ELSIF et ELSE.

Indicateurs arithmétiques : non affectés

Conditions de défaut : aucune

Exemple 1 : IF…THEN

Exemple 2 : IF…THEN…ELSE

Le symbole [:=] indique à l’automate d’effacer light chaque fois que l’automate :• passe en mode Exécution (Run) ;• quitte l’étape d’un SFC si vous avez configuré le graphe pour une

réinitialisation automatique (Automatic reset) (ceci est valable uniquement si vous intégrez l’affectation dans l’action de l’étape ou si vous utilisez l’action pour appeler un sous-programme en texte structuré au moyen d’une instruction JSR).

Pour Et Utilisez cette instruction de test

exécuter une action si ou lorsque des conditions sont vraies

ne rien faire si les conditions sont fausses

IF…THEN

exécuter une autre action si les conditions sont fausses

IF…THEN…ELSE

choisir parmi des instructions (ou groupes d’instructions) alternatives en fonction des conditions d’entrée

ne rien faire si les conditions sont fausses

IF…THEN…ELSIF

attribuer des instructions par défaut si toutes les conditions sont fausses

IF…THEN…ELSIF…ELSE

Si vous voulez ceci Entrez ce texte structuré

Si rejette > 3, alors IF rejects > 3 THEN

convoyeur = désactivé (0) conveyor := 0;

alarme = activée (1) alarm := 1;

END_IF;

Si vous voulez ceci Entrez ce texte structuré

Si contact de direction du convoyeur = avant (1), alors IF conveyor_direction THEN

voyant = éteint light := 0;

Sinon voyant = allumé ELSE

light [:=] 1;

END_IF;

Publication 1756-PM001E-FR-P - Août 2002

Page 136: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-14 Programmation en texte structuré

Exemple 3 : IF…THEN…ELSIF

Le symbole [:=] indique à l’automate d’effacer Sugar.Inlet chaque fois que l’automate :

• passe en mode Exécution (Run) ;• quitte l’étape d’un SFC si vous avez configuré le graphe pour une

réinitialisation automatique (Automatic reset) (ceci est valable uniquement si vous intégrez l’affectation dans l’action de l’étape ou si vous utilisez l’action pour appeler un sous-programme en texte structuré au moyen d’une instruction JSR).

Exemple 4 : IF…THEN…ELSIF…ELSE

Si vous voulez ceci Entrez ce texte structuré

Si détecteur de niveau bas du sucre = bas (activé) et détecteur de niveau haut du sucre = pas haut (activé), alors

IF Sugar.Low & Sugar.High THEN

vanne d’entrée = ouverte (activée) Sugar.Inlet [:=] 1;

Jusqu’à ce que détecteur de niveau haut du sucre = haut (désactivé)

ELSIF NOT(Sugar.High) THEN

Sugar.Inlet := 0;

END_IF;

Si vous voulez ceci Entrez ce texte structuré

Si température du réservoir > 100 IF tank.temp > 200 THEN

alors pompe = lente pump.fast :=1; pump.slow :=0; pump.off :=0;

Si température du réservoir > 200 ELSIF tank.temp > 100 THEN

alors pompe = rapide pump.fast :=0; pump.slow :=1; pump.off :=0;

Sinon pompe = arrêtée ELSE

pump.fast :=0; pump.slow :=0; pump.off :=1;

END_IF;

Publication 1756-PM001E-FR-P - Août 2002

Page 137: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-15

CASE...OF (EN FONCTION… DE)

Utilisez l’instruction de test CASE pour déterminer ce qu’il faut faire en fonction d’une valeur numérique.

Opérandes :

Texte structuré

Description : La syntaxe est la suivante :

Pour connaître les valeurs de sélecteur correctes, reportez-vous au tableau page suivante.

Opérande Type Format Entrez

expression_numérique

SINTINTDINTREAL

pointexpression

un point ou une expression qui donne un nombre (expression numérique)

sélecteur SINTINTDINTREAL

immédiat même type que expression_numérique

IMPORTANT Si vous utilisez des valeurs REAL, utilisez une plage de valeurs pour un sélecteur car il est plus probable qu’une valeur REAL se trouve dans une plage de valeurs qu’elle ne corresponde exactement à une valeur précise.

CASE expression_numérique OF

sélecteur1: instruction;

sélecteurN: instruction;

ELSE

instruction;

END_CASE;

CASE expression_numérique OF

indiquez autant devaleurs de sélecteur

alternatives (chemins)que nécessaire

sélecteur1 : <instruction>;...

instructions à exécuter lorsque expression_numérique = sélecteur1

sélecteur2 : <instruction>;...

instructions à exécuter lorsque expression_numérique = sélecteur2

sélecteur3 : <instruction>;...

instructions à exécuter lorsque expression_numérique = sélecteur3

facultatif

ELSE

<instruction>;...

instructions à exécuter lorsque expression_numérique ≠ à n’importe quel sélecteur

END_CASE;

Publication 1756-PM001E-FR-P - Août 2002

Page 138: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-16 Programmation en texte structuré

La syntaxe pour entrer la valeur du sélecteur est la suivante :

Indicateurs arithmétiques : non affectés

Conditions de défaut : aucune

Lorsque le sélecteur est Entrez

une valeur valeur: instruction

plusieurs valeurs différentes

valeur1, valeur2, valeurN : <instruction>

Utilisez une virgule (,) pour séparer chaque valeur.

une plage de valeurs valeur1..valeurN : <instruction>

Utilisez des points (..) pour identifier la plage.

des valeurs différentes plus une plage de valeurs

valeura, valeurb, valeur1..valeurN : <instruction>

Publication 1756-PM001E-FR-P - Août 2002

Page 139: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-17

Exemple

Le symbole [:=] indique à l’automate d’effacer également les points de sortie chaque fois que l’automate :

• passe en mode Exécution (Run) ;• quitte l’étape d’un SFC si vous avez configuré le graphe pour une

réinitialisation automatique (Automatic reset) (ceci est valable uniquement si vous intégrez l’affectation dans l’action de l’étape ou si vous utilisez l’action pour appeler un sous-programme en texte structuré au moyen d’une instruction JSR).

Pour Entrez ce texte structuré

Si numéro de recette = 1, alors CASE recipe_number OF

Ingrédient A sortie 1 = ouverte (1) 1: Ingredient_A.Outlet_1 :=1;

Ingrédient B sortie 4 = ouverte (1) Ingredient_B.Outlet_4 :=1;

Si numéro de recette = 2 ou 3, alors 2,3: Ingredient_A.Outlet_4 :=1;

Ingrédient A sortie 4 = ouverte (1) Ingredient_B.Outlet_2 :=1;

Ingrédient B sortie 2 = ouverte (1)

Si numéro de recette = 4, 5, 6 ou 7, alors 4..7: Ingredient_A.Outlet_4 :=1;

Ingrédient A sortie 4 = ouverte (1) Ingredient_B.Outlet_2 :=1;

Ingrédient B sortie 2 = ouverte (1)

Si numéro de recette = 8, 11, 12 ou 13, alors 8,11-13 Ingredient_A.Outlet_1 :=1;

Ingrédient A sortie 1 = ouverte (1) Ingredient_B.Outlet_4 :=1;

Ingrédient B sortie 4 = ouverte (1)

Sinon toutes les sorties = fermées (0) ELSE

Ingredient_A.Outlet_1 [:=]0;

Ingredient_A.Outlet_4 [:=]0;

Ingredient_B.Outlet_2 [:=]0;

Ingredient_B.Outlet_4 [:=]0;

END_CASE;

Publication 1756-PM001E-FR-P - Août 2002

Page 140: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-18 Programmation en texte structuré

FOR…DO (POUR… FAIRE) Utilisez la boucle FOR…DO (POUR…FAIRE) pour exécuter une action un certain nombre de fois avant d’en exécuter une autre.

Opérandes :

Texte structuré

Description : La syntaxe est la suivante :

Opérande Type Format Description

comptage SINTINTDINT

point point pour le stockage de la position du comptage pendant l’exécution de la boucle FOR…DO

valeur_ initiale

SINTINTDINT

pointexpressionimmédiat

doit donner un nombredéfinit la valeur initiale pour le comptage

valeur_ finale

SINTINTDINT

pointexpressionimmédiat

définit la valeur finale du comptage, ce qui indique quand sortir de la boucle

incrément SINTINTDINT

pointexpressionimmédiat

(facultatif) valeur d’incrémentation du comptage à chaque passage dans la boucle

Si vous n’indiquez pas d’incrément, le comptage s’effectue de 1 en 1.

FOR comptage:= valeur_initiale TO valeur_finale BY incrément DO

<instruction>;

END_FOR;

IMPORTANT Veillez à ne pas trop répéter la boucle lors d’une même scrutation.

• L’automate n’exécute aucune autre instruction du sous-programme tant qu’il n’a pas terminé la boucle.

• Si le temps nécessaire pour terminer la boucle est supérieur au chien de garde de la tâche, un défaut majeur se produit.

• Utilisez plutôt une autre instruction de test, telle que IF...THEN.

FOR comptage := valeur_initiale

TO valeur_finalefacultatif { BY incrément Si vous n’indiquez pas d’incrément, la

boucle est incrémentée de 1 en 1

DO

<instruction>;

facultatif

IF expression_booléenne THEN

EXIT; S’il y a des conditions pour lesquelles vous voulez quitter la boucle avant qu’elle ne soit terminée, utilisez d’autres instructions, telles qu’une instruction de test IF...THEN, pour conditionner une instruction de sortie (EXIT).

END_IF;

END_FOR;

Publication 1756-PM001E-FR-P - Août 2002

Page 141: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-19

Les diagrammes suivants montrent comment une boucle FOR...DO est exécutée et comment une instruction EXIT quitte la boucle avant que cette dernière ne soit terminée.

Indicateurs arithmétiques : non affectés

Conditions de défaut :

Exemple 1 :

instruction 1instruction 2instruction 3instruction 4…

Exécutée x fois ?

non

oui

reste du sous-programme

instruction 1instruction 2instruction 3instruction 4…Sortir ?

Exécutée x fois ?

non

oui

reste du sous-programme

oui

non

La boucle FOR…DO est exécutée un certain nombre de fois.

Pour arrêter la boucle avant que le comptage n’atteigne la dernière valeur, utilisez une instruction de sortie (EXIT).

Un défaut majeur se produit si Type de défaut Code de défaut

l’instruction de test est exécutée en boucle trop longtemps

6 1

Si vous voulez ceci Entrez ce texte structuré

Effacer les bits 0 à 31 dans un tableau de bits :1. Initialiser le point "subscript" en le mettant à 0.2. Effacer "array[subscript]". Par exemple, lorsque

"subscript" = 5, effacer "array[5]".3. Ajouter 1 à "subscript".4. Si "subscript" est ≤ à 31, répéter les étapes 2 et 3.

Sinon, arrêter.

For subscript:=0 to 31 by 1 do

array[subscript] := 0;

End_for;

Publication 1756-PM001E-FR-P - Août 2002

Page 142: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-20 Programmation en texte structuré

Exemple 2 :

Si vous voulez ceci Entrez ce texte structuré

Un type de données défini par l’utilisateur (structure) stocke les informations suivantes sur un article de votre inventaire :

• numéro d’identification du code-barres de l’article (données de type STRING)

• quantité d’articles de ce type en stock (données de type DINT)

Un tableau correspondant à la structure ci-dessus contient une entrée pour chaque article de votre inventaire. Vous voulez rechercher un article précis (utilisez son code-barres) et en déterminer la quantité en stock.

1. Chercher la taille (nombre d’articles) du tableau Inventory et stocker le résultat dans Inventory_Items (point DINT).

2. Initialiser le point position en le mettant à 0.3. Si Barcode correspond au numéro d’identification d’un

article dans le tableau, alors :a. régler le point Quantity = Inventory[position].Qty.

Ceci indique la quantité d’articles de ce type en stock ;

b. arrêter.Barcode est une chaîne de caractères qui stocke le code-barres de l’article que vous recherchez. Par exemple, lorsque position = 5, comparer Barcode à Inventory[5].ID.

4. Ajouter 1 à position.5. Si position est ≤ à (Inventory_Items -1), répéter les

étapes 3 et 4. Les numéros d’articles commençant à 0, le numéro du dernier article correspond au nombre d’articles dans le tableau moins 1.Sinon, arrêter.

SIZE(Inventory,0,Inventory_Items);

For position:=0 to Inventory_Items - 1 do

If Barcode = Inventory[position].ID then

Quantity := Inventory[position].Qty;

Exit;

End_if;

End_for;

Publication 1756-PM001E-FR-P - Août 2002

Page 143: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-21

WHILE…DO (TANT QUE… FAIRE)

Utilisez la boucle WHILE…DO pour poursuivre l’exécution d’une action tant que certaines conditions sont vraies.

Opérandes :

Texte structuré

Description : La syntaxe est la suivante :

Opérande Type Format Entrez

expression_booléenne

BOOL pointexpression

un point ou une expression booléen(ne) qui donne une valeur booléenne

WHILE expression_booléenne DO

<instruction>;

END_WHILE;

IMPORTANT Veillez à ne pas trop répéter la boucle lors d’une même scrutation.

• L’automate n’exécute aucune autre instruction du sous-programme tant qu’il n’a pas terminé la boucle.

• Si le temps nécessaire pour terminer la boucle est supérieur au chien de garde de la tâche, un défaut majeur se produit.

• Utilisez plutôt une autre instruction de test, telle que IF...THEN.

WHILE expression_booléenne1 DO

<instruction>; instructions à exécuter tant que expression_booléenne1 est vraie

facultatif

IF expression_booléenne2 THEN

EXIT; S’il y a des conditions pour lesquelles vous voulez quitter la boucle avant qu’elle ne soit terminée, utilisez d’autres instructions, telles qu’une instruction de test IF...THEN, pour conditionner une instruction de sortie (EXIT).

END_IF;

END_WHILE;

Publication 1756-PM001E-FR-P - Août 2002

Page 144: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-22 Programmation en texte structuré

Les diagrammes suivants montrent comment une boucle WHILE...DO est exécutée et comment une instruction EXIT quitte la boucle avant que cette dernière ne soit terminée.

Exemple 1 :

Indicateurs arithmétiques : non affectés

Conditions de défaut :

Tant que expression_booléenne est vraie, l’automate exécute uniquement les instructions de la boucle WHILE…DO.

Pour arrêter la boucle avant que les conditions ne soient vraies, utilisez une instruction de sortie (EXIT).

instruction 1instruction 2instruction 3instruction 4…Sortir ?

expression booléenne

vraie

fausse

reste du sous-programme

oui

non

instruction 1instruction 2instruction 3instruction 4…

expression booléenne

vraie

fausse

reste du sous-programme

Si vous voulez ceci Entrez ce texte structuré

La boucle WHILE...DO évalue d’abord ses conditions. Si les conditions sont vraies, l’automate exécute les instructions de la boucle.

Ceci est différent de la boucle REPEAT...UNTIL dans la mesure où la boucle REPEAT...UNTIL exécute les instructions figurant dans l’instruction de test, puis détermine si les conditions sont vraies avant d’exécuter de nouveau les instructions. Les instructions d’une boucle REPEAT...UNTIL sont toujours exécutées au moins une fois, alors que celles d’une boucle WHILE...DO peuvent ne jamais l’être.

pos := 0;

While ((pos <= 100) & structarray[pos].value <> targetvalue)) do

pos := pos + 2;

String_tag.DATA[pos] := SINT_array[pos];

end_while;

Un défaut majeur se produit si Type de défaut Code de défaut

l’instruction de test est exécutée en boucle trop longtemps

6 1

Publication 1756-PM001E-FR-P - Août 2002

Page 145: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-23

Exemple 2 :

Si vous voulez ceci Entrez ce texte structuré

Déplacer des caractères ASCII d’un tableau SINT dans une chaîne de caractères (dans un tableau SINT, chaque élément garde un caractère). Arrêter lorsque vous atteignez le retour chariot.

1. Initialiser Element_number en le mettant à 0.2. Compter le nombre d’éléments dans SINT_array

(tableau contenant les caractères ASCII) et stocker le résultat dans SINT_array_size (point DINT).

3. Si le caractère au niveau de SINT_array[element_number] = 13 (valeur décimale du retour chariot), alors arrêter.

4. Régler String_tag[element_number] = caractère au niveau de SINT_array[element_number].

5. Ajouter 1 à element_number. Ceci permet à l’automate de vérifier le caractère suivant dans SINT_array.

6. Définir le membre Longueur de String_tag = element_number (ceci enregistre le nombre de caractères dans String_tag jusqu’à ce caractère).

7. Si element_number = SINT_array_size, alors arrêter (vous avez atteint la fin du tableau et il ne contient pas de retour chariot).

8. Aller à l’étape 3.

element_number := 0;

SIZE(SINT_array, 0, SINT_array_size);

While SINT_array[element_number] <> 13 do

String_tag.DATA[element_number] := SINT_array[element_number];

element_number := element_number + 1;

String_tag.LEN := element_number;

If element_number = SINT_array_size then

exit;

end_if;

end_while;

Publication 1756-PM001E-FR-P - Août 2002

Page 146: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-24 Programmation en texte structuré

REPEAT…UNTIL (REPETER… JUSQU’A)

Utilisez la boucle REPEAT…UNTIL pour poursuivre l’exécution d’une action jusqu’à ce que des conditions soient vraies.

Opérandes :

Texte structuré

Description : La syntaxe est la suivante :

Opérande Type Format Entrez

expression_booléenne

BOOL pointexpression

un point ou une expression booléen(ne) qui donne une valeur booléenne (expression booléenne)

REPEAT

<instruction>;

UNTIL expression_booléenne

END_REPEAT;

IMPORTANT Veillez à ne pas trop répéter la boucle lors d’une même scrutation.

• L’automate n’exécute aucune autre instruction du sous-programme tant qu’il n’a pas terminé la boucle.

• Si le temps nécessaire pour terminer la boucle est supérieur au chien de garde de la tâche, un défaut majeur se produit.

• Utilisez plutôt une autre instruction de test, telle que IF...THEN.

REPEAT

<instruction>; instructions à exécuter lorsque expression_booléenne1 est fausse

facultatif

IF expression_booléenne2 THEN

EXIT; S’il y a des conditions pour lesquelles vous voulez quitter la boucle avant qu’elle ne soit terminée, utilisez d’autres instructions, telles qu’une instruction de test IF...THEN, pour conditionner une instruction de sortie (EXIT).

END_IF;

UNTIL expression_booléenne1

END_REPEAT;

Publication 1756-PM001E-FR-P - Août 2002

Page 147: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-25

Les diagrammes suivants montrent comment une boucle REPEAT...UNTIL est exécutée et comment une instruction EXIT quitte la boucle avant que cette dernière ne soit terminée.

Exemple 1 :

Indicateurs arithmétiques : non affectés

Conditions de défaut :

Tant que expression_booléenne est fausse, l’automate exécute uniquement les instructions de la boucle REPEAT…UNTIL.

Pour arrêter la boucle avant que les conditions ne soient fausses, utilisez une instruction de sortie (EXIT).

instruction 1instruction 2instruction 3instruction 4…

expression booléenne

fausse

vraie

reste du sous-programmeexpression booléenne

fausse

vraie

reste du sous-programme

instruction 1instruction 2instruction 3instruction 4…Sortir ?

oui

non

Si vous voulez ceci Entrez ce texte structuré

La boucle REPEAT...UNTIL exécute les instructions figurant dans l’instruction de test, puis détermine si les conditions sont vraies avant d’exécuter de nouveau les instructions.

Ceci est différent de la boucle WHILE...DO dans la mesure où la boucle WHILE...DO évalue d’abord ses conditions. Si les conditions sont vraies, l’automate exécute les instructions de la boucle. Les instructions d’une boucle REPEAT...UNTIL sont toujours exécutées au moins une fois, alors que celles d’une boucle WHILE...DO peuvent ne jamais l’être.

pos := -1;

REPEAT

pos := pos + 2;

UNTIL ((pos = 101) OR (structarray[pos].value = targetvalue))

end_repeat;

Un défaut majeur se produit si Type de défaut Code de défaut

l’instruction de test est exécutée en boucle trop longtemps

6 1

Publication 1756-PM001E-FR-P - Août 2002

Page 148: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-26 Programmation en texte structuré

Exemple 2 :

Pour Entrez ce texte structuré

Déplacer des caractères ASCII d’un tableau SINT dans une chaîne de caractères (dans un tableau SINT, chaque élément garde un caractère). Arrêter quand vous atteignez le retour chariot.

1. Initialiser Element_number en le mettant à 0.2. Compter le nombre d’éléments dans SINT_array

(tableau contenant les caractères ASCII) et stocker le résultat dans SINT_array_size (point DINT).

3. Régler String_tag[element_number] = caractère au niveau de SINT_array[element_number].

4. Ajouter 1 à element_number. Ceci permet à l’automate de vérifier le caractère suivant dans SINT_array.

5. Définir le membre Longueur de String_tag = element_number (ceci enregistre le nombre de caractères dans String_tag jusqu’à ce caractère).

6. Si element_number = SINT_array_size, alors arrêter (vous avez atteint la fin du tableau et il ne contient pas de retour chariot).

7. Si le caractère au niveau de SINT_array[element_number] = 13 (valeur décimale du retour chariot), alors arrêter.Sinon aller à l’étape 3.

element_number := 0;

SIZE(SINT_array, 0, SINT_array_size);

Repeat

String_tag.DATA[element_number] := SINT_array[element_number];

element_number := element_number + 1;

String_tag.LEN := element_number;

If element_number = SINT_array_size then

exit;

end_if;

Until SINT_array[element_number] = 13

end_repeat;

Publication 1756-PM001E-FR-P - Août 2002

Page 149: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation en texte structuré 6-27

Commentaires Ajoutez des commentaires à votre texte structuré pour en faciliter l’interprétation.

• Les commentaires vous permettent d’utiliser du langage clair pour décrire le fonctionnement de votre texte structuré.

• Les commentaires n’affectent pas l’exécution du texte structuré.

Pour ajouter des commentaires à votre texte structuré :

Par exemple :

Pour ajouter un commentaire Utilisez l’un des formats suivants

d’une ligne //commentaire

(*commentaire*)

/*commentaire*/

à la fin d’une ligne de texte structuré

dans une ligne de texte structuré (*commentaire*)

/*commentaire*/

sur plusieurs lignes (*début du commentaire . . . fin du commentaire*)

/*début du commentaire . . . fin du commentaire*/

Format Exemple

//commentaire Au début d’une ligne//Vérifier la direction de la courroie du convoyeurIF conveyor_direction THEN...

A la fin d’une ligneELSE //Si le convoyeur reste immobile, allumer le voyant d’alarmelight := 1;END_IF;

(*commentaire*) Sugar.Inlet[:=]1;(*ouvrir la vanne d’entrée*)

IF Sugar.Low (*niveau bas LS*)& Sugar.High (*niveau haut LS*)THEN...

(*Contrôler la vitesse de la pompe de recirculation. La vitesse dépend de la température dans le réservoir.*)IF tank.temp > 200 THEN...

/*commentaire*/ Sugar.Inlet:=0;/*fermer la vanne d’entrée*/

IF bar_code=65 /*A*/ THEN...

/*Chercher le nombre d’articles dans le tableau Inventory et stocker la valeur dans le point Inventory_Items*/SIZE(Inventory,0,Inventory_Items);

Publication 1756-PM001E-FR-P - Août 2002

Page 150: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6-28 Programmation en texte structuré

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 151: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 7

Programmation d’un diagramme de blocs fonctionnels

Quand utiliser cette procédure

Utilisez cette procédure pour effectuer les opérations suivantes :

• organiser un sous-programme de blocs fonctionnels ;• développer un ou plusieurs diagrammes de blocs fonctionnels pour le

sous-programme ;• entrer les diagrammes de blocs fonctionnels dans le sous-programme.

Avant d’utiliser cette procédure

Vous devez savoir effectuer les tâches suivantes :

Pour de plus amples informations sur l’une de ces tâches, voir « Organisation des tâches, programmes et sous-programmes », page 2-1.

Comment utiliser cette procédure

Les étapes de programmation d’un sous-programme de blocs fonctionnels sont les suivantes :

Ouvrir et fermer un dossier

Création d’un sous-programme✓

Identification des pages du sous-programme

Choix des éléments de blocs fonctionnels

Choix d’un nom de point pour un élément

Définition de l’ordre d’exécution

Identification des connecteurs

Définition de la commande Programme/Opérateur

Ajouter une page

Ajouter un élément de bloc fonctionnel

Connexion d’éléments

Attribution d’un point

Attribution d’une valeur immédiate (constante)

Connexion de blocs avec un connecteur OCON et un connecteur ICON

Vérification du sous-programme

1 Publication 1756-PM001E-FR-P - Août 2002

Page 152: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-2 Programmation d’un diagramme de blocs fonctionnels

Identification des pages du sous-programme

Pour faciliter la navigation dans un sous-programme de blocs fonctionnels, divisez-le en pages :

• les pages vous aident à organiser et à trouver vos blocs fonctionnels et n’affectent pas l’ordre d’exécution des blocs fonctionnels ;

• lorsque le sous-programme est exécuté, toutes les pages sont exécutées ;• généralement, on utilise une page pour chaque équipement (moteur,

vanne, etc.).

L’exemple suivant montre un sous-programme de blocs fonctionnels commandant 4 moteurs.

EXEMPLE Identification des pages du sous-programme

Page 1 sur 4 moteur 1 Page 2 sur 4 moteur 2

Page 3 sur 4 moteur 3 Page 4 sur 4 moteur 4

Sous-programme de commande de moteurs

Publication 1756-PM001E-FR-P - Août 2002

Page 153: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-3

Choix des éléments de blocs fonctionnels

Pour commander un équipement, utilisez les éléments suivants :

Utilisez le tableau suivant pour choisir vos éléments de blocs fonctionnels :

référence d’entrée (IREF) bloc fonctionnel

connecteur de liaison de sortie (OCON)

référence de sortie (OREF)

connecteur deliaison d’entrée

(ICON)

Pour Utilisez

fournir une valeur provenant d’un équipement ou d’un point d’entrée une référence d’entrée (IREF)

envoyer une valeur vers un équipement ou un point de sortie une référence de sortie (OREF)

effectuer une opération sur une ou plusieurs valeurs d’entrée et produire une ou plusieurs valeurs de sortie

un bloc fonctionnel

transférer des données entre des blocs fonctionnels lorsqu’ils sont :• éloignés les uns des autres sur une même page ;• répartis sur différentes pages dans le même sous-programme.

connecteur de liaison de sortie (OCON) et connecteur de liaison d’entrée (ICON)

répartir des données entre plusieurs points du sous-programme un seul connecteur de liaison de sortie (OCON) et plusieurs connecteurs de liaison d’entrée (ICON)

Publication 1756-PM001E-FR-P - Août 2002

Page 154: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-4 Programmation d’un diagramme de blocs fonctionnels

Choix d’un nom de point pour un élément

Chaque bloc fonctionnel utilise un point pour stocker les informations de configuration et d’état de l’instruction.

• Lorsque vous ajoutez une instruction de bloc fonctionnel, le logiciel RSLogix 5000 crée automatiquement un point pour le bloc. Vous pouvez utiliser ce point tel quel, le renommer ou encore attribuer un autre point.

• Pour les IREF et les OREF, vous devez créer un point ou attribuer un point existant.

Le tableau suivant décrit le format d’un nom de point :

où :

x est l’emplacement de l’élément dans la première dimension ;

y l’emplacement de l’élément dans la deuxième dimension ;

z l’emplacement de l’élément dans la troisième dimension.

Pour une structure à l’intérieure d’une structure, ajoutez un .nom_de_membre supplémentaire.

Pour un Indiquez

point nom_du_point

numéro du bit d’un type de donnée plus grand nom_du_point.numéro_du_bit

membre d’une structure nom_du_point.nom_du_membre

élément d’un tableau à une dimension nom_du_point[x]

élément d’un tableau à deux dimensions nom_du_point[x,y]

élément d’un tableau à trois dimensions nom_du_point[x,y,z]

élément d’un tableau dans une structure nom_du_point.nom_du_membre[x]

membre d’un élément d’un tableau nom_du_point[x,y,z].nom_du_membre

Publication 1756-PM001E-FR-P - Août 2002

Page 155: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-5

Définition de l’ordre d’exécution

Définissez l’ordre d’exécution (flux de données) en reliant des éléments ensemble et en indiquant les liaisons d’entrée (retours), si nécessaire. L’emplacement d’un bloc n’affecte pas l’ordre d’exécution des blocs.

Verrouillage des données

Si vous utilisez une IREF pour indiquer les données d’entrée d’une instruction de bloc fonctionnel, les données dans cette IREF sont verrouillées durant la scrutation du sous-programme de blocs fonctionnels. L’IREF verrouille les données des points de programme et d’automate. L’automate actualise toutes les données IREF au début de chaque scrutation.

borne de sortie liaison

borne d’entrée

borne de sortie liaison

borne d’entrée

les données vont des bornes de sortie vers les bornes d’entrée

Symboles de liaison :

valeur SINT, INT, DINT ou REAL

valeur booléenne (0 ou 1)

IREF

Publication 1756-PM001E-FR-P - Août 2002

Page 156: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-6 Programmation d’un diagramme de blocs fonctionnels

Dans cet exemple, la valeur du pointA est stockée au début de l’exécution du sous-programme. La valeur stockée est utilisée lorsque Bloc_01 est exécuté. Cette valeur est également utilisée lorsque Bloc_02 est exécuté. Si la valeur de pointA change pendant l’exécution du sous-programme, la valeur stockée de pointA dans l’IREF ne change pas jusqu’à l’exécution suivante du sous-programme.

Cet exemple est le même que le précédent. La valeur de pointA est stockée une seule fois au début de l’exécution du sous-programme. Le sous-programme utilise cette valeur pour l’ensemble du sous-programme.

pointA

Bloc_01

Bloc_02

pointA

Bloc_01

Bloc_02

pointA

Publication 1756-PM001E-FR-P - Août 2002

Page 157: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-7

Depuis la version 11 du logiciel RSLogix 5000, vous pouvez utiliser le même point dans plusieurs IREF et dans une OREF dans le même sous-programme. Les valeurs des points dans les IREF étant verrouillées par le sous-programme à chaque scrutation, les IREF utilisent toutes la même valeur, même si une OREF reçoit une valeur de point différente pendant l’exécution du sous-programme. Dans cet exemple, si pointA a une valeur de 25,4 lorsque le sous-programme commence cette scrutation et si Bloc_01 change la valeur de pointA en 50,9, la seconde IREF reliée à Bloc_02 utilise quand même une valeur de 25,4 lorsque Bloc_02 exécute cette scrutation. La nouvelle valeur 50,9 de pointA n’est utilisée par aucune IREF dans ce sous-programme jusqu’à la scrutation suivante.

Ordre d’exécution

Le logiciel de programmation RSLogix 5000 détermine automatiquement l’ordre d’exécution des blocs fonctionnels dans un sous-programme lorsque vous :

• vérifiez un sous-programme de blocs fonctionnels ;• vérifiez un projet contenant un sous-programme de blocs fonctionnels ;• chargez un projet contenant un sous-programme de blocs fonctionnels.

Si nécessaire, définissez l’ordre d’exécution en reliant les blocs fonctionnels entre eux et en indiquant le flux de données de chaque liaison.

Si les blocs fonctionnels ne sont pas reliés entre eux, leur ordre d’exécution n’a pas d’importance. Il n’y a pas d’échange de données entre les blocs.

Si vous les reliez de façon séquentielle, l’exécution s’effectue des entrées vers les sorties. Les entrées d’un bloc doivent être disponibles pour que l’automate

Publication 1756-PM001E-FR-P - Août 2002

Page 158: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-8 Programmation d’un diagramme de blocs fonctionnels

puisse exécuter ce bloc. Par exemple, le bloc 2 doit être exécuté avant le bloc 3 parce que les sorties du bloc 2 alimentent les entrées du bloc 3.

L’ordre d’exécution ne concerne que les blocs reliés entre eux. L’exemple suivant est correct parce que les deux groupes de blocs ne sont pas reliés entre eux. Les blocs d’un groupe particulier sont exécutés dans l’ordre approprié par rapport aux blocs de ce groupe.

Résolution d’une boucle

Pour créer une boucle de retour autour d’un bloc, reliez une borne de sortie du bloc à une borne d’entrée du même bloc. L’exemple suivant est correct. La boucle contient un seul bloc, l’ordre d’exécution n’a donc aucune importance.

Si une boucle comporte un groupe de blocs, l’automate ne peut pas déterminer le bloc exécuter en premier. En d’autres termes, il ne peut pas résoudre la boucle.

1 2 3

1 3 5

2 4 6

Cette borne d’entrée utilise unesortie produite par le bloc lors de

la précédente scrutation.

?? ?

Publication 1756-PM001E-FR-P - Août 2002

Page 159: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-9

Pour identifier le bloc à exécuter en premier, marquez la liaison d’entrée qui crée la boucle (la liaison de retour) avec l’indicateur Assume Data Available (Prendre les données disponibles). Dans l’exemple suivant, le bloc 1 utilise la sortie du bloc 3, qui a été produite lors de la précédente exécution du sous-programme.

L’indicateur Assume Data Available définit le flux des données dans la boucle. La flèche indique que les données servent d’entrée au premier bloc de la boucle.

Ne marquez pas toutes les liaisons d’une boucle avec l’indicateur Assume Data Available.

1 2 3

Cette borne d’entrée utilise lasortie produite par le bloc 3 lors

de la précédente scrutation.

Indicateur « Assume Data Available »

Ceci est correct Ceci N’EST PAS correct

L’indicateur Assume Data Available définit le flux de données dans la boucle.

L’automate ne peut pas résoudre la boucle parce que toutes les liaisons utilisent l’indicateur Assume Data Available.Indicateur « Assume

Data Available »

21 ??

Publication 1756-PM001E-FR-P - Août 2002

Page 160: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-10 Programmation d’un diagramme de blocs fonctionnels

Résolution du flux de données entre deux blocs

Si vous utilisez deux liaisons ou plus pour connecter deux blocs, utilisez les mêmes indicateurs de flux de données pour toutes les liaisons entre les deux blocs.

Création d’une temporisation de scrutation

Pour produire une temporisation de scrutation entre différents blocs, utilisez l’indicateur Assume Data Available. Dans l’exemple suivant, le bloc 1 est exécuté en premier. Il utilise la sortie du bloc 2, qui a été produite lors de la précédente scrutation du sous-programme.

Ceci est correct Ceci N’EST PAS correct

Aucune liaison n’utilise l’indicateur Assume Data Available.

Les deux liaisons utilisent l’indicateur Assume Data Available.

Une seule liaison utilise l’indicateur Assume Data Available.

indicateur « Assume Data Available »

2 1

Indicateur « Assume Data Available »

Publication 1756-PM001E-FR-P - Août 2002

Page 161: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-11

Résumé

En résumé, un sous-programme de blocs fonctionnels est exécuté dans l’ordre suivant :

1. L’automate verrouille toutes les valeurs de données dans les IREF.

2. L’automate exécute les autres blocs fonctionnels dans l’ordre déterminé par leurs liaisons.

3. L’automate écrit des sorties dans les OREF.

Identification des connecteurs

Tout comme les liaisons, les connecteurs transfèrent des données des bornes de sortie aux bornes d’entrée. Utilisez des connecteurs lorsque :

• les éléments que vous voulez connecter se trouvent sur différentes pages du même sous-programme ;

• il est difficile d’effectuer une liaison autour d’autres liaisons ou éléments ;

• vous voulez répartir des données dans différents points du sous-programme.

Pour utiliser des connecteurs, observez les directives suivantes :

• chaque connecteur OCON doit avoir un nom unique ;• à chaque connecteur OCON doit correspondre un connecteur ICON

(ICON ayant le même nom que le connecteur OCON) ;• plusieurs connecteurs ICON peuvent faire référence au même

connecteur OCON. Vous pouvez ainsi répartir les données dans plusieurs points de votre sous-programme.

Connecteur_A

Connecteur_A

données

Publication 1756-PM001E-FR-P - Août 2002

Page 162: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-12 Programmation d’un diagramme de blocs fonctionnels

Définition de la commande Programme/Opérateur

Plusieurs instructions prennent en charge le concept de commande Programme/Opérateur. Ces instructions comprennent :

• Sélection étendue (ESEL) ;• Totalisateur (TOT) ;• PID étendu (PIDE) ;• Rampe/Palier (RMPS) ;• Dispositif à 2 états TOR (D2SD) ;• Dispositif à 3 états TOR (D3SD).

La commande Programme/Opérateur vous permet de commander ces instructions simultanément depuis votre programme utilisateur et depuis une interface opérateur. En commande Programme, l’instruction est commandée par les entrées Programme dans l’instruction ; en commande Opérateur, l’instruction est commandée par les entrées Opérateur dans l’instruction.

La commande Programme ou Opérateur est déterminée par l’utilisation des entrées suivantes :

Pour déterminer si une instruction est en commande Programme ou Opérateur, examinez la sortie ProgOper. Si ProgOper est activée, l’instruction est en commande Programme ; si ProgOper est désactivée, l’instruction est en commande Opérateur.

La commande Opérateur est prioritaire sur la commande Programme si les deux bits de requête d’entrée sont activés. Par exemple, si ProgProgReq et ProgOperReq sont activés, l’instruction passe en commande Opérateur.

Entrée Description

.ProgProgReq Requête d’un programme pour passer en commande Programme.

.ProgOperReq Requête d’un programme pour passer en commande Opérateur.

.OperProgReq Requête d’un opérateur pour passer en commande Programme.

.OperOperReq Requête d’un opérateur pour passer en commande Opérateur.

Publication 1756-PM001E-FR-P - Août 2002

Page 163: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-13

Les entrées de requête Programme sont prioritaires sur les entrées de requête Opérateur. Ceci permet d’utiliser les entrées ProgProgReq et ProgOperReq pour « verrouiller » une instruction dans une commande. Supposons par exemple qu’une instruction Totalisateur soit toujours utilisée en commande Opérateur et que votre programme utilisateur ne commande jamais le fonctionnement ou l’arrêt du Totalisateur. Dans ce cas, vous pouvez relier une valeur littérale de 1 dans ProgOperReq, ce qui empêche l’opérateur de mettre le Totalisateur en commande Programme par l’activation de OperProgReq à partir d’une interface opérateur.

L’entrée ProgOperReq étant toujours activée, appuyer sur le bouton « Program » sur la face avant (ce qui active l’entrée OperProgReg) n’a aucun effet. Normalement, l’activation de OperProgReq met l’instruction TOT en commande Programme.

Relier un « 1 » dans ProgOperReq signifie que le programme utilisateur veut que l’instruction TOT soit toujours en commande Opérateur.

Publication 1756-PM001E-FR-P - Août 2002

Page 164: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-14 Programmation d’un diagramme de blocs fonctionnels

De même, l’activation permanente de ProgProgReq peut « verrouiller » l’instruction en commande Programme. C’est utile pour les séquences de démarrage automatique lorsque vous voulez que le programme commande l’action de l’instruction, sans avoir à vous soucier d’un opérateur qui prendrait la commande de l’instruction par inadvertance. Dans cet exemple, votre programme active l’entrée ProgProgReq au démarrage, puis l’efface une fois le démarrage terminé. Une fois l’entrée ProgProgReq effacée, l’instruction reste en commande Programme jusqu’à ce qu’elle reçoive une demande de changement. Par exemple, l’opérateur peut activer l’entrée OperOperReq à partir de la face avant pour reprendre la commande de l’instruction. L’exemple suivant montre comment verrouiller une instruction en commande Programme.

Les entrées de requête Opérateur d’une instruction sont toujours effacées par l’instruction lorsqu’elle est exécutée. De cette façon, les interfaces opérateur peuvent fonctionner avec ces instructions simplement en activant le bit de requête de mode souhaité. Vous n’avez pas besoin de programmer l’interface opérateur pour réinitialiser les bits de requête. Par exemple, si une interface opérateur active l’entrée OperAutoReq sur une instruction PIDE, lorsque cette dernière est exécutée, elle détermine la réponse appropriée et efface OperAutoReq.

Lorsque StartupSequenceActive est activé, l’instruction PIDE passe en commande Programme et en mode Manuel. La valeur StartupCV est utilisée comme sortie de boucle.

Publication 1756-PM001E-FR-P - Août 2002

Page 165: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-15

En principe, les entrées de requête Programme ne sont pas effacées par l’instruction, parce qu’elles sont généralement reliées comme entrées dans l’instruction. Si l’instruction efface ces entrées, l’entrée est réactivée par l’entrée reliée. Il peut arriver que vous souhaitiez utiliser une autre logique pour activer les requêtes Programme, de sorte que ces dernières soient effacées par l’instruction. Dans ce cas, vous pouvez activer l’entrée ProgValueReset et l’instruction, lors de son exécution, effacera systématiquement les entrées de requête du mode Programme.

Dans cet exemple, une ligne de logique à relais d’un autre sous-programme est utilisée pour verrouiller par impulsion ProgAutoReq sur une instruction PIDE, sur activation d’un bouton-poussoir. L’instruction PIDE efface automatiquement les requêtes de mode Programme, vous n’avez donc pas besoin d’écrire une logique à relais pour effacer ProgAutoReq après l’exécution du sous-programme : l’instruction PIDE recevra une seule requête pour passer en mode Auto chaque fois que le bouton-poussoir sera activé.

Appuyer sur le bouton-poussoir TIC101AutoReq verrouille par impulsion ProgAutoReq sur une instruction PIDE TIC101. TIC101 a été configuré avec l’entrée ProgValueReset activée : par conséquent, lorsque l’instruction PIDE est exécutée, elle efface automatiquement ProgAutoReq.

Publication 1756-PM001E-FR-P - Août 2002

Page 166: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-16 Programmation d’un diagramme de blocs fonctionnels

Ajouter une page Pour ajouter une page à un sous-programme de blocs fonctionnels :

1. Cliquez sur

2. Entrez une description de la page (50 caractères max.).

Ajouter un élément de bloc fonctionnel

Utilisez la barre d’outils « Language Element » (Eléments du langage) pour ajouter un élément de bloc fonctionnel à votre sous-programme.

1. 2.

IREF OCONOREF ICON blocs fonctionnels

autres blocs fonctionnels

Publication 1756-PM001E-FR-P - Août 2002

Page 167: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-17

Pour ajouter un élément :

1. Dans la barre d’outils Langage Element, cliquez sur le bouton correspondant à l’élément que vous voulez ajouter.

2. Faites glisser l’élément à l’emplacement souhaité.

Vous pouvez également faire glisser le bouton de l’élément directement à l’emplacement souhaité.

Par exemple

Par exemple :

Publication 1756-PM001E-FR-P - Août 2002

Page 168: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-18 Programmation d’un diagramme de blocs fonctionnels

Connexion d’éléments Pour définir le flux de données, vous avez différentes options :

Afficher ou masquer une borne

Lorsque vous ajoutez une instruction de bloc fonctionnel, une série de bornes par défaut pour les paramètres apparaît. Les autres bornes sont masquées. Pour afficher ou masquer une borne :

1. Cliquez sur le bouton du bloc.

2. Effacez ou cochez la case Vis de la borne.

3. Cliquez sur

Afficher ou masquer une borne

Relier des éléments entre eux

Marquez une liaison avec l’indicateur « Assume Data Available »

Pour Alors

masquer une borne Effacez (supprimez la coche) la case Vis correspondante.

afficher une borne Cochez la case Vis correspondante.

2.

Publication 1756-PM001E-FR-P - Août 2002

Page 169: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-19

Relier des éléments entre eux

Pour relier (connecter) deux éléments, cliquez sur la borne de sortie du premier élément, puis sur la borne d’entrée de l’autre élément. Un point vert indique un point de connexion valable.

Par exemple :

Marquez une liaison avec l’indicateur « Assume Data Available »

Pour définir une liaison comme une entrée, cliquez sur la liaison avec le bouton droit de la souris et sélectionnez Assume Data Available (Prendre les données disponibles).

point vert

A B

1 2 3

Liaison d’entrée

Publication 1756-PM001E-FR-P - Août 2002

Page 170: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-20 Programmation d’un diagramme de blocs fonctionnels

Attribution d’un point Vous pouvez attribuer un point à un élément de bloc fonctionnel de l’une des façons suivantes :

Créer et attribuer un nouveau point

1. Cliquez deux fois sur la zone de l’opérande.

2. Entrez un nom pour le point et appuyez sur la touche Entrée.

3. Cliquez sur le nom du point avec le bouton droit de la souris et sélectionnez New "tag_name" (Nouveau « nom_de_point »).

4. Cliquez sur le bouton .

5. Sélectionnez le type de données du point.

6. Si vous voulez définir le point comme un tableau, entrez le nombre d’éléments dans chaque dimension.

7. Cliquez sur

Créer et attribuer un nouveau point

Renommer le point d’un bloc fonctionnel

Attribuer un point existant

4.

5.

6.

Publication 1756-PM001E-FR-P - Août 2002

Page 171: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-21

8. Sélectionnez l’accès pour le point.

9. Cliquez sur

Renommer le point d’un bloc fonctionnel

1. Cliquez sur le bouton du bloc.

2. Cliquez sur l’onglet Tag (Point).

3. Entrez le nouveau nom de point du bloc.

4. Cliquez sur

Attribuer un point existant

1. Cliquez deux fois sur la zone de l’opérande.

2. Cliquez sur la flèche ▼.

3. Sélectionnez le point :

4. Appuyez sur la touche [Entrée] ou cliquez sur un autre point du diagramme.

8.

3.

Pour sélectionner Faites ceci

un point Cliquez deux fois sur le nom du point.

le numéro d’un bit A. Cliquez sur le nom du point.B. A droite du nom du point, cliquez sur .C. Cliquez sur le bit requis.

Bloc_01

Publication 1756-PM001E-FR-P - Août 2002

Page 172: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-22 Programmation d’un diagramme de blocs fonctionnels

Attribution d’une valeur immédiate (constante)

Pour attribuer une valeur constante plutôt qu’une valeur de point à un paramètre d’entrée, vous avez différentes options :

Utiliser une IREF

1. Ajoutez une IREF.

2. Reliez l’IREF à la borne d’entrée qui reçoit la valeur.

3. Cliquez deux fois sur la zone de l’opérande de l’IREF.

4. Entrez la valeur et appuyez sur touche Entrée.

Entrer une valeur dans le point d’un bloc

Pour attribuer une valeur à un paramètre lorsqu’une liaison est connectée à sa borne :

1. Cliquez sur le bouton du bloc.

2. Entrez la valeur.

3. Cliquez sur

Pour Alors

rendre la valeur visible sur le diagramme et sur les rapports

Utiliser une IREF

pouvoir changer la valeur en ligne sans modifier le sous-programme

Entrer une valeur dans le point d’un bloc

3.

2.

Publication 1756-PM001E-FR-P - Août 2002

Page 173: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’un diagramme de blocs fonctionnels 7-23

Connexion de blocs avec un connecteur OCON et un connecteur ICON

Pour transférer des données d’une page à une autre ou dans des liaisons complexes :

Ajouter un connecteur OCON

1. Ajouter un connecteur de liaison de sortie (OCON) et placez-le près de la borne de sortie qui fournit la valeur.

2. Reliez le connecteur OCON à la borne de sortie.

3. Cliquez deux fois sur la zone de l’opérande du connecteur OCON.

4. Entrez un nom pour identifier le connecteur et appuyez sur la touche [Entrée].

Ajouter un connecteur ICON

1. Ajoutez un connecteur de liaison d’entrée (ICON) et placez-le près de la borne d’entrée qui reçoit la valeur du connecteur OCON correspondant.

2. Reliez le connecteur ICON à la borne d’entrée.

3. Cliquez deux fois sur la zone de l’opérande du connecteur ICON.

4. Sélectionnez le nom du connecteur OCON qui fournit la valeur à ce connecteur, puis cliquez sur un endroit vide du diagramme.

Ajouter un connecteur OCON

Ajouter un connecteur ICON

OCONICON

Publication 1756-PM001E-FR-P - Août 2002

Page 174: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

7-24 Programmation d’un diagramme de blocs fonctionnels

Vérification du sous-programme

Vérifiez régulièrement votre travail pendant la programmation de votre sous-programme :

1. Dans la barre d’outils supérieure de la fenêtre du logiciel RSLogix 5000,

cliquez sur l’icône .

2. Si des erreurs sont indiquées au bas de la fenêtre :a. pour aller à la première erreur ou au premier avertissement, appuyez

sur la touche [F4] ;b. corrigez l’erreur selon la description donnée dans la fenêtre des

résultats (Results) ;c. retournez à l’étape 1.

3. Pour afficher la fenêtre des résultats, appuyez sur les touches [Alt] + [1].

Publication 1756-PM001E-FR-P - Août 2002

Page 175: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 8

Programmation d’une logique à relais

Quand utiliser cette procédure

Utilisez cette procédure pour effectuer les opérations suivantes :

• développer la logique pour un sous-programme logique à relais ;• entrer la logique dans le sous-programme.

Avant d’utiliser cette procédure

Vous devez savoir effectuer les tâches suivantes :

Pour de plus amples informations sur l’une de ces tâches, voir « Organisation des tâches, programmes et sous-programmes », page 2-1.

Comment utiliser cette procédure

Les étapes de programmation d’un sous-programme logique à relais sont les suivantes :

Ouvrir et fermer un dossier

Création d’un sous-programme✓

Revoir les Définitions

Ecriture de la logique à relais

Entrée de la logique à relais

Attribution des opérandes

Vérification du sous-programme

1 Publication 1756-PM001E-FR-P - Août 2002

Page 176: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-2 Programmation d’une logique à relais

Définitions Avant d’écrire ou d’entrer la logique à relais, revoyez les termes suivants :

• Instruction• Branche• Condition de ligne

Instruction

Une logique à relais est constituée de lignes sur une échelle, chaque ligne comportant des instructions. Il existe deux types d’instructions de base :

Instruction d’entrée : instruction qui vérifie, compare et examine des conditions particulières dans votre machine ou votre procédé.

Instruction de sortie : instruction qui exécute une action, comme démarrer ou arrêter un équipement, copier des données ou calculer une valeur.

Branche

Une branche est constituée de deux instructions parallèles ou plus.

instructions d’entrée instructions de sortie

branchebranche

Publication 1756-PM001E-FR-P - Août 2002

Page 177: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-3

Le nombre de niveaux de branches parallèles que vous pouvez entrer n’est pas limité. La figure suivante montre une branche parallèle à cinq niveaux. La ligne principale est le premier niveau de branche, suivi par quatre branches supplémentaires.

Vous pouvez imbriquer jusqu’à 6 niveaux. La figure suivante montre une branche imbriquée. L’instruction de sortie du bas est sur une branche imbriquée à trois niveaux.

instruction d’entrée instruction de sortie

instruction d’entrée instruction de sortie

Publication 1756-PM001E-FR-P - Août 2002

Page 178: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-4 Programmation d’une logique à relais

Condition de ligne

L’automate évalue les instructions à relais selon l’état (condition) de la ligne précédant l’instruction (état d’entrée de la ligne).

Seules les instructions d’entrée agissent sur l’état d’entrée de la ligne des instructions suivantes de la ligne.

• Si l’état d’entrée de la ligne vers une instruction d’entrée est vrai, l’automate évalue l’instruction et règle l’état de sortie de la ligne pour qu’il reflète les résultats de l’évaluation :– si l’instruction est évaluée comme vraie, l’état de sortie de la ligne est

vrai ;– si l’instruction est évaluée comme fausse, l’état de sortie de la ligne

est faux.• Une instruction de sortie ne change pas l’état de sortie de la ligne :

– si l’état d’entrée de la ligne vers une instruction de sortie est vrai, l’état de sortie de la ligne est réglé sur vrai ;

– si l’état d’entrée de la ligne vers une instruction de sortie est faux, l’état de sortie de la ligne est réglé sur faux.

instruction d’entrée

état d’entrée de la ligne

instruction de sortie

état de sortie de la ligne

Publication 1756-PM001E-FR-P - Août 2002

Page 179: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-5

Ecriture de la logique à relais

Pour développer votre logique à relais, vous devez effectuer les opérations suivantes :

Choisir les instructions requises

1. Séparez les conditions à vérifier de l’action à exécuter.

2. Choisissez l’instruction d’entrée appropriée pour chaque condition et l’instruction de sortie appropriée pour chaque action.

Pour choisir des instructions particulières, consultez les manuels suivants :

• Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003)

• Logix5000 Controllers Process and Drives Instructions Reference Manual (publication 1756-RM006)

• Logix5000 Controllers Motion Instruction Set Reference Manual (publication 1756-RM007)

Les exemples présentés dans ce chapitre utilisent deux instructions simples pour vous aider à apprendre comment écrire une logique à relais. Les règles que vous apprendrez pour ces instructions sont également valables pour toutes les autres instructions.

Choisir les instructions requises

Organiser les instructions d’entrée

Organiser les instructions de sortie

Choisir un nom de point pour un opérande

Symbole Nom Mnémonique Description

Examiner si fermé (Examine If Closed)

XIC Instruction d’entrée qui lit un bit de données.

Si le bit est L’instruction (état de sortie de la ligne) est

activé (1) vraie

désactivé (0) fausse

Activation de sortie (Output Energize)

OTE Instruction de sortie qui commande un bit de données.

Si les instructions à gauche (état d’entrée de la ligne) sont

Le bit est

vraies activé (1)

fausses désactivé (0)

Publication 1756-PM001E-FR-P - Août 2002

Page 180: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-6 Programmation d’une logique à relais

Organiser les instructions d’entrée

Utilisez le tableau suivant pour organiser les instructions :

Pour vérifier plusieurs conditions d’entrée quand Organiser les instructions d’entrée

toutes les conditions doivent être remplies pour qu’une action soit exécutée

Par exemple, si condition_1 ET condition_2 ET condition_3…

en série

l’une des conditions doit être remplie pour qu’une action soit exécutée

Par exemple, si condition_1 OU condition_2 OU condition_3…

en parallèle

il y a une combinaison des possibilités précédentes

Par exemple :Si condition_1 ET condition_2…OUSi condition_3 ET condition_2…

en combinaison

condition_1 condition_2 condition_3

condition_1

condition_2

condition_3

condition_1 condition_2

condition_3

CONSEIL L’automate exécute toutes les instructions d’une ligne, quel que soit leur état d’entrée. Pour optimiser les performances d’une série d’instructions, ordonnez-les, celle ayant la plus forte probabilité d’être fausse à gauche à celle ayant la plus faible probabilité d’être fausse à droite.

Lorsque l’automate trouve une instruction fausse, il exécute les instructions restantes de la série avec leur état d’entrée de ligne réglé sur faux. En principe, une instruction est exécutée plus rapidement lorsque son état d’entrée de ligne (sa ligne) est faux.

instruction ayant la plus forte probabilité d’être

FAUSSE

instruction ayant la plus faible probabilité d’être

FAUSSE

Publication 1756-PM001E-FR-P - Août 2002

Page 181: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-7

Organiser les instructions de sortie

Placez au moins une instruction de sortie à droite des instructions d’entrée. Vous pouvez entrer plusieurs instructions de sortie par ligne de logique, comme indiqué ci-après :

Option Exemple

Placer les instructions de sortie en séquence sur la ligne (en série).

Placer les instructions de sortie en branches (en parallèle).

Placer les instructions de sortie entre des instructions d’entrée, pourvu que la dernière instruction de la ligne soit une instruction de sortie.

Publication 1756-PM001E-FR-P - Août 2002

Page 182: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-8 Programmation d’une logique à relais

Choisir un nom de point pour un opérande

La plupart des instructions requièrent un ou plusieurs des types d’opérandes suivants :

• nom de point (variable) ;• valeur immédiate (constante) ;• nom d’un sous-programme, d’une étiquette, etc.

Le tableau suivant décrit le format d’un nom de point :

où :

x est l’emplacement de l’élément dans la première dimension ;

y l’emplacement de l’élément dans la deuxième dimension ;

z l’emplacement de l’élément dans la troisième dimension.

Pour une structure à l’intérieur d’une structure, ajoutez un .nom_de_membre supplémentaire.

Pour Indiquez

un point nom_du_point

le numéro d’un bit d’un type de donnée plus grand nom_du_point.numéro_du_bit

un membre d’une structure nom_du_point.nom_du_membre

un élément d’un tableau à une dimension nom_du_point[x]

un élément d’un tableau à deux dimensions nom_du_point[x,y]

un élément d’un tableau à trois dimensions nom_du_point[x,y,z]

un élément d’un tableau dans une structure nom_du_point.nom_du_membre[x]

un membre d’un élément dans un tableau nom_du_point[x,y,z].nom_du_membre

Publication 1756-PM001E-FR-P - Août 2002

Page 183: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-9

EXEMPLE Choisir un nom de point pour un opérande

42357

Pour accéder Le nom du point ressemble à ceci

au point machine_on

au bit numéro 1 du point one_shots

au membre (bit) DN du temporisateur running_seconds

au membre mix du point north_tank

à l’élément 2 du tableau recipe et à l’élément 1,1 du tableau tanks

à l’élément 2 du tableau preset dans le point north_tank

au membre part_advance de l’élément 1 du tableau drill

machine_on

one_shots.1

running_seconds.DN

north_tank.mix

Copy FileSource recipe[2]Dest tanks[1,1]Length 1

COP

ClearDest north_tank.preset[2]

0

CLR

drill[1].part_advance

Publication 1756-PM001E-FR-P - Août 2002

Page 184: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-10 Programmation d’une logique à relais

Entrée de la logique à relais

Un nouveau sous-programme contient une ligne prête à recevoir des instructions.

Utilisez la barre d’outils « Language Element » (Eléments du langage) pour ajouter un élément de logique à relais à votre sous-programme.

Pour ajouter un élément :

Ajouter un élément au niveau du curseur

1. Cliquez (sélectionnez) l’instruction, la branche ou la ligne au-dessus ou à gauche de l’endroit où vous voulez ajouter un élément.

2. Dans la barre d’outils Langage Elements, cliquez sur le bouton correspondant à l’élément que vous voulez ajouter.

curseur (bleu) Lorsque vous ajoutez une instruction ou une branche, elle apparaît à droite du curseur.

Lorsque vous ajoutez une ligne, elleapparaît sous le curseur.

Ajouter un élément au niveau du curseur

Glisser-déplacer un élément

ligne XICbranche

niveau de branche

autres instructions

XIO OTE OTU OTL

Publication 1756-PM001E-FR-P - Août 2002

Page 185: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-11

Glisser-déplacer un élément

Faites glisser le bouton de l’élément directement à l’emplacement souhaité. Un point vert indique un emplacement valable (point de dépôt).

Par exemple :

Attribution des opérandes Pour attribuer un opérande, vous avez différentes options :

Créer et attribuer un nouveau point

1. Cliquez sur la zone de l’opérande de l’instruction.

2. Entrez un nom pour le point et appuyez sur la touche [Entrée].

3. Cliquez sur le nom du point avec le bouton droit de la souris et sélectionnez New "tag_name" (Nouveau « nom_de_point »).

4. Cliquez sur le bouton .

Créer et attribuer un nouveau point

Choisir un nom ou un point existant

Faire glisser un point de la fenêtre des points

Attribuer une valeur immédiate (constante)

4.

Publication 1756-PM001E-FR-P - Août 2002

Page 186: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-12 Programmation d’une logique à relais

5. Sélectionnez le type de données du point.

6. Si vous voulez définir le point comme un tableau, entrez le nombre d’éléments dans chaque dimension.

7. Cliquez sur

8. Sélectionnez l’accès pour le point.

9. Cliquez sur

5.

6.

8.

Publication 1756-PM001E-FR-P - Août 2002

Page 187: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Programmation d’une logique à relais 8-13

Choisir un nom ou un point existant

1. Cliquez deux fois sur la zone de l’opérande.

Une zone de saisie de texte apparaît.

2. Cliquez sur la flèche ▼.

3. Sélectionnez le nom :

4. Appuyez sur la touche [Entrée] ou cliquez sur un autre point du diagramme.

Faire glisser un point de la fenêtre des points

1. Recherchez le point dans la fenêtre des points.

2. Cliquez deux ou trois fois sur le point afin de le sélectionner.

3. Faites glisser le point vers son emplacement dans l’instruction.

Attribuer une valeur immédiate (constante)

1. Cliquez sur la zone de l’opérande de l’instruction.

2. Entrez la valeur et appuyez sur la touche [Entrée].

Pour sélectionner Faites ceci

une étiquette, un nom de sous-programme ou un type de nom similaire

Cliquez sur le nom.

un point Cliquez deux fois sur le nom du point.

le numéro d’un bit A. Cliquez sur le nom du point.B. A droite du nom du point, cliquez sur .C. Cliquez sur le bit requis.

Publication 1756-PM001E-FR-P - Août 2002

Page 188: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8-14 Programmation d’une logique à relais

Vérification du sous-programme

Vérifiez régulièrement votre travail pendant la programmation de votre sous-programme :

1. Dans la barre d’outils supérieure de la fenêtre du logiciel RSLogix 5000,

cliquez sur l’icône .

2. Si des erreurs sont indiquées au bas de la fenêtre :a. pour aller à la première erreur ou au premier avertissement, appuyez

sur la touche [F4] ;b. corrigez l’erreur selon la description donnée dans la fenêtre des

résultats (Results) ;c. retournez à l’étape 1.

3. Pour afficher la fenêtre des résultats, appuyez sur les touches [Alt] + [1].

Publication 1756-PM001E-FR-P - Août 2002

Page 189: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 9

Accès aux valeurs système

Quand utiliser cette procédure

Utilisez cette procédure pour obtenir ou utiliser des informations d’état sur votre automate Logix5000.

Comment utiliser cette procédure

Surveillance des indicateurs d’état

L’automate accepte des mots clés d’état que vous pouvez utiliser dans votre logique pour surveiller des événements particuliers :

• les mots clés d’état ne font pas de distinction entre majuscules et minuscules ;

• les indicateurs d’état pouvant changer très rapidement, le logiciel RSLogix 5000 n’affiche pas l’état des indicateurs (même lorsqu’un indicateur d’état est activé, une instruction qui a une référence à cet indicateur n’est pas en surbrillance) ;

• vous ne pouvez pas attribuer un alias de point à un mot clé.

Vous pouvez utiliser les mots clés suivants :

Pour Voir

utiliser des mots clés spécifiques dans votre logique pour surveiller des événements particuliers

« Surveillance des indicateurs d’état », page 9-1

obtenir ou définir des valeurs système « Obtention et définition des données système », page 9-3

obtenir des informations sur la mémoire de l’automate « Informations sur la mémoire de l’automate », page 9-5

1 Publication 1756-PM001E-FR-P - Août 2002

Page 190: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

9-2 Accès aux valeurs système

Pour déterminer si Utilisez

la valeur que vous stockez ne peut pas entrer dans la destination parce qu’elle est :• supérieure à la valeur maximale de la destination• inférieure à la valeur minimale de la destination

Important : chaque fois que S:V passe d’effacé à activé, il génère un défaut mineur (type 4, code 4)

S: V

la valeur de destination de l’instruction est 0 S:Z

la valeur de destination de l’instruction est négative S:N

une opération arithmétique entraîne un report ou une retenue qui essaie d’utiliser des bits en dehors du type de données

Par exemple :• ajouter 3 à 9 entraîne un report de 1• soustraire 25 de 18 entraîne une retenue de 10

S:C

c’est la première scrutation normale des sous-programmes dans le programme en cours S:FS

au moins un défaut mineur a été généré• l’automate active ce bit lorsqu’un défaut mineur se produit en raison de l’exécution du

programme ;• l’automate n’active pas ce bit pour les défauts mineurs qui ne sont pas liés à l’exécution du

programme, tels qu’une pile déchargée.

S:MINOR

Publication 1756-PM001E-FR-P - Août 2002

Page 191: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Accès aux valeurs système 9-3

Obtention et définition des données système

L’automate stocke les données système dans des objets. Il n’y a pas de fichier d’état comme dans l’automate PLC-5. Utilisez les instructions GSV/SSV pour obtenir et définir les données système de l’automate qui sont stockées dans des objets :

• l’instruction GSV récupère les informations indiquées et les place dans la destination ;

• l’instruction SSV définit l’attribut indiqué avec des données de la source.

Pour obtenir et définir une valeur système :

1. Ouvrez le projet RSLogix 5000.

2. Dans le menu Help (Aide), sélectionnez Contents (Sommaire de l’aide).

3. Cliquez sur l’onglet Index.

4. Entrez gsv/ssv objects (objets gsv/ssv) et cliquez sur Display (Afficher).

5. Cliquez sur l’objet choisi.

ATTENTION

!Utilisez l’instruction SSV avec précaution. Apporter des changements aux objets peut entraîner un fonctionnement inattendu de l’automate ou des blessures corporelles.

Pour obtenir ou définir Cliquez sur

l’axe d’un servo-module AXIS

une tranche de temps d’activité du système CONTROLLER

les composants matériels d’un automate CONTROLLERDEVICE

un temps système coordonné pour les équipements d’un châssis

CST

un driver de communication DF1 pour le port série DF1

l’historique des défauts d’un automate FAULTLOG

les attributs d’une instruction de message MESSAGE

l’état, les défauts et le mode d’un module MODULE

un groupe d’axes MOTIONGROUP

des informations sur les défauts ou le temps de scrutation d’un programme

PROGRAM

le numéro d’instance d’un sous-programme ROUTINE

la configuration du port série SERIALPORT

les propriétés ou le temps écoulé d’une tâche TASK

le temps d’horloge d’un automate WALLCLOCKTIME

Publication 1756-PM001E-FR-P - Août 2002

Page 192: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

9-4 Accès aux valeurs système

6. Dans la liste des attributs de l’objet, identifiez l’attribut auquel vous voulez accéder.

7. Créez un point pour la valeur de l’attribut :

8. Dans votre sous-programme logique à relais, entrez l’instruction appropriée :

9. Attribuez les opérandes requis à l’instruction :

Si le type de données de l’attribut est

Alors

un élément (ex. DINT) Créez un point pour l’attribut.

plus d’un élément (ex. DINT[7] ) A. Créez un type de données utilisateur correspondant à l’organisation des données utilisée par l’attribut.

B. Créez un point pour l’attribut et utilisez le type de données de l’étape A.

Pour Entrez cette instruction

obtenir la valeur d’un attribut GSV

définir la valeur d’un attribut SSV

Pour cet opérande Sélectionnez

Nom de classe le nom de l’objet

Nom d’instance le nom de l’objet spécifique (ex. : le nom du module d’E/S, de la tâche, du message requis)

• Tous les objets ne requièrent pas cette entrée.

• Pour indiquer la tâche, le programme ou le sous-programme en cours, sélectionnez THIS.

Nom d’attribut le nom de l’attribut

Dest (GSV) le point qui stocke la valeur obtenue• Si le point est un type de données

utilisateur ou un tableau, sélectionnez le premier membre ou le premier élément.

Source (SSV) le point qui stocke la valeur à définir• Si le point est un type de données

utilisateur ou un tableau, sélectionnez le premier membre ou le premier élément.

Publication 1756-PM001E-FR-P - Août 2002

Page 193: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Accès aux valeurs système 9-5

L’exemple suivant montre comment obtenir la date et l’heure en cours.

Pour de plus amples informations, voir Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003).

Informations sur la mémoire de l’automate

La mémoire de l’automate se compose de la mémoire d’E/S et de la mémoire d’extension. Le tableau suivant montre comment l’automate utilise chaque type de mémoire :

EXEMPLE Obtenir une valeur système

Lors de la première scrutation, récupère l’attribut DateTime de l’objet WALLCLOCKTIME et le stocke dans le point wall_clock, qui est basé sur un type de données utilisateur.

42370

Ceci Utilise ce type de mémoire

points d’E/S mémoire d’E/S

points produits

points consommés

communication par instructions de message (MSG)

communication avec des stations

communication avec les points interrogés (OPC/DDE) qui utilisent le logiciel RSLinx(1)

(1) Pour communiquer avec les points interrogés, l’automate utilise la mémoire d’E/S et d’extension.

points autres que les points d’E/S, produits ou consommés mémoire d’extension

sous-programmes logiques

communication avec les points interrogés (OPC/DDE) qui utilisent le logiciel RSLinx(1)

Publication 1756-PM001E-FR-P - Août 2002

Page 194: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

9-6 Accès aux valeurs système

Utilisez cette procédure pour obtenir les informations suivantes sur la mémoire d’un automate.

• mémoire d’E/S libre• mémoire d’extension libre• mémoire d’E/S totale• mémoire d’extension totale• plus grand bloc adjacent de mémoire d’E/S• plus grand bloc adjacent de mémoire d’extension

Pour obtenir des informations sur la mémoire de l’automate :

IMPORTANT L’automate renvoie les valeurs en mots de 32 bits. Pour voir une valeur en octets, multipliez-la par 4.

Obtenir des informations sur la mémoire à partir de l’automate

Choisir l’information de mémoire souhaitée

Convertir des INT en DINT

Publication 1756-PM001E-FR-P - Août 2002

Page 195: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Accès aux valeurs système 9-7

Obtenir des informations sur la mémoire à partir de l’automate

Pour obtenir les informations sur la mémoire à partir de l’automate, exécutez une instruction de message (MSG) configurée comme suit :

Propriétés du message – Onglet Configuration

Propriétés du message – Onglet Communication

Pour cet élément Entrez ou sélectionnez Ce qui signifie

Message Type (Type de message)

CIP Generic (Générique CIP) Exécuter une commande de protocole d’information et de contrôle.

Service Type (Type de service) Custom (Personnalisé) Créer un message générique CIP qui n’est pas disponible dans la liste déroulante.

Service Code (Code de service) 3 Utiliser le service GetAttributeList. Ceci vous permet de lire des informations spécifiques sur l’automate.

Class (Classe) 72 Obtenir des informations de l’objet mémoire utilisateur

Instance 1 Cet objet contient une seule instance.

Attribute (Attribut) 0 Valeur nulle.

Source Element (Elément source)

tableau_source de type SINT[12]

Dans cet élément Entrez Ce qui signifie

tableau_source[0] 5 Indiquer 5 attributs

tableau_source[1] 0 Valeur nulle

tableau_source[2] 1 Indiquer la mémoire libre

tableau_source[3] 0 Valeur nulle

tableau_source[4] 2 Indiquer la mémoire totale

tableau_source[5] 0 Valeur nulle

tableau_source[6] 5 Indiquer le plus grand bloc adjacent de mémoire d’extension libre supplémentaire

tableau_source[7] 0 Valeur nulle

tableau_source[8] 6 Indiquer le plus grand bloc adjacent de mémoire d’E/S libre

tableau_source[9] 0 Valeur nulle

tableau_source[10] 7 Indiquer le plus grand bloc adjacent de mémoire d’extension libre

tableau_source[11] 0 Valeur nulle

Source Length (Longueur de la source)

12 Ecrire 12 octets (12 SINT).

Destination tableau_INT de type INT[29]

Pour cet élément Entrez

Path (Chemin) 1, numéro_emplacement_de_l’automate

Publication 1756-PM001E-FR-P - Août 2002

Page 196: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

9-8 Accès aux valeurs système

Choisir l’information de mémoire souhaitée

L’instruction MSG renvoie l’information suivante à tableau_INT (point de destination de l’instruction MSG):

IMPORTANT Pour un automate 1756-L55M16, l’instruction MSG renvoie deux valeurs pour chaque catégorie de mémoire d’extension. Pour déterminer la mémoire d’extension libre ou totale d’un automate 1756-L55M16, ajoutez les deux valeurs de la catégorie.

Si vous voulez cette information Copiez ces éléments de tableau Description

quantité de mémoire d’E/S libre (mots de 32 bits) tableau_INT[3] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[4] 16 bits supérieurs de la valeur de 32 bits

quantité de mémoire d’extension libre (mots de 32 bits) tableau_INT[5] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[6] 16 bits supérieurs de la valeur de 32 bits

(automates 1756-L55M16 uniquement) quantité de mémoire d’extension libre supplémentaire (mots de 32 bits)

tableau_INT[7] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[8] 16 bits supérieurs de la valeur de 32 bits

taille totale de la mémoire d’E/S (mots de 32 bits) tableau_INT[11] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[12] 16 bits supérieurs de la valeur de 32 bits

taille totale de la mémoire d’extension libre (mots de 32 bits)

tableau_INT[13] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[14] 16 bits supérieurs de la valeur de 32 bits

(automates 1756-L55M16 uniquement) mémoire d’extension supplémentaire (mots de 32 bits)

tableau_INT[15] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[16] 16 bits supérieurs de la valeur de 32 bits

(automates 1756-L55M16 uniquement) plus grand bloc adjacent de mémoire d’extension libre supplémentaire (mots de 32 bits)

tableau_INT[19] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[20] 16 bits supérieurs de la valeur de 32 bits

plus grand bloc adjacent de mémoire d’E/S libre (mots de 32 bits)

tableau_INT[23] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[24] 16 bits supérieurs de la valeur de 32 bits

plus grand bloc adjacent de mémoire d’extension libre (mots de 32 bits)

tableau_INT[27] 16 bits inférieurs de la valeur de 32 bits

tableau_INT[28] 16 bits supérieurs de la valeur de 32 bits

Publication 1756-PM001E-FR-P - Août 2002

Page 197: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Accès aux valeurs système 9-9

Convertir des INT en DINT

L’instruction MSG renvoie chaque valeur de mémoire sous forme de deux INT distincts :

• le premier INT représente les 16 bits inférieurs de la valeur ;• le deuxième INT représente les 16 bits supérieurs de la valeur.

Pour convertir les deux INT en une valeur utilisable, utilisez une instruction de copie (COP), où :

Dans l’exemple suivant, l’instruction COP produit la valeur de 32 bits qui représente la quantité de mémoire d’E/S libre, en mots de 32 bits.

Dans cet opérande

Indiquez Ce qui signifie

Source le premier INT des 2 éléments (16 bits inférieurs)

Commencer par les 16 bits inférieurs.

Destination point DINT dans lequel la valeur de 32 bits est stockée

Copier la valeur dans le point DINT.

Longueur 1 Copier 1 fois le nombre d’octets dans le type de données Destination. Dans ce cas, l’instruction copie 4 octets (32 bits), ce qui combine les 16 bits inférieurs et supérieurs dans une valeur de 32 bits.

EXEMPLE Convertir des INT en DINT

• L’élément 3 de tableau_INT représente les 16 bits inférieurs de la quantité de mémoire d’E/S libre. L’élément 4 représente les 16 bits supérieurs.

• Mémoire_ES_libre est un point DINT (32 bits) dans lequel la valeur de la quantité de mémoire d’E/S libre est stockée.

• Pour copier les 32 bits, indiquez une longueur de 1 pour indiquer à l’instruction de copier 1 fois la taille de la Destination (32 bits). Ceci copie les éléments 3 (16 bits) et 4 (16 bits), et place les 32 bits du résultat dans Mémoire_ES_libre.

Publication 1756-PM001E-FR-P - Août 2002

Page 198: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

9-10 Accès aux valeurs système

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 199: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 10

Attribution des alias

Points d’alias Un point d’alias vous permet de créer un point qui représente un autre point.

• Les deux points partagent la ou les mêmes valeurs.• Lorsque la ou les valeurs d’un des points changent, celles de l’autre point

changent également.

Utilisez les alias dans les situations suivantes :

• pour programmer une logique en vue de schémas de câblage• pour attribuer un nom descriptif à un dispositif d’E/S• pour fournir un nom plus simple à un point complexe• pour utiliser un nom descriptif pour un élément de tableau

La fenêtre des points affiche les informations d’alias.

drill_1_depth_limit est un alias pour Local:2:I.Data.3 (un point d’entrée numérique). Lorsque l’entrée est activée, le point d’alias l’est aussi.

drill_1_on est un alias pour Local:0:O.Data.2 (un point de sortie numérique). Lorsque le point d’alias est activé, le point de sortie l’est aussi.

north_tank est un alias pour tanks[0,1].

42360

Le (C) indique que le point est un point d’accès automate.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 200: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

10-2 Attribution des alias

Il est courant d’utiliser les points d’alias pour programmer de la logique avant que des schémas de câblage soient disponibles :

1. Pour chaque dispositif d’E/S, créez un point ayant un nom qui décrit le dispositif, tel que convoyeur pour le moteur du convoyeur.

2. Programmez votre logique en utilisant les noms de point descriptifs. (Vous pouvez même tester votre logique sans vous connecter aux E/S.)

3. Plus tard, lorsque les schémas de câblage sont disponibles, ajoutez les modules d’E/S à la configuration des E/S de l’automate.

4. Pour finir, convertissez les points descriptifs en alias pour leurs points ou canaux d’E/S respectifs.

La logique suivante a été initialement programmée avec des noms de points descriptifs tels que stop et conveyor_on. Ultérieurement, les points ont été convertis en alias pour les dispositifs d’E/S correspondants.

42351

Affichage des informations d’alias

Pour afficher (dans votre logique) le point auquel renvoie un alias :

1. Dans le menu Outils, sélectionnez Options.

2. Cliquez sur l’onglet Affichage du schéma à relais.

3. Sélectionnez la case Afficher informations sur alias de point.

4. Cliquez sur OK.

stop<Local:2:I.Data.1>

start<Local:2:I.Data.0>

machine_on

machine_ondrill_1_on

<Local:0:O.Data.2> drill_1.part_advance

conveyor_on<Local:0:O.Data.0>

stop est un alias pour Local:2:I.Data.1 (bouton d’arrêt sur le panneau de commande opérateur)

conveyor_on est un alias pour Local:0:O.Data.0 (contacteur de démarrage du moteur de convoyeur)

Publication 1756-PM001E-FR-P - Août 2002

Page 201: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Attribution des alias 10-3

Attribution d’un alias Pour attribuer un point en tant que point d’alias pour un autre point :

1. Dans le menu Logique, sélectionnez Modifier points.

2. Sélectionnez l’accès du point.

3. A droite du nom de point, cliquez sur la cellule Alias de.

La cellule affiche le symbole ▼

4. Cliquez sur le symbole ▼

5. Sélectionnez le point que représentera l’alias. :

6. Appuyez sur la touche Entrée ou cliquez sur une autre cellule.

2.

3.

42360

Pour : Faites ceci :

sélectionner un point Cliquez deux fois sur le nom du point.

sélectionner un numéro de bit A. Cliquez sur le nom du point.B. A droite du nom de point, cliquez sur C. Cliquez sur le bit approprié.

Publication 1756-PM001E-FR-P - Août 2002

Page 202: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

10-4 Attribution des alias

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 203: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 11

Attribution d’une adresse indirecte

Quand faut-il attribuer une adresse indirecte ?

Si vous voulez qu’une instruction ait accès à divers éléments d’un tableau, utilisez un point dans l’indice du tableau (une adresse indirecte). En changeant la valeur du point, vous changez l’élément du tableau auquel votre logique fait référence.

Le tableau suivant décrit un certain nombre d’utilisations courantes de l’adresse indirecte.

Lorsque index est égal à 1, array[index] indique ceci.

array[0] 4500

array[1] 6000

array[2] 3000

array[3] 2500

Lorsque index est égal à 2, array[index] indique ceci.

Pour : Utilisez un point dans l’indice et :

sélectionner une recette dans un tableau de recettes

Entrez le numéro de la recette dans le point.

charger la configuration d’une machine spécifique à partir d’un tableau de configurations possibles

Entrez la configuration voulue dans le point.

charger les paramètres ou les états à partir d’un tableau, un élément à la fois

A. Effectuez l’action requise sur le premier élément.

B. Utilisez une instruction ADD pour incrémenter la valeur du point et amener le pointeur sur l’élément suivant du tableau.

enregister les codes d’erreur

effectuer plusieurs actions sur un élément du tableau, puis passer à l’élément suivant

1 Publication 1756-PM001E-FR-P - Août 2002

Page 204: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

11-2 Attribution d’une adresse indirecte

L’exemple suivant charge une série de valeurs prédéterminées dans un temporisateur, une valeur (élément de tableau) à la fois.

EXEMPLE Parcourir un tableau

Le tableau timer_presets stocke dans la ligne suivante une série de valeurs prédéterminées pour la temporisation. Le point north_tank.step pointe vers l’élément de tableau à utiliser. Par exemple, lorsque north_tank.step est égal à 0, l’instruction charge timer_presets[0] dans la temporisation (6 000 ms).

Lorsque north_tank.step_time est terminé, la ligne incrémente north_tank.step au chiffre suivant et cet élément du tableau timer_presets est chargé dans la temporisation.

Lorsque north_tank.step dépasse la taille du tableau, le ligne réinitialise le point pour qu’il démarre au premier élément du tableau. (Le tableau contient les éléments 0 à 3.)

42358

MoveSource timer_presets[north_tank.step]

60000Dest north_tank.step_time.PRE

60000

MOV

/north_tank.step_time.DN

ENDN

Timer On DelayTimer north_tank.step_timePreset 60000Accum 0

TON

north_tank.step_time.DNAddSource A 1

Source B north_tank.step0

Dest north_tank.step0

ADD

EqualSource A north_tank.step

0Source B 4

EQUMoveSource 0

Dest north_tank.step0

MOV

Publication 1756-PM001E-FR-P - Août 2002

Page 205: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Attribution d’une adresse indirecte 11-3

Expressions Vous pouvez également utiliser une expression pour spécifier l’indice d’un tableau.

• Une expression utilise des opérateurs tels que + ou – pour calculer une valeur.

• L’automate calcule le résultat de l’expression et l’utilise en tant qu’indice du tableau.

Vous pouvez utiliser les opérateurs suivants pour spécifier l’indice d’un tableau :

Formatez vos expressions comme suit :

Opérateur : Description :

+ addition

– soustraction/négation

* multiplication

/ division

ABS valeur absolue

AND ET sur bits

FRD Conversion en nombre entier

MOD modulo

NOT NON sur bits

OR OU sur bits

SQR racine carrée

TOD conversion en DCB

TRN troncation

XOR OU exclusif sur bits

Opérateur : Description :

Si l’opérateur requiert : Utilisez ce format : Exemples :

une valeur (point ou expression) opérateur(valeur) ABS(tag_a)

deux valeurs (points, constantes ou expressions)

valeur_a opérateur valeur _b • tag_b + 5• tag_c AND tag_d• (tag_e ** 2) MOD (tag_f / tag_g)

Publication 1756-PM001E-FR-P - Août 2002

Page 206: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

11-4 Attribution d’une adresse indirecte

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 207: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 12

Mise en buffer des E/S

Quand faut-il mettre les E/S dans un buffer ?

La mise en buffer (mémoire tampon) des E/S est une technique dans laquelle la logique ne fait pas référence ou ne manipule pas directement les points des équipements d’E/S réels. Au lieu de cela, la logique utilise une copie des données d’E/S. Mettez les E/S dans un buffer dans les situations suivantes :

• Pour empêcher le changement d’une valeur d’entrée ou de sortie lors de l’exécution d’un programme. (Les E/S sont mises à jour de façon asynchrone par rapport à l’exécution de la logique.)

• Pour copier un point d’entrée ou de sortie dans un membre de structure ou un élément de tableau.

Mise en buffer des E/S Pour mettre les E/S dans un buffer, procédez comme suit :

1. Sur la ligne précédant la logique pour la (les) fonction(s), copiez ou déplacez les données des points d’entrée requis dans les points de buffer correspondants.

2. Dans la logique de la (des) fonction(s), référencez les points de buffer.

3. Sur la ligne suivant la (les) fonction(s), copiez les données des points de buffer dans les points de sortie correspondants.

L’exemple suivant copie les entrées et les sorties dans les points d’une structure destinée à une perceuse.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 208: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

12-2 Mise en buffer des E/S

EXEMPLE Mise en buffer des E/S

Le sous-programme principal exécute les sous-programmes suivants dans l’ordre indiqué.

Le sous-programme map_inputs copie les valeurs des dispositifs d’entrée dans les points correspondants utilisés dans le sous-programme drill.

Le sous-programme drill exécute la logique liée à la perceuse.

Le sous-programme map_outputs copie les valeurs des points de sortie du sous-programme drill dans les dispositifs de sortie correspondants.

42369

Jump to SubroutineRoutine name map_inputs

JSRJump to SubroutineRoutine name drill

JSRJump to SubroutineRoutine name map_outputs

JSR

_1791_8AC:I.Data[0].0 drill[1].depth_limit

_1791_8AC:I.Data[0].4 drill[1].home_limit

/drill[1].part_advance

ONSone_shots.0

drill[1].forward

/drill[1].depth_limit drill[1].forward

drill[1].depth_limit

drill[1].retract

/drill[1].home_limit drill[1].retract

drill[1].forward _1791_8AC:O.Data[0].0

drill[1].retract _1791_8AC:O.Data[0].1

Publication 1756-PM001E-FR-P - Août 2002

Page 209: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Mise en buffer des E/S 12-3

L’exemple suivant utilise l’instruction CPS pour copier un tableau de données représentant les dispositifs d’entrées d’un réseau DeviceNet.

EXEMPLE Buffer des E/S

Local:0:I.Data stocke les données d’entrée du réseau DeviceNet connecté au module 1756-DNB dans l’emplacement 0. Afin de synchroniser les entrées avec l’application, l’instruction CPS copie les données d’entrée sur input_buffer.

• Pendant que l’instruction CPS copie les données, aucune actualisation des E/S ne peut modifier les données.• Au cours de son exécution, l’application utilise les données d’entrée de input_buffer comme entrées.

42578

Synchronous Copy FileSource Local:0:I.Data[0]Dest input_buffer[0]Length 20

CPS

Publication 1756-PM001E-FR-P - Août 2002

Page 210: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

12-4 Mise en buffer des E/S

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 211: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 13

Test d’un projet

Test d’un projet Pour vérifier un projet, procédez comme suit :

• Configuration d’un driver de communication• Chargement d’un projet dans l’automate• Sélection d’un mode pour l’automate• Correction d’un défaut majeur• Sauvegarder les modifications en ligne

En outre, vous pouvez également :

• Utiliser des instructions de commande de programme pour isoler l’exécution de la logique de sous-programmes ou de lignes spécifiques Voir Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003).

• Forcer des valeurs d’entrée ou de sortie. Reportez-vous à« Forçage des éléments de la logique, page 18-1.

Configuration d’un driver de communication

Le logiciel RSLogix 5000 requiert un driver de communication pour communiquer avec un automate. Vous configurez les drivers de communication à l’aide du logiciel RSLinx.

1. Lancez le logiciel RSLinx™.

2. Dans le menu Communications, sélectionnez Configure Drivers (configurer drivers).

3. Dans la liste déroulante Types de driver disponibles, sélectionnez un driver.

4. Cliquez sur Ajoruter nouveau.

5. Pour attribuer un nom descriptif au driver, changez le nom par défaut.

Pour ce réseau Sélectionnez ce driver

Ordinateur de bureau Ordinateur portable

série Equipements DF1 RS-232 Equipements DF1 RS-232

DH+™ 1784-KT/KTX(D)/PKTX(D) 1784-PCMK

ControlNet™ 1784-KTC(X) 1784-PCC

Ethernet™ Equipements Ethernet Equipements Ethernet

DeviceNet Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT)

Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT)

1 Publication 1756-PM001E-FR-P - Août 2002

Page 212: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

13-2 Test d’un projet

6. Choisissez OK.

7. Configurez le driver :

3. Cliquez sur OK.

4. Cliquez sur Close (fermer).

Pour ce driver Faites ceci

série A. Dans la liste déroulante Port Comm, sélectionnez le port série de l’ordinateur que le driver va utiliser.

B. Dans la liste déroulante Equipement, sélectionnez Port série Logix 5550.

C. Cliquez sur Auto configurer.

ControlNet A. Dans le champ Station Name (nom de station), entrez un nom qui identifiera l’ordinateur dans la fenêtre RSWho.

B. Sélectionnez la valeur d’interruption, l’adresse mémoire et l’adresse de base des E/S.

C. Dans le champ Adresse réseau, entrez le numéro de station ControlNet que vous voulez attribuer à l’ordinateur.

DH+ A. Dans la liste déroulante Value (valeur), sélectionnez le type de carte d’interface que le driver va utiliser.

B. Dans la liste Property (propriété), sélectionnez la rubrique suivante.

C. Dans le champ Value, entrez ou sélectionnez la valeur appropriée.

D. Répétez les étapes B. et C. pour les propriétés restantes.

Ethernet Pour chaque équipement Ethernet, présent sur ce réseau, avec lequel vous voulez communiquer (ex., chaque module 1756-ENET ou automate PLC-5E), ajoute une entrée de tableau :

A. Dans la colonne Host Name (nom d’hôte), tapez l’adresse IP ou le nom de l’hôte de l’équipement Ethernet.

B. Voulez-vous communiquer avec un autre équipement Ethernet de ce réseau ?

Si Alors

Oui 1. Choisissez Ajouter nouveau.2. Allez à l’étape A.

Non Allez à l’étape suivante.

Publication 1756-PM001E-FR-P - Août 2002

Page 213: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Test d’un projet 13-3

Chargement d’un projet dans l’automate

Utilisez cette procédure pour charger un projet dans l’automate pour exécuter sa logique.

• Lorsque vous chargez un projet, vous perdez le projet et les données actuellement dans l’automate, si un projet s’y trouve.

• Si la révision de l’automate ne correspond pas à la révision du projet, une invite vous demande de mettre à jour le firmware de l’automate. Le logiciel RSLogix 5000 vous permet de mettre à jour le firmware de l’automate pendant la séquence de chargement.

1. Ouvrez le projet RSLogix 5000 que vous voulez charger.

2. Dans le menu Communications, sélectionnez Who Active.

3. Déroulez le réseau jusqu’à ce que l’automate soit affiché.

4. Sélectionnez l’automate.

5. Chosissez Download (charger).

ATTENTION

!Lorsque vous chargez un projet ou que vous mettez à jour le firmware, tous les axes asservis sont arrêtés. Avant de charger un projet ou de mettre à jour le firmware, assurez-vous que ceci ne provoquera pas de mouvements imprévus d’un axe.

IMPORTANT Pour mettre à jour le firmware de l’automate, installez d’abord un kit de mise à jour du firmware.

• Un kit de mise à jour est disponible sur un CD supplémentaire avec le logiciel RSLogix 5000.

• Pour charger un kit de mise à jour, allez à www.ab.com. Sélectionnez Support produit. Puis, sélectionnez Mises à jour du firmware.

Pour dérouler un réseau d’un niveau, effectuez l’une des actions suivantes :

• Cliquez deux fois sur le réseau.

• Sélectionnez le réseau et appuyez sur la touche →.

• Cliquez sur le bouton +.

Workstation

Linx Gateways, Ethernet

driver

communication module

backplane

controller

+

+

Publication 1756-PM001E-FR-P - Août 2002

Page 214: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

13-4 Test d’un projet

6. Comment le logiciel a-t-il répondu :

7. Chosissez Download (charger).

Le projet est chargé vers l’automate et le logiciel RSLogix 5000 se met en ligne.

8. Passez le reste de cette procédure.

9. Sélectionnez Update Firmware (mettre à jour le firmware).

10. Sélectionnez la révision requise pour l’automate.

11. Sélectionnez Update (mettre à jour).

Une boîte de dialogue vous demande de confirmer la mise à jour.

12. Pour mettre à jour l’automate, sélectionnez Oui.

Les événements suivants se produisent :

• Le firmware de l’automate est mis à jour.• Le projet est chargé dans l’automate.• Le logiciel RSLogix 5000 se met en ligne.

Si le logiciel indique : Alors :

Chargé vers l’automate Allez à l'étape 7.

Echec du chargement vers l’automate. Les révisions du projet hors ligne et du firmware de l’automate ne sont pas compatibles.

Allez à l'étape 9.

43056

10.

11.

Publication 1756-PM001E-FR-P - Août 2002

Page 215: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Test d’un projet 13-5

Sélection d’un mode pour l’automate

Pour vérifier un projet, sélectionnez un mode pour l’automate.

42627

42525

A

B

Pour Sélectionnez l’un de ces modes

Exécution PROG REM

Exécution Programme Test

mettre les entrées dans l’état demandé par la logique du projet

✔ ✔

mettre les sorties dans l’état configuré pour le mode programme

✔ ✔ ✔

exécuter (scruter) des tâches ✔ ✔ ✔

changer le mode de l’automate par le biais du logiciel

✔ ✔ ✔

charger un projet ✔ ✔ ✔ ✔

planifier un réseau ControlNet ✔ ✔

modifier le projet en ligne ✔ ✔ ✔ ✔

envoyer des messages ✔ ✔ ✔

envoyer et recevoir des données en réponse au message d’un autre automate

✔ ✔ ✔ ✔ ✔

produire et consommer des points ✔ ✔ ✔ ✔ ✔

sélection du commutateur à clé

sélection RSLogix 5000

A

B

Publication 1756-PM001E-FR-P - Août 2002

Page 216: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

13-6 Test d’un projet

Correction d’un défaut majeur

Si l’automate passe en mode défaut, un défaut majeur s’est produit et l’automate a arrêté d’exécuter la logique.

Pour corriger un défaut majeur :

1. Cliquez sur le bouton .

2. Utilisez les informations de la liste Défauts récents pour supprimer la cause du défaut. Reportez-vous à« Codes de défaut majeur, page A-1.

3. Cliquez sur le bouton Effacer les défauts majeurs.

Sauvegarder les modifications en ligne

Si vous apportez des modifications au projet pendant que vous êtes en ligne, sauvegardez le projet pour que le fichier du projet hors ligne corresponde au fichier du projet en ligne :

43057

L’automate est en défaut. Un défaut majeur s’est produit et l’automate n’exécute plus sa logique.

1.

CONSEIL Vous pouvez également effacer le défaut majeur en utilisant le commutateur à clé sur l’automate. Mettez le commutateur à clé sur Prog, puis sur Run puis à nouveau sur Prog.

Pour Faites ceci

enregister les modifications et les valeurs de données en ligne

Dans le menu Fichier, sélectionnez Enregistrer.

enregister les modifications en ligne mais pas les valeurs de données en ligne

A. Dans le menu Communications, sélectionnez Hors ligne.

B. Dans le menu Fichier, sélectionnez Enregistrer.

Publication 1756-PM001E-FR-P - Août 2002

Page 217: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 14

Communication avec un autre automate

Quand utiliser cette procédure

Utilisez cette procédure pour transférer des données entre des automates (envoi ou réception de données). Vous pouvez transférer des données en utilisant l’une des méthodes suivantes :

• Production et consommation d’un point• Envoi d’un message

Comment utiliser cette procédure

Sélectionnez une méthode pour le transfert des données entre les automates :

Production et consommation d’un point

Un point produit envoie ses données à un ou plusieurs point consommés (clients) sans utiliser de logique à relais.

Si les données : Alors : Se reporter à la page :

doivent être transmises régulièrement, à une fréquence que vous spécifiez (c.-à-d., déterministe)

Production et consommation d’un point 14-1

sont envoyées lorsqu’une condition spécifique surgit dans votre application

Envoi d’un message 14-11

sont rassemblées à partir de plusieurs automates (et que les points consommés ne sont pas une option ou ne sont pas désirés)

Envoi d’un message vers plusieurs automates

14-13

automate_2

automate_3

automate_4

point consommé

point consommé

point consommé

automate_1

point produit

1 Publication 1756-PM001E-FR-P - Août 2002

Page 218: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-2 Communication avec un autre automate

Vous pouvez utiliser des points produits et consommés avec les combinaisons d’automate et de réseau suivantes.

Les points produits et consommés fonctionnent de la façon suivante :

• Une connexion transfère les données entre les automates :

– Plusieurs automates peuvent consommer (recevoir) les données.– Les données sont mises à jour à l’intervalle entre trames

requis (RPI), comme configuré par les points consommateurs.

• Chaque point produit ou consommé utilise le nombre de connexions suivant :

Cet automate : Peut produire et consommer des points sur ce réseau :

Fond de panier ControlNet Ethernet

SLC 500 ✔

PLC-5 ✔

ControlLogix ✔ ✔ ✔

FlexLogix ✔

SoftLogix ✔

Chaque : Utilise ce nombre de connexions :

point produit nombre_de_consommateurs + 1

point consommé 1

EXEMPLE Connexions utilisées par des points produits ou consommés

• La production d’un point pour 5 automates (consommateurs) utilise 6 connexions (5 consommateurs + 1 = 6).

• La production de 4 points pour un automate utilise 8 connexions :– Chaque point utilise 2 connexions

(1 consommateur + 1 = 2).– 2 connexions par point x 4 points = 8 connexions

• La consommation de 4 points à partir d’un automate utilise 4 connexions (1 connexion par point x 4 points = 4 connexions).

Publication 1756-PM001E-FR-P - Août 2002

Page 219: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-3

Ce que vous devez faire

Pour partager des données avec un ou plusieurs autres automates, procédez comme suit :

• Organiser des points pour les données produites et consommées• Produire un point• Consommer un point produit

Selon votre système, vous devrez peut-être aussi :

• Produire des nombres entiers pour un automate PLC-5C• Produire des REAL pour automate PLC-5C• Consommer des nombres entiers à partir d’un automate PLC-5C• Régler pour les limites de la bande passante

Organiser des points pour les données produites et consommées

Lorsque vous créez des points qui, par la suite, produiront ou consommeront des données (partageront des données), conformez-vous aux directives suivantes :

1. Créez les points avec accès automate. Vous ne pouvez partager que des points d’accès automate.

2. Utilisez un des types de données suivants :• DINT• REAL• tableau de DINT ou de REAL• défini par l’utilisateur

3. Pour partager un type de données autre que ceux listés à la directive 2., créez un type de données défini par l’utilisateur contenant les données requises.

4. Utilisez le même type de données pour le point produit et le ou les point (s) consommé(s) correspondant(s).

5. Pour partager des points avec un automate PLC-5C, utilisez un type de données défini par l’utilisateur. Voir les sections suivantes :• Produire des nombres entiers pour un automate PLC-5C, 14-6• Produire des REAL pour automate PLC-5C, 14-7• Consommer des nombres entiers à partir d’un automate PLC-5C,

14-9

Publication 1756-PM001E-FR-P - Août 2002

Page 220: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-4 Communication avec un autre automate

6. Limitez la taille du point pour qu’il soit inférieur ou égal à 500 octets. Si vous devez transférer plus de 500 octets, créez une logique pour transférer les données en paquets. Reportez-vous à Production d’un tableau de grande taille, page 15-2.

7. Si vous produisez le point sur un réseau ControlNet, le point peut devoir être inférieur à 500 octets. Reportez-vous à Régler pour les limites de la bande passante, page 14-10.

8. Si vous produisez plusieurs points pour le même automate :• Regroupez les données dans un ou plusieurs types de données définis

par l’utilisateur. (Ceci utilise moins de connexions que le fait de produire chaque point séparément)

• Regroupez les données selon des vitesses d’actualisation similaires. (Pour économiser de la bande passante réseau, utilisez un RPI supérieur pour les données non critiques.)

Par exemple, vous pouvez créer un point pour des données critiques et un autre pour des données non critiques.

Produire un point

1. Ouvrez le projet RSLogix 5000 qui contient le point que vous voulez produire.

2. Dans le menu Logique, sélectionnez Modifier points.

3. Dans le menu Accès, sélectionnez nom_de_l’automate(automate). (Seuls les points d’accès automate peuvent produire des données.)

4. Sélectionnez le point qui produira les données et appuyez sur les touches ALT + Entrée.

42352

6.5.

Publication 1756-PM001E-FR-P - Août 2002

Page 221: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-5

5. Sélectionnez le bouton Produit.

6. Tapez ou sélectionnez le nombre d’automates qui vont consommer (recevoir) le point.

7. Cliquez sur OK.

8. Configurez un point dans un ou plusieurs autres automates pour qu’il consomme le point produit. Reportez-vous à Consommer un point produit, page 14-5.

Consommer un point produit

1. Ouvrez le projet RSLogix 5000 qui va consommer le point produit.

2. Dans l’arborescence de l’automate, Configuration des E/S, ajoutez l’automate qui contient le point produit.

3. Dans le menu Logique, sélectionnez Modifier points.

4. Dans le menu Accès, sélectionnez nom_de_l’automate(automate). (Seuls les points d’accès automate peuvent consommer d’autre points.)

5. Sélectionnez le point, dans cet automate, qui va consommer le point produit et appuyez sur les touches ALT + Entrée.

6. Sélectionnez le bouton Consommé.

42353

10.

6.

7.

8.

9.

Publication 1756-PM001E-FR-P - Août 2002

Page 222: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-6 Communication avec un autre automate

7. Sélectionnez l’automate qui contient le point produit.

8. Tapez le nom du point produit.

9. Sélectionnez le même type de données que pour le point produit.

10. Tapez ou sélectionnez le temps prévu entre deux mises à jour du point :• Utilisez la plus grande valeur admissible pour votre application.• Si l’automate consomme le point sur un réseau ControlNet, utilisez

un un multiple binaire du fréquence d’actualisation du réseau (NUT) ControlNet.Par exemple, si le temps de mise à jour du réseau est de 5 ms, entrez une fréquence de 5, 10, 20, 40 ms, etc.

11. Cliquez sur OK.

12. Si vous partagez le point sur un réseau ControlNet, utilisez le logiciel RSNetWorx pour ControlNet pour planifier le réseau.

Produire des nombres entiers pour un automate PLC-5C

1. Ouvrez le projet RSLogix 5000.

2. Créez un type de données défini par l’utilisateur qui contient un tableau INT avec un nombre impair d’éléments, tel que INT[2]. (Lorsque vous produisez des INT, vous devez en produire deux ou plus.)

3. Créez un point produit et sélectionnez le type de données défini par l’utilisateur créé à l’étape 2.

4. Lancez le logiciel RSNetWorx™ for ControlNet.

5. Dans la configuration ControlNet de l’automate PLC-5C cible :a. Insérez une instruction Recevoir message planifié.b. Pour la taille du message, entrez le nombre de nombres entiers dans

le point produit.

6. Dans le logiciel RSNetWorx for ControlNet, planifiez le réseau.

IMPORTANT Si une connexion de point consommé échoue, tous les autres points consommés à partir de cet automate décentralisé arrêtent également de recevoir des données.

Publication 1756-PM001E-FR-P - Août 2002

Page 223: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-7

Produire des REAL pour automate PLC-5C

1. Ouvrez le projet RSLogix 5000.

2. Combien de valeurs voulez-vous produire ?

3. Lancez le logiciel RSNetWorx pour ControlNet.

4. Dans la configuration ControlNet de l’automate PLC-5C cible :a. Insérez une instruction Recevoir message planifié.b. Pour la taille du message, entrez le nombre de REAL dans le point

produit multiplié par deux. Par exemple, si le point produit contient 10 REAL, entrez 20 comme taille du message.

Si vous produisez : Alors :

Une seule valeur REAL Créez un point produit et sélectionnez le type de données REAL.

Plusieurs valeurs REAL A. Créez un type de données défini par l’utilisateur contenant un tableau de REAL.

B. Créez un point produit et sélectionnez le type de données défini par l’utilisateur créé à l’étape A.

CONSEIL Lorsqu’un automate PLC-5C consomme un point produit par un automate Logix5000, il stocke les données dans des nombres entiers de 16 bits consécutifs. Le PLC-5C stocke les données à virgule flottante, qui requièrent 32 bits, quel que soit le type de l’automate, ainsi :

• Le premier nombre entier contient les bits supérieurs de la valeur (les plus à gauche).

• Le deuxième nombre entier contient les bits inférieurs de la valeur (les plus à droite).

• Ce schéma est valable pour toutes les valeurs à virgule flottante.

Publication 1756-PM001E-FR-P - Août 2002

Page 224: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-8 Communication avec un autre automate

5. Dans l’automate PLC-5C, reconstruisez les données à virgule flottante, comme décrit dans l’exemple suivant :

6. Dans le logiciel RSNetWorx pour ControlNet, planifiez le réseau.

EXEMPLE Reconstruction d’une valeur à virgule flottante

Les deux instructions MOV inversent l’ordre des nombres entiers quand ceux-ci sont transférés vers un nouvel emplacement. La destination de la nouvelle instruction COP étant une adresse à virgule flottante, il faut deux nombres entiers contigus, avec un total de 32 bits, qui sont convertis en une seule valeur à virgule flottante.

42354

Publication 1756-PM001E-FR-P - Août 2002

Page 225: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-9

Consommer des nombres entiers à partir d’un automate PLC-5C

1. Lancez le logiciel RSNetWorx pour ControlNet.

2. Dans la configuration de l’automate PLC-5C, insérez un message d’envoi planifié.

3. Ouvrez le projet RSLogix 5000.

4. Dans la fenêtre d’organisation de l’automate, ajoutez l’automate PLC-5C à la configuration des E/S.

5. Créez un type de données défini par l’utilisateur contenant les membres suivants :

6. Créez un point consommé avec les propriétés suivantes :

7. Dans le logiciel RSNetWorx pour ControlNet, planifiez le réseau.

Type de données : Description :

DINT Etat

INT[x], où « x » est la taille de sortie des données de l’automate PLC-5C. (Si vous ne consommez qu’un seul INT, aucune dimension n’est requise.)

Données produites par un automate PLC-5C

Pour cette propriété : Tapez ou sélectionnez :

Type de point Consommé

Automate Le PLC-5C qui produit les données

Instance décentralisée Le numéro du message dans la configuration ControlNet de l’automate PLC-5C

RPI Une puissance de deux fois la valeur NUT du réseau ControlNet. Par exemple, si la valeur NUT est de 5 ms, sélectionnez un RPI de 5, 10, 20, 40, etc.

Type de données Le type de données défini par l’utilisateur que vous avez créé à l’étape 5.

Publication 1756-PM001E-FR-P - Août 2002

Page 226: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-10 Communication avec un autre automate

Régler pour les limites de la bande passante

Lorsque vous partagez un point sur un réseau ControlNet, ce point doit pouvoir passer dans la bande passante du réseau :

• Lorsque le nombre de connexions sur un réseau ControlNet augmente, plusieurs d’entre elles, y compris les points produits et consommés, peuvent avoir à partager un temps de mise à jour du réseau (NUT).

• Un réseau ControlNet ne pouvant communiquer que 500 octets dans un temps de mise à jour du réseau (NUT), les données de chaque connexion doivent être inférieures à 500 octets pour entrer dans le NUT.

Selon la taille de votre système, il se peut que vous n’ayez pas assez de bande passante sur votre réseau ControlNet pour un point de 500 octets. Si un point est trop grand pour le réseau ControlNet, effectuez au moins un des ajustements suivants :

• Diminuez la durée de mise à jour du réseau (NUT). Avec une durée NUT plus courte, moins de connexions doivent partager une mise à jour.

• Augmentez l’intervalle entre trames requis (RPI) de vos connexions. Avec des intervalles RPI plus élevés, les connexions peuvent envoyer des données chacune leur tour pendant une mise à jour.

• Pour un module passerelle ControlNet (CNB) dans un châssis décentralisé, sélectionnez le format de communication le plus efficace pour ce châssis.

Le format natif pour rack utilise 8 octets supplémentaires pour chaque emplacement dans le châssis. Les modules analogiques ou les modules qui envoient ou reçoivent des données de diagnostics, de fusible, d’horodatage ou de planification requièrent des connexions directes et ne peuvent pas utiliser le format natif pour rack. La sélection « Aucun » réserve les 8 octets par emplacement pour d’autres utilisations, telles que points produits ou consommés.

• Séparez le point en deux points, ou plus, plus petits :– Regroupez les données selon des vitesses d’actualisation similaires.

Par exemple, vous pouvez créer un point pour des données critiques et un autre pour des données non critiques.

– Attribuez un RPI différent à chaque point.• Créez une logique pour transférer les données en sections plus petites

(trames). Reportez-vous à Production d’un tableau de grande taille, page 15-2.

Les modules dans le châssis sont-ils, pour la plupart, des modules d’E/S TOR sans diagnostics ?

Sélectionnez alors ce format de communication pour le module CNB décentralisé

Oui Natif pour rack

Non Aucun

Publication 1756-PM001E-FR-P - Août 2002

Page 227: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-11

Envoi d’un message Pour organiser vos données pour un message, conformez-vous aux directives suivantes.

1. Pour chaque message, créez un point qui le commande :

• Créez le point avec accès automate.• Utiliser le type de données MESSAGE.

L’exemple suivant illustre l’utilisation du type de données MESSAGE :

2. Dans le cas des points que les messages vont utiliser (points source ou de destination), créez ces points avec accès automate.

3. Autant que possible, dans l’automate Logix5000, utilisez le type de données DINT pour les nombres entiers :– Les automates Logix5000 fonctionnent de façon plus performante et

utilisent moins de mémoire lorsqu’ils travaillent avec des nombres entiers de 32 bits (DINT).

EXEMPLE Message vers un autre automate Logix5000

Lorsque count_send est activé, count_msg envoit les données.

42188

count_send

/count_msg.en

ENDNER

Type - UnconfiguredMessage Control count_msg ...

MSG

Type : MESSAGEAccès : Automate

Publication 1756-PM001E-FR-P - Août 2002

Page 228: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-12 Communication avec un autre automate

4. Si votre message est en provenance ou à destination d’un automate PLC-5® ou SLC 500™ et qu’il transfère des nombres entiers (et non des REAL), utilisez un buffer de nombres entiers INT :a. Créez un buffer pour les données (accès automate) en utilisant le type

de données INT[x] où

x correspond au nombre de nombre entiers dans le message. (Dans le cas d’un seul nombre entier, omettez [x].)

b. Utilisez le buffer dans le message.c. Utilisez une instruction FAL pour déplacer les données entre le

buffer et votre application.

EXEMPLE Ecriture de valeurs entières dans un automate PLC-5

Déplace en permanence les valeurs du dint_array dans int_buffer, ce qui convertit les valeurs en nombres entiers de 16 bits (INT). L’instruction de message envoie ensuite int_buffer vers un automate PLC-5.

42192

Lecture de valeurs entières à partir d’un automate PLC-5

Lit en permanence les valeurs entières de 16 bits (INT) d’un automate PLC-5 et les stocke dans int_buffer. Ensuite, l’instruction FAL déplace les valeurs dans dint_array, ce qui convertit les valeurs en nombres entiers de 32 bits (DINT) pour utilisation par d’autres instructions du projet.

42192

/message.EN

RESfal_control

EN

DN

ER

File Arith/LogicalControl fal_controlLength ?Position 0Mode allDest int_buffer[fal_control.pos] ??Expression dint_array[fal_control.pos]

FALENDNER

Type - UnconfiguredMessage Control message ...

MSG

/message.EN

ENDNER

Type - UnconfiguredMessage Control message ...

MSG

message.DN

RESfal_control

EN

DN

ER

File Arith/LogicalControl fal_controlLength ?Position 0Mode allDest dint_array[fal_control.pos] ??Expression int_buffer[fal_control.pos]

FAL

Publication 1756-PM001E-FR-P - Août 2002

Page 229: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-13

Envoi d’un message vers plusieurs automates

Utilisez la procédure suivante pour programmer une instruction de message pour la communication avec plusieurs automates. Pour reconfigurer une instruction MSG pendant le fonctionnement, écrivez de nouvelles valeurs dans les membres du type de données MESSAGE.

A. Si vous utilisez un astérisque [*] pour désigner le numéro de l’élément du tableau, la valeur dans fournit le numéro de l’élément.

B. Le champ Index n’est disponible que lorsque vous utilisez un astérisque [*] dans le champ Elément Source ou Elément Destination. L’instruction remplace la valeur du champ Index par l’astérisque [*].

IMPORTANT Dans le type de données MESSAGE, le membre RemoteElement stocke le nom du point ou l’adresse des données dans l’automate qui reçoit le message.

Si le message RemoteElement est

lit des données Elément Source

écrit des données Elément Destination

Nom du point

message

message.RemoteElement.

message.RemoteIndex.

message.LocalIndex.

message.Channel.

message.Rack.

message.Group.

message.Slot.

message.Path.

+

+

+

+

+

+

+

+

43052

A B

B

Publication 1756-PM001E-FR-P - Août 2002

Page 230: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-14 Communication avec un autre automate

Pour envoyer un message à plusieurs automates :

• Régler la configuration des E/S• Définir les éléments Source et Destination• Créer le type de données MESSAGE_CONFIGURATION• Créer le tableau de configuration• Obtenir la taille du tableau local• Charger les propriétés du message d’un automate• Configurer le message• Passer à l’automate suivant• Recommencer la séquence

Régler la configuration des E/S

Bien que ce ne soit pas nécessaire, il est recommandé d’ajouter les modules de communication et les automates décentralisés à la configuration des E/S de l’automate. Ceci facilite la configuration du chemin de chaque automate décentralisé.

Par exemple, après avoir ajouté le module de communication local, le module de communication décentralisé et l’automate de destination, le bouton Naviguer permet de sélectionner la destination.

CONSEIL Pour copier les composants ci-dessus à partir d’un projet d’exemple, ouvrez le dossier …\RSLogix 5000\Projects\Samples .

43055

Ouvrez ce projet.MSG_to_Multiple_Controllers.ACD

Message Path Browser

Path: peer_controller

peer_controller

I/O Configuration

[0] 1756-CNB/x Local_CNB

2 [0] 1756-CNB/x chassis_b

[1] 1756-L55/x peer_controller

Publication 1756-PM001E-FR-P - Août 2002

Page 231: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-15

Définir les éléments Source et Destination

Dans cette procédure, un tableau stocke les données lues à partir de ou écrites vers chaque automate décentralisé. Chaque éléments dans le tableau correspond à un automate décentralisé différent.

1. Utilisez le tableau de travail suivante pour organiser les noms des points dans les automates locaux et décentralisés :

2. Créez le point local_array, qui stocke les données dans cet automate.

Nom de l’automate décentralisé : Point ou adresse des données dans l’automate décentralisé :

Point dans cet automate :

local_array[0]

local_array[1]

local_array[2]

local_array[3]

Nom du point Type

local_array data_type [length ]oùdata_type est le type des données que le message envoit ou reçoit ; comme DINT, REAL ou STRING.length est le nombre d’éléments dans le tableau local.

Publication 1756-PM001E-FR-P - Août 2002

Page 232: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-16 Communication avec un autre automate

Créer le type de données MESSAGE_CONFIGURATION

Dans cette procédure, vous créez un type de données défini par l’utilisateur pour stocker les variables de configuration pour le message de chaque automate.

• Certains des membres requis du type de données utilisent un type de données chaîne.

• Le type de données chaîne (STRING) par défaut stocke 82 caractères.• Si vos chemins ou vos noms ou adresses de points décentralisés utilisent

moins de 82 caractères, vous pouvez créer un nouveau type de chaîne qui stocke moins de caractères. Ceci vous permet de conserver de la mémoire.

• Pour créer un nouveau type de chaîne, sélectionnez Fichier ⇒ Nouveau composant ⇒ Type de chaîne…

• Si vous créez un nouveau type de chaîne, utilisez ce type à la place du type de chaîne de cette procédure.

Pour stocker les variables de configuration pour le message de chaque automate, créez le type de données utilisateur suivant.

Type de données :MESSAGE_CONFIGURATION

nom MESSAGE_CONFIGURATION

description Configuration properties for a message to another controller

Membres

nom type de données

style description

Path STRING

RemoteElement STRING

Pour créer un nouveau type de données :

Controller Your_Project

Tasks

Motion Groups

Trends

Data Types

User-Defined

Cliquez avec le bouton droit de la souris et sélectionnez Nouveau type de données.

+

+

+

+

+

Publication 1756-PM001E-FR-P - Août 2002

Page 233: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-17

Créer le tableau de configuration

Dans cette procédure, vous stockez les propriétés de la configuration de chaque automate dans un tableau. Avant chaque exécution de l’instruction MSG, votre logique charge les nouvelles propriétés dans l’instruction. Ceci envoit le message vers un automate différent.

Figure 14.1 Chargement de nouvelles propriétés de configuration dans une instruction MSG

Etapes :

1. Pour stocker les propriétés de configuration du message, créez le tableau suivant :

number est le nombre d’automates auxquels le message est envoyé.

Propriétés du message

message

message.Path.

message.RemoteElement.

+

+

Tableau de configuration

message_config

message_config[0]

message_config[0].Path

message_config[0].RemoteElement

message_config[1]

message_config[1].Path

message_config[1].RemoteElement

+

+

+

+

première exécution du message

exécution suivante du message

Propriétés du message

message

message.Path.

message.RemoteElement.

+

+

Nom du point Type Accès

message_config MESSAGE_CONFIGURATION[number ] toute

Publication 1756-PM001E-FR-P - Août 2002

Page 234: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-18 Communication avec un autre automate

2. Dans le tableau message_config, entrez le chemin du premier automate qui reçoit le message.

3. Dans le tableau message_config, entrez le nom ou l’adresse du point de données du premier automate qui reçoit le message.

Nom du point Valeur

message_config {…}

message_config[0] {…} Cliquez avec le bouton droit de la souris et sélectionnez Aller à l’éditeur du chemin de message. message_config[0].Path

message_config[0].RemoteElement

+

+

Tapez le chemin de l’automate décentralisé.

Message Path Browser

Path:

ou peer_controller

Naviguez jusqu’à l’automate décentralisé.

I/O Configuration

Nom du point Valeur

message_config {…}

message_config[0] {…}

message_config[0].Path

message_config[0].RemoteElement

message_config[1] {…}

message_config[1].Path

message_config[1].RemoteElement

+

+ ...

Tapez le nom ou l’adresse du point des données dans l’autre automate.

+

+

Publication 1756-PM001E-FR-P - Août 2002

Page 235: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-19

4. Entrez le chemin et l’élément décentralisé pour chaque automate supplémentaire :

Obtenir la taille du tableau local

1. L’instruction SIZE compte le nombre d’éléments dans local_array.

2. Cette instruction compte le nombre d’éléments dans Dimension 0 du tableau. Dans ce cas, c’est la seule dimension.

3. Local_array_length stocke la taille (nombre d’éléments) de local_array. Cette valeur indique à une ligne ultérieure quand le message a été envoyé à tous les automates et indique également de recommencer avec le premier automate.

Nom du point Valeur

message_config {…}

message_config[0] {…}

message_config[0].Path

message_config[0].RemoteElement

message_config[1] {…}

message_config[1].Path

message_config[1].RemoteElement

+

+

+

+

1.

43051

2.3.

Nom du point Type

local_array_length DINT

Publication 1756-PM001E-FR-P - Août 2002

Page 236: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-20 Communication avec un autre automate

Charger les propriétés du message d’un automate

1. Cette instruction XIO indique à la ligne d’envoyer le message de façon continue.

2. L’instruction COP charge le chemin du message. La valeur de index détermine quel élément de l’instruction est chargé à partir de message_config. Voir la figure 14.1, page 14-17.

3. L’instruction charge 1 élément de message_config.

4. L’instruction COP charge le nom ou l’adresse du point des données dans l’automate qui reçoit le message. La valeur de index détermine quel élément de l’instruction est chargé à partir de message_config. Voir la figure 14.1, page 14-17.

5. L’instruction charge 1 élément de message_config.

6. Instruction MSG

43051

2.

3.

4.

5.

6.

1.

Nom du point Type Accès

message MESSAGE automate

Nom du point Type Accès

index DINT toute

Publication 1756-PM001E-FR-P - Août 2002

Page 237: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un autre automate 14-21

Configurer le message

Bien que votre logique commande l’élément décentralisé et le chemin du message, la boîte de dialogue Propriétés du message requiert une configuration initiale.

IMPORTANT

Dans cet onglet Pour Pour cet élément Tapez ou sélectionnez

Configuration lire (recevoir) des données des autres automates

Type de message le type lecture qui correspond aux autres automates

Elément Source point ou adresse qui continet les données dans le premier automate

Nombre d’éléments 1

Point de destination local_array[*]

Index 0

écrire (envoyer) des données vers d’autres automates

Type de message le type écriture qui correspond aux autres automates

Point source local_array[*]

Index 0

Nombre d’éléments 1

Elément Destination point ou adresse qui contient les données dans le premier automate

Communication Chemin chemin du premier automate

Connexions cache Décochez la case Connexion cache. Cette procédure change continuellement le chemin du message, il est donc plus efficace de décocher cette case.

43054

Décochez la case Connexion cache.

Publication 1756-PM001E-FR-P - Août 2002

Page 238: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14-22 Communication avec un autre automate

Passer à l’automate suivant

1. Après l’envoi du message par l’instruction MSG…

2. Cette instruction ADD incrémente index. Ceci permet à la logique de charger les propriétés de la configuration de l’automate suivant dans l’instruction MSG.

3. Cette instruction ADD incrémente le membre LocalIndex de l’instruction MSG. Ceci permet à la logique de charger la valeur de l’automate suivant dans l’élément suivant de local_array.

Recommencer la séquence

1. Lorsque index est égal à local_array_length, l’automate a envoyé le message aux autres automates.

2. Cette instruction CLR règle index sur 0. Ceci permet à la logique de charger les propriétés de configuration du premier automate dans l’instruction MSG et recommence la séquence des messages.

3. Cette instruction CLR règle le membre LocalIndex de l’instruction MSG sur 0. Ceci permet à la logique de charger la valeur du premier automate dans le premier élément de local_array.

1. 2. 3.

43051

1. 2. 3.

43051

Publication 1756-PM001E-FR-P - Août 2002

Page 239: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 15

Production d’un tableau de grande taille

Quand utiliser cette procédure

L’automate Logix5550 peut envoyer un maximum de 500 octets de données via une seule connexion planifiée. Ceci correspond à 125 éléments DINT ou REAL d’un tableau. Pour transférer un tableau de plus de 125 DINT ou REAL, utilisez un point produit/consommé de 125 éléments pour créer une trame de données. Vous pouvez alors utiliser la trame pour envoyer le tableau par segments vers un autre automate.

Lorsque vous envoyez un grand tableau de données en trames plus petites, vous devez vérifier que la transmission de la trame est terminée avant que les données ne soient transférées dans le tableau de destination, ceci pour les raisons suivantes :

• Les données produites sur le fond de panier ControlLogix sont envoyées en segments de 50 octets.

• La transmission des données est asynchrone à la scrutation du programme.

La logique contenue dans cette section utilise un mot de confirmation pour s’assurer que chaque trame contient les nouvelles données avant que celles-ci ne soient transférées vers le tableau de destination. La logique utilise également une valeur d’offset pour identifier l’élément de départ de la trame dans le tableau.

En raison de la présence des éléments d’offset et de confirmation, chaque trame transfère 123 éléments de données du tableau, tel que décrit ci-dessous :

tableau

0

123124

trame

offsetconfirmation

tableautrame

offsetconfirmation

Producteur Consommateur

1 Publication 1756-PM001E-FR-P - Août 2002

Page 240: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

15-2 Production d’un tableau de grande taille

De plus, le tableau doit contenir 122 éléments supplémentaires. C’est-à-dire qu’il doit contenir 122 éléments de plus que le plus grand nombre d’éléments que vous voulez transférer.

• Ces éléments servent de buffer.• Puisque chaque trame contient le même nombre d’éléments, le buffer

empêche l’automate de copier au-delà de la limite du tableau.• Sans le buffer, ceci se produirait si la dernière trame contenait moins de

123 éléments de données réelles.

Production d’un tableau de grande taille

1. Ouvrez le projet RSLogix 5000 qui va produire le tableau.

2. Dans le dossier Points de l’automate, créez les points suivants :

où :

array est le nom des données que vous envoyez.

3. Convertissez array_ack en point consommé :

Reportez-vous à Consommer un point produit, page 14-5.

P : Nom du point : Type :

array_ack DINT[2]

✓ array_packet DINT[125]

Pour : Spécifiez :

Automate le nom de l’automate qui reçoit la trame

Nom du point décentralisé array_ack

Les deux automates utilisent le même nom pour ces données partagées.

Publication 1756-PM001E-FR-P - Août 2002

Page 241: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Production d’un tableau de grande taille 15-3

4. Dans le dossier Points de l’automate ou dans le dossier des points du programme qui contient la logique pour le transfert, créez les points suivants :

où :

array est le nom des données que vous envoyez.

5. Dans le point array_size, entrez le nombre d’éléments de données réelles. (La valeur de x de l’étape 4. moins les 122 éléments du buffer.)

6. Créez ou ouvrez un sous-programme pour la logique qui crée les trames de données.

7. Entrez la logique suivante :

Nom du point : Type :

tableau DINT[x] où x est égal au nombre d’éléments à transférer plus 122 éléments

array_offset DINT

array_size DINT

array_transfer_time DINT

array_transfer_time_max DINT

array_transfer_timer TIMER

Calcule le temps nécessaire à l’envoi de tout le tableau

Lorsque la valeur d’offset dans array_ack[0] n’est pas égale à la valeur d’offset actuelle mais array_ack[1] est égal à –999, le consommateur a commencé à recevoir une nouvelle trame ; la ligne déplace alors –999 dans le dernier élément de la trame. Le consommateur attend de recevoir la valeur –999 avant de copier la trame dans le tableau. Ceci garantit que le consommateur obtient des données nouvelles.

ENDN

Timer On DelayTimer array_transfer_timerPreset 10000000Accum 0

TON

Not EqualSource A array_ack[0]

0Source B array_packet[123]

0

NEQEqualSource A array_ack[1]

0Source B -999

EQUMoveSource -999

Dest array_packet[124]0

MOV

Publication 1756-PM001E-FR-P - Août 2002

Page 242: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

15-4 Production d’un tableau de grande taille

Lorsque la valeur d’offset dans array_ack[0] est égale à la valeur d’offset actuelle, le consommateur a copié la trame dans le tableau ; la ligne recherche alors d’autres données à transférer. Si la valeur d’offset plus 123 est inférieure à la taille du tableau, il existe d’autres données à transférer, la ligne augmente alors l’offset de 123. Sinon, il n’y a plus de données à transférer, la ligne réinitialise alors la valeur d’offset, enregistre la durée du transfert et réinitialise le compteur. Dans les deux cas, la ligne utilise la nouvelle valeur d’offset pour créer une nouvelle trame de données, ajoute la nouvelle valeur d’offset à la trame et efface l’élément de confirmation de la trame (packet[124]).

Si la durée de transfert en cours est supérieure à la durée de transfert maximum, la durée de transfert maximum est mise à jour. Ceci permet de garder une trace de la durée de transfert de données la plus longue.

42355

EqualSource A array_ack[0]

0Source B array_packet[123]

0

EQU

CompareExpression (array_ack[0] + 123) < array_size

CMPAddSource A array_packet[123]

0Source B 123

Dest array_offset0

ADD

CompareExpression (array_ack[0] + 123) >= array_size

CMPClearDest array_offset

0

CLR

MoveSource array_transfer_timer.ACC

0Dest array_transfer_time

0

MOV

RESarray_transfer_timer

Copy FileSource array[array_offset]Dest array_packet[0]Length 123

COPMoveSource array_offset

0Dest array_packet[123]

0

MOVClearDest array_packet[124]

0

CLR

Greater Than (A>B)Source A array_transfer_time

0Source B array_transfer_time_max

0

GRTMoveSource array_transfer_time

0Dest array_transfer_time_max

0

MOV

Publication 1756-PM001E-FR-P - Août 2002

Page 243: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Production d’un tableau de grande taille 15-5

8. Ouvrez le projet RSLogix 5000 qui va consommer le tableau.

9. Dans le dossier Points de l’automate, créez les points suivants :

où :

array est le nom des données que vous envoyez. Utilisez le même nom que dans l’automate producteur (étape 2.).

10. Convertissez array_ack en point consommé :

Reportez-vous à Consommer un point produit, page 14-5.

11. Dans le dossier Points de l’automate ou dans le dossier de points du programme qui contient la logique pour le transfert, créez les points suivants :

où :

array est le nom des données que vous envoyez.

12. Créez ou ouvrez un sous-programme pour la logique qui doit transférer les données des trames vers le tableau de destination.

13. Entrez la logique suivante :

P : Nom du point : Type :

✓ array_ack DINT[2]

array_packet DINT[125]

Pour : Spécifiez :

Automate le nom de l’automate qui envoie la trame

Nom du point décentralisé array_packet

Les deux automates utilisent le même nom pour ces données partagées.

Nom du point : Type :

tableau DINT[x] où x est égal au nombre d’éléments à transférer plus 122 éléments

array_offset DINT

Publication 1756-PM001E-FR-P - Août 2002

Page 244: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

15-6 Production d’un tableau de grande taille

Lorsque la valeur d’offset dans array_packet[123] est différente de la valeur d’offset dans array_ack[0], l’automate a commencé à recevoir une nouvelle trame de données ; la ligne recherche la valeur –999 dans le dernier élément de la trame.

Si le dernier élément de la trame est égal à –999, l’automate a reçu une trame entière de nouvelles données et commence l’opération de copie :

• La valeur d’offset passe de la trame à array_offset.• L’instruction COP copie les données de la trame vers le tableau de destination, en commençant à la valeur

d’offset.• La valeur d’offset passe à array_ack[0], ce qui indique que la copie est terminée.• Array_ack[1] est remis à zéro et attend pour signaler l’arrivée d’une nouvelle trame de données.

Si le dernier élément de la trame n’est pas égal à –999, le transfert de la trame dans l’automate peut ne pas être terminé ; –999 passe donc à array_ack[1]. Cela signale au producteur de retourner la valeur –999 dans le dernier élément de la trame afin de vérifier la transmission de celle-ci.

42356

Not EqualSource A array_packet[123]

0Source B array_ack[0]

0

NEQ

EqualSource A array_packet[124]

0Source B -999

EQUMoveSource array_packet[123]

0Dest array_offset

0

MOV

Copy FileSource array_packet[0]Dest array[array_offset]Length 123

COP

MoveSource array_packet[123]

0Dest array_ack[0]

0

MOV

ClearDest array_ack[1]

0

CLR

Not EqualSource A array_packet[124]

0Source B -999

NEQMoveSource -999

Dest array_ack[1]0

MOV

Publication 1756-PM001E-FR-P - Août 2002

Page 245: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Production d’un tableau de grande taille 15-7

Le transfert d’un tableau de grande taille sous forme de plus petites trames permet d’améliorer les performances du système par rapport à d’autres méthodes de transfert de données :

• Cette méthode utilise moins de connexions que la méthode qui consiste à diviser les données en tableaux multiples et à les envoyer comme point produit. Par exemple, un tableau avec 5 000 éléments nécessite 40 connexions (5 000/125 = 40) utilisant des tableaux individuels.

• La durée de transmission est plus rapide qu’avec une instruction de message servant à envoyer le tableau entier.

– Les messages ne sont pas planifiés et ne sont exécutés que pendant la partie « temps système » du fonctionnement du Logix5550. Par conséquent, les messages peuvent prendre un temps assez long pour terminer le transfert des données.

– Vous pouvez diminuer la durée du transfert en augmentant la durée du temps système, mais ceci diminue les performances de la tâche continue.

Publication 1756-PM001E-FR-P - Août 2002

Page 246: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

15-8 Production d’un tableau de grande taille

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 247: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 16

Communication avec un équipement ASCII

Quand utiliser cette procédure

Utilisez cette procédure pour échanger des données ASCII avec un dispositif au travers du port série de l’automate. Par exemple, vous pouvez utiliser le port série pour :

• lire les caractères ASCII sur un module de pesage ou un lecteur de code à barres

• envoyer et recevoir des messages d’un dispositif ASCII tel qu’un terminal MessageView.

Comment utiliser cette procédure

Avant d’utiliser cette procédure :

• Configurez l’équipement ASCII pour votre application

Pour exécuter cette procédure, effectuer les tâches suivantes :

• Connexion de l’équipement ASCII• Configuration du port série• Configuration du protocole utilisateur• Création des types de données chaîne• Lire des caractères dans le dispositif• Envoi de caractères vers le dispositif

connexion du port série de l’automate vers le dispositif ASCII

42237

1 Publication 1756-PM001E-FR-P - Août 2002

Page 248: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-2 Communication avec un équipement ASCII

Connexion de l’équipement ASCII

1. Pour le port série du dispositif ASCII, déterminez quelles sont les broches qui envoient des signaux et celles qui reçoivent des signaux.

2. Connectez les broches d’émission aux broches de réception correspondantes et attachez les cavaliers :

3. Fixez le blindage du câble aux deux connecteurs.

4. Connectez le câble à l’automate et au dispositif ASCII.

Si les communications sont : Alors, câblez les connecteurs de la façon suivante :

échange

pas d’échange

2 RDX

3 TXD

4 DTR

COMMON

6 DSR

7 RTS

8 CTS

9

1 CD

2 RDX

3 TXD

4 DTR

COMMON

6 DSR

7 RTS

8 CTS

9

1 CD

Dispositif ASCII Automate

42231

2 RDX

3 TXD

4 DTR

COMMON

6 DSR

7 RTS

8 CTS

9

1 CD

2 RDX

3 TXD

4 DTR

COMMON

6 DSR

7 RTS

8 CTS

9

1 CD

Dispositif ASCII Automate

42232

Publication 1756-PM001E-FR-P - Août 2002

Page 249: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-3

Configuration du port série 1. Déterminez les réglages de communication suivants pour le dispositif ASCII :

a. vitesse en baudsb. bits de donnéesc. paritéd. bits d’arrêt

2. Ouvrez le projet RSLogix 5000™.

3. Sur la barre d’outils En ligne, cliquez sur le bouton de l’automate.

4. Cliquez sur l’onglet Port série.

5. Sélectionnez Utilisateur.

6. Sélectionnez les réglages pour le dispositif ASCII, à partir de étape 1.

42627

5.

42251

6.

Publication 1756-PM001E-FR-P - Août 2002

Page 250: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-4 Communication avec un équipement ASCII

7. Sélectionnez l’option de ligne de commande :

8. Tapez le délai (par incréments de 20 ms) entre l’activation du signal RTS (haut) et l’envoi des données. Par exemple, une valeur de 4 produit un délai de 80 ms.

9. Tapez le délai (par incréments de 20 ms) entre l’envoi du dernier caractère et la désactivation du signal RTS (bas).

10. Cliquez sur Appliquer.

42251

7.

8.

9.

Si Et Et il s’agit de Sélectionnez Alors

vous n’utilisez pas de modem

Pas d’échange Allez à étape 10.

vous utilisez un modem

les deux modems sur une liaison point à point sont en duplex intégral

Duplex intégral

le modem maître est en duplex intégral et le modem esclave est en semi-duplex

automate maître Duplex intégral

automate esclave Semi-duplex Sélectionnez la case Porteuse continue.

tous les modems du système sont en semi-duplex

Semi-duplex Désélectionnez la case Porteuse continue (option par défaut).

Publication 1756-PM001E-FR-P - Août 2002

Page 251: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-5

Configuration du protocole utilisateur

1. Cliquez sur l’onglet Protocole utilisateur.

2. Sélectionnez ou entrez un nombre supérieur ou égal au nombre le plus important de caractères d’une transmission. (Nous recommandons le double du nombre de caractères.)

3. Si vous utilisez les instructions ABL ou ARL, tapez les caractères qui marquent la fin des données. Pour les codes ASCII des caractères, reportez-vous en fin de manuel.

Si le dispositif envoie Alors Remarques

un caractère de fin A. Dans le champ Caractère de fin 1, tapez le code ASCII hexadécimal du premier caractère.

B. Dans la case Caractère de fin 2, tapez $FF.

Pour les caractères imprimables, tels que 1 ou A, tapez le caractère.

deux caractères de fin Dans les champs Caractère de fin 1 et 2, tapez le code ASCII hexadécimal de chaque caractère.

2.

42252

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 252: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-6 Communication avec un équipement ASCII

4. Si vous utilisez l’instruction AWA, tapez les caractères à ajouter aux données Pour les codes ASCII des caractères, reportez-vous en fin de manuel.

5. Si le dispositif ASCII est configuré pour le contrôle de débit XON/XOFF, sélectionnez la case à cocher XON/XOFF.

6. Si le dispositif ASCII est un écran cathodique ou est préconfiguré pour la transmission en semi-duplex, sélectionnez la case à cocher Mode Echo.

Pour ajouter Alors Remarques

un caractère A. Dans le champ Ajout de caractère 1, tapez le code ASCII hexadécimal du premier caractère.

B. Dans la case Caractère d’ajout 2, tapez $FF.

Pour les caractères imprimables, tels que 1 ou A, tapez le caractère.

deux caractères Dans les champs Ajout de caractère 1 et 2, tapez le code ASCII hexadécimal de chaque caractère.

42252

7.

4.

5.

6.

Publication 1756-PM001E-FR-P - Août 2002

Page 253: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-7

7. Sélectionnez le mode Effacement :

8. Cliquez sur OK.

Si le dispositif ASCII est Sélectionnez Remarques

un écran cathodique Ecran cathodique

• Le caractère DEL ($7F) et le caractère qui le précède ne sont pas envoyés vers la destination.

• Si le mode Echo est sélectionné et qu’une instruction ASCII lit le caractère DEL, l’écho renvoie trois caractères : EFFACEMENT ESPACE EFFACEMENT ( $08 $20 $08).

une imprimante Imprimante • Le caractère DEL ($7F) et le caractère qui le précède ne sont pas envoyés vers la destination.

• Si le mode Echo est sélectionné et qu’une instruction ASCII lit le caractère DEL, l’écho renvoie deux caractères : / ($2F) suivi du caractère qui a été effacé.

ni un écran cathodique, ni une imprimante

Ignorer Le caractère DEL ($7F) est traité comme tout autre caractère.

Publication 1756-PM001E-FR-P - Août 2002

Page 254: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-8 Communication avec un équipement ASCII

Création des types de données chaîne

Vous pouvez stocker les caractères ASCII dans des points qui utilisent un type de données chaîne.

1. Voulez-vous créer un nouveau type de données chaîne ?

2. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit sur Chaînes et sélectionnez Nouveau type de Chaîne…

3. Entrez le nom du type de données.

4. Entrez le nombre maximum de caractères que peut stocker ce type de données.

5. Choisissez OK.

42811

42812

ouVous pouvez utiliser le type de données par défaut STRING. Il permet de stocker jusqu’à 82 caractères.

Vous pouvez créer un nouveau type de données pour stocker le nombre de caractères que vous définissez.

IMPORTANT Faites attention lors de la création d’un nouveau type de données chaîne. Si vous décidez ultérieurement de modifier la taille du type de données chaîne, vous risquez de perdre les données des points qui utilisent ce type de données.

Si Alors

non Allez à Lire des caractères dans le dispositif à la page 16-9.

oui Allez à l’étape 2.

Si vous Alors

rendez un type de données chaîne plus petit

• La donnée est tronquée.• La LEN est inchangée.

rendez un type de données chaîne plus long

Les données et LEN sont réinitialisées à zéro.

42233

3.

4.

Publication 1756-PM001E-FR-P - Août 2002

Page 255: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-9

Lire des caractères dans le dispositif

En règle générale, avant de lire le buffer, utilisez une instruction ACB ou ABL pour vérifier que le buffer contient les caractères requis :

• Une instruction ARD ou ARL continue de lire le buffer jusqu’à ce qu’elle ait lu les caractères requis.

• Pendant qu’une instruction ARD ou ARL lit le buffer, aucune autre instruction de port série ASCII, sauf ACL, ne peut s’exécuter.

• La vérification que le buffer contient les caractères requis empêche l’instruction ARD ou ARL de retenir l’exécution des autres instructions de port série ASCII, cependant que le dispositif d’entrée envoie ses données.

Pour plus d’informations sur les instructions du port série ASCII, se reporter à Automate Logix5000 – Jeu d’instructions – Manuel de référence, publication 1756-RM003.

1. Quel type de dispositif tentez-vous de lire ?

2. Entrez la ligne suivante :

42235a

3. Entrez 0. (Le port série es le canal 0.)

4. Entrez un nom de point pour l’instruction ACB et définissez le type de données comme SERIAL_PORT_CONTROL.

5. Entrez le bit EN du point ACB. (Point de l’étape 4.)

IMPORTANT Si vous ne savez pas comment entrer une logique à relais dans un projet RSLogix 5000, reportez-vous d’abord à « Programmation des sous-programmes », page 4-1.

Si le dispositif est une Alors

lecteur de code à barres Allez à l’étape 2.

bascule envoyant un nombre fixe de caractères

message ou terminal d’affichage Allez à l’étape 14.

bascule envoyant un nombre variable de caractères

5.

4. 3.

Publication 1756-PM001E-FR-P - Août 2002

Page 256: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-10 Communication avec un équipement ASCII

6. Entrez la ligne suivante :

42235a

7. Entrez le membre POS du point ACB. (Point de l’étape 4.)

8. Entrez le nombre de caractères dans les données.

9. Entrez 0.

10. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

11. Entrez un nom de point pour l’instruction ARD et définissez le type de données comme SERIAL_PORT_CONTROL.

12. Entrez le nombre de caractères dans les données.

11.

10. 9.

12.7. 8.

Publication 1756-PM001E-FR-P - Août 2002

Page 257: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-11

13. Voulez-vous envoyer des données vers le dispositif ?

EXEMPLE Un lecteur de code à barres envoie des codes à barres vers le port série (voie 0) de l’automate. Chaque code à barres contient 24 caractères. Pour déterminer l’instant où l’automate reçoit un code à barres, l’instruction ACB compte de façon continue les caractères dans le buffer.

Lorsque le buffer contient au moins 24 caractères, l’automate a reçu un code à barres. L’instruction ARD déplace le code à barres vers le point bag_bar_code.

/bar_code_count.EN

ENDNER

ASCII Chars in BufferChannel 0SerialPort Control bar_code_countCharacter Count 0

ACB

Grtr Than or Eql (A>=B)Source A bar_code_count.pos 0Source B 24

GEQEN

DN

ER

ASCII ReadChannel 0Destination bag_bar_code ''SerialPort Control bar_code_readString Length 24Characters Read 0

ARD

bar_code_read.EM MID

42227

Si Alors

oui Allez à Envoi de caractères vers le dispositif à la page 16-14.

non Arrêtez. Vous avez terminé la procédure. Pour utiliser les données, allez à « Traitement des caractères ASCII » à la page 17-1.

Publication 1756-PM001E-FR-P - Août 2002

Page 258: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-12 Communication avec un équipement ASCII

14. Entrez la ligne suivante :

42235

15. Entrez 0.

16. Entrez un nom de point pour l’instruction ARD et définissez le type de données comme SERIAL_PORT_CONTROL.

17. Entrez le bit EN du point ABL. (Point de l’étape 16.)

18. Entrez la ligne suivante :

42235

19. Entrez le bit FD du point ABL. (Point de l’étape 16.)

20. Entrez 0.

21. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

22. Entrez un nom de point pour l’instruction ARL et définissez le type de données comme SERIAL_PORT_CONTROL.

23. Entrez 0.

Ceci permet à l’instruction de régler la longueur de contrôle SerialPort sur la taille de la Destination.

17.

16. 15.

21. 20.

22. 23.

19.

Publication 1756-PM001E-FR-P - Août 2002

Page 259: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-13

24. Voulez-vous envoyer des données vers le dispositif ?

EXEMPLE Teste continuellement le buffer pour y trouver un message du terminal MessageView.

• Dans la mesure où chaque message se termine par un retour chariot ($0D), le retour chariot est configuré comme caractère de terminaison dans la boîte de dialogue Propriétés de l’automate, onglet Protocole utilisateur.

• Lorsque l’instruction ABL trouve un retour chariot, elle active le bit FD.

Quand l’instruction ABL trouve le retour chariot (MV_line.FD est activé), l’automate retire les caractères du buffer, jusqu’à et y compris le retour chariot, et les place dans le point MV_msg.

/MV_line.EN

ENDNER

ASCII Test For Buffer LineChannel 0SerialPort Control MV_lineCharacter Count 0

ABL

MV_line.FD

EN

DN

ER

ASCII Read LineChannel 0Destination MV_msg ''SerialPort Control MV_readString Length 12Characters Read 0

ARL

42226

Si Alors

oui Allez à Envoi de caractères vers le dispositif à la page 16-14.

non Arrêtez. Vous avez terminé la procédure. Pour utiliser les données, allez à « Traitement des caractères ASCII » à la page 17-1.

Publication 1756-PM001E-FR-P - Août 2002

Page 260: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-14 Communication avec un équipement ASCII

Envoi de caractères vers le dispositif

1. Déterminez où commencer :

2. Entrez la ligne suivante :

42236a

3. Entrez la condition d’entrée (s) qui détermine l’instant où les caractères doivent être envoyés :• Vous pouvez utiliser tout type d’instruction d’entrée.• L’instruction doit passer de faux à vrai à chaque fois que les

caractères doivent être envoyés.

4. Entrez 0.

5. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

6. Entrez un nom de point pour l’instruction AWA et définissez le type de données comme SERIAL_PORT_CONTROL.

7. Entrez le nombre de caractères à envoyer. Omettez les caractères qui sont ajoutés par l’instruction.

Si vous Et que vous Alors

envoyez toujours le même nombre de caractères

voulez ajouter automatiquement un ou deux caractères à la fin des données

Allez à étape 2.

ne désirez pas ajouter de caractères Allez à étape 9.

envoyez différents nombres de caractères

voulez ajouter automatiquement un ou deux caractères à la fin des données

Allez à étape 16.

ne désirez pas ajouter de caractères Allez à étape 24.

5. 4.

6. 7.

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 261: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-15

8. Allez à Saisie de caractères ASCII à la page 16-21.

EXEMPLE Lorsque la température dépasse la limite haute (temp_high activé), l’instruction AWA envoie cinq caractères depuis le point string[1] vers un terminal MessageView.

• Le $14 compte comme un caractère. C’est le code hexadécimal pour le caractère Ctrl-T.• L’instruction envoie aussi (ajoute) les caractères définis dans le protocole utilisateur. Dans cet

exemple, l’instruction AWA envoie un retour chariot ($0D), ce qui marque la fin du message.

temp_high

EN

DN

ER

ASCII Write AppendChannel 0Source string[1] '$1425\1'SerialPort Control temp_high_writeString Length 5Characters Sent 6

AWA

42229

Publication 1756-PM001E-FR-P - Août 2002

Page 262: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-16 Communication avec un équipement ASCII

9. Entrez la ligne suivante :

42236b

10. Entrez la condition d’entrée (s) qui détermine l’instant où les caractères doivent être envoyés :• Vous pouvez utiliser tout type d’instruction d’entrée.• L’instruction doit passer de faux à vrai à chaque fois que les

caractères doivent être envoyés.

11. Entrez 0.

12. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

13. Entrez un nom de point pour l’instruction AWT et définissez le type de données comme SERIAL_PORT_CONTROL.

14. Entrez le nombre de caractères à envoyer.

15. Allez à Saisie de caractères ASCII à la page 16-21.

12. 11.

13. 14.

10.

EXEMPLE Lorsque la température atteint la limite basse (temp_low activé), l’instruction AWT envoie neuf caractères du point string[2] vers un terminal MessageView. (Le $14 compte comme un caractère. C’est le code hexadécimal du caractère Ctrl-T.)

temp_low

EN

DN

ER

ASCII WriteChannel 0Source string[2] '$142224\01$r'SerialPort Control temp_low_writeString Length 9Characters Sent 9

AWT

42229

Publication 1756-PM001E-FR-P - Août 2002

Page 263: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-17

16. Entrez la ligne suivante :

42236c

17. Entrez la condition d’entrée (s) qui détermine l’instant où les caractères doivent être envoyés :• Vous pouvez utiliser tout type d’instruction d’entrée.• L’instruction doit passer de faux à vrai à chaque fois que les

caractères doivent être envoyés.

18. Entrez 0.

19. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

20. Entrez un nom de point pour l’instruction AWA et définissez le type de données comme SERIAL_PORT_CONTROL.

21. Entrez le membre LEN du point Source. (Point de l’étape 19.)

22. Entrez le membre LEN de l’instruction AWA. (Point de l’étape 20.)

19. 18.

20.22.

17.

21.

Publication 1756-PM001E-FR-P - Août 2002

Page 264: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-18 Communication avec un équipement ASCII

23. Allez à Saisie de caractères ASCII à la page 16-21.

EXEMPLE Lorsque alarm est activé, l’instruction AWA envoie les caractères dans alarm_msg et ajoute un caractère de terminaison.

• Comme le nombre de caractères dans alarm_msg varie, la ligne commence par faire passer la longueur de alarm_msg (alarm_msg.LEN) à la longueur de l’instruction AWA (alarm_write.LEN).

• Dans alarm_msg, le $14 compte comme un caractère. C’est le code hexadécimal pour le caractère Ctrl-T.

alarm

MoveSource alarm_msg.LEN 5Dest alarm_write.LEN 5

MOVEN

DN

ER

ASCII Write AppendChannel 0Source alarm_msg '$1425\1'SerialPort Control alarm_writeString Length 5Characters Sent 6

AWA

42229

Publication 1756-PM001E-FR-P - Août 2002

Page 265: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-19

24. Entrez la ligne suivante :

42236d

25. Entrez la condition d’entrée (s) qui détermine l’instant où les caractères doivent être envoyés :• Vous pouvez utiliser tout type d’instruction d’entrée.• L’instruction doit passer de faux à vrai à chaque fois que les

caractères doivent être envoyés.

26. Entrez 0.

27. Entrez un nom de point pour stocker les caractères ASCII. Définissez le type de données comme chaîne.

28. Entrez un nom de point pour l’instruction AWT et définissez le type de données comme SERIAL_PORT_CONTROL.

29. Entrez le membre LEN du point Source. (Point de l’étape 27.)

30. Entrez le membre LEN de l’instruction AWT. (Point de l’étape 28.)

27. 26.

28.30.

25.

29.

Publication 1756-PM001E-FR-P - Août 2002

Page 266: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-20 Communication avec un équipement ASCII

31. Allez à Saisie de caractères ASCII à la page 16-21.

EXEMPLE Quand MV_update est activé, l’instruction AWT envoie les caractères dans MV_msg.

• Du fait que le nombre de caractères dans MV_msg varie, la ligne commence par déplacer la longueur de MV_msg (MV_msg.LEN) vers la longueur de l’instruction AWT (MV_write.LEN).

• Dans MV_msg, le $16 compte comme un caractère. C’est le code hexadécimal du caractère Ctrl-V.

MV_update

MoveSource MV_msg.LEN 10Dest MV_write.LEN 10

MOVEN

DN

ER

ASCII WriteChannel 0Source MV_msg '$161365\8\1$r'SerialPort Control MV_writeString Length 10Characters Sent 10

AWT

42229

Publication 1756-PM001E-FR-P - Août 2002

Page 267: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Communication avec un équipement ASCII 16-21

Saisie de caractères ASCII Décidez si vous devez exécuter cette étape :

1. Cliquez deux fois sur la zone valeur de la Source.

2. Entrez les caractères de la chaîne.

3. Choisissez OK.

Si Alors

Vous désirez que la logique crée la chaîne.

Allez à « Traitement des caractères ASCII » à la page 16-1.

Vous désirez entrer les caractères. Allez à l’étape 1.

IMPORTANT La fenêtre Parcours de chaîne (String Browser) montre les caractères jusqu’à la valeur du membre LEN du point de chaîne. Ce point de chaîne peut contenir des données supplémentaires que la fenêtre Parcours de chaîne ne montre pas.

42616

1.

42615

saut de ligne ($0A)

2.

retour à la ligne ($0D$0A)

retour chariot ($0D)

Nombre de caractères que vous voyez dans la fenêtre. C’est le même que le membre LEN du point de chaîne.

Nombre maximum de caractères que peut contenir le point de chaîne.

Signe du dollar ($24)

Guillemet simple ($27)

sut de ligne ($0C)

tab ($09)

Publication 1756-PM001E-FR-P - Août 2002

Page 268: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16-22 Communication avec un équipement ASCII

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 269: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 17

Traitement des caractères ASCII

Quand utiliser cette procédure

Utilisez cette procédure pour :

• interpréter un code à barres et effectuer les actions en fonction de ce code à barres

• utiliser un poids en provenance d’une bascule lorsque ce poids est envoyé en caractères ASCII

• décoder un message à partir d’un équipement déclenché par code ASCII, tel qu’un terminal opérateur

• construire une chaîne pour un équipement déclenché par code ASCII à l’aide de variables à partir d’une application

Comment utiliser cette procédure

En fonction de votre application, vous n’aurez pas nécessairement besoin d’effectuer toutes les tâches de cette procédure. Utilisez le tableau suivant pour déterminer où vous devez commencer :

Pour plus d’informations sur les instructions liées au code ASCII, reportez-vous à Automate Logix5000 – Jeu d’instructions – Manuel de référence, publication 1756-RM003.

IMPORTANT Si vous ne savez pas comment entrer une logique à relais dans un projet RSLogix 5000, reportez-vous d’abord à « Programmation des sous-programmes », page 4-1.

Pour Allez à Page

isoler une information spécifique d’un code à barres

Extraction d’une partie d’un code à barres

17-2

chercher une chaîne de caractères spécifique dans un tableau

Recherche d’un code à barres 17-4

comparer deux chaînes de caractères Vérification des caractères du code à barres

17-9

utiliser un poids provenant d’une bascule

Conversion d’une valeur 17-11

décoder un message en provenance d’un terminal opérateur

Décodage d’un message ASCII

17-13

créer une chaîne à envoyer vers un terminal opérateur

Création d’une chaîne 17-17

1 Publication 1756-PM001E-FR-P - Août 2002

Page 270: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-2 Traitement des caractères ASCII

Extraction d’une partie d’un code à barres

Utilisez les étapes suivantes pour extraire une partie d’un code à barres pour effectuer des actions en fonction de sa valeur.

Par exemple, un code à barres peut contenir des informations concernant une valise sur un tapis roulant dans un aéroport. Pour vérifier le numéro du vol et la destination de la valise, vous extrayez les caractères 10 – 18.

Etapes :

1. Entrez la ligne suivante :

2. Entrez le bit EM de l’instruction ARD qui lit le code à barres.

3. Entrez le point chaîne qui contient le code à barres.

4. Entrez le nombre de caractères de la partie du code à barres que vous voulez vérifier.

5. Entrez la position du premier caractère de la partie du code à barres que vous voulez vérifier.

6. Entrez un nom de point pour stocker la partie du code à barres que vous voulez vérifier. Définissez le type de données comme une chaîne.

compagnie aérienne origine num. vol destination date

code à barres N W A H O P 5 0 5 8 A M S 0 2 2 2 0 1

numéro du caractère 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

5 0 5 8 A M S

9 caractères

5. 6.

2.

4.3.

42808

Publication 1756-PM001E-FR-P - Août 2002

Page 271: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-3

EXEMPLE Sur un tapis roulant d’aéroport, chaque valise possède un code à barres. Les caractères 10 – 18 de ce code à barres représentent le numéro du vol et l’aéroport de destination. Une fois le code à barres lu (bag_read.EM est activé), l’instruction MID copie le numéro du vol et l’aéroport de destination dans le point bag_flt_and_dest.

42808

Publication 1756-PM001E-FR-P - Août 2002

Page 272: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-4 Traitement des caractères ASCII

Recherche d’un code à barres

Utilisez les étapes suivantes pour trouver une information spécifique sur un élément sur la base de son code à barres.

Par exemple, dans une opération de tri, un tableau de type de données utilisateur créé un tableau qui indique le numéro de ligne de chaque type de produit. Pour déterminer la ligne pour acheminer un produit, l’automate recherche le numéro d’identification (ID) du produit dans le tableau (caractères du code à barres qui identifient le produit).

Pour rechercher un code à barres :

• Création du type de données PRODUCT_INFO• Recherche des caractères• Identification du numéro de ligne• Rejet des mauvais caractères• Entrée des identifiants produit et des numéros de ligne

Nom du point Valeur

sort_table

product_id sort_table[0]

’GHI’ sort_table[0].Product_ID ’ABC’

sort_table[0].Lane 1

sort_table[1]

sort_table[1].Product_ID ’DEF’

sort_table[1].Lane 2

sort_table[2]

sort_table[2].Product_ID ’GHI’ lane

sort_table[2].Lane 3 3

+

+

+

+

+

+

CONSEIL Pour copier les composants ci-dessus à partir d’un projet d’exemple, ouvrez le dossier …\RSLogix 5000\Projects\Samples .

43039

Ouvrez ce projet.

Publication 1756-PM001E-FR-P - Août 2002

Page 273: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-5

Création du type de données PRODUCT_INFO

Créer le type de données utilisateur suivant.

Recherche des caractères

1. L’instruction SIZE compte le nombre d’éléments dans le tableau sort_table. Ce tableau contient l’identifiant produit (ID) de chaque élément et le numéro de ligne correspondant.

2. L’instruction SIZE compte le nombre d’éléments dans Dimension 0 du tableau. Dans ce cas, c’est la seule dimension.

3. L’instruction SIZE règle la longueur de l’instruction FSC suivante pour qu’elle soit égale à la taille du tableau sort_table. Ceci permet à l’instruction FSC de rechercher la taille exacte du tableau.

Type de données :PRODUCT_INFO

Nom PRODUCT_INFO

Description Identifie la destination d’un élément sur la base d’une chaîne ASCII qui identifie l’élément

Members

Nom User Defined

Style Description

Product_ID STRING Caractères ASCII qui identifient l’élément

Lane DINT Décimal Destination de l’élément, sur la base de son ID

Pour créer un nouveau type de données :

Controller Your_Project

Tasks

Motion Groups

Trends

Data Types

User Defined

Cliquez avec le bouton droit de la souris et sélectionnez Nouveau type de données.

+

+

+

+

1.

43038

2.3.

Nom du point Type

sort_table PRODUCT_INFO[number_of_items ]oùnumber_of_items est le nombre d’éléments à trier.

Nom du point Type

sort_table_search CONTROL

Publication 1756-PM001E-FR-P - Août 2002

Page 274: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-6 Traitement des caractères ASCII

4. Le point sort_table_search contrôle l’instruction FSC, qui recherche les caractères du code à barres dans le tableau sort_table.

5. Bien que l’instruction précédente règle la longueur de cette instruction, le logiciel requiert une valeur initiale pour vérifier le projet.

6. Le point product_id contient les caractères de code à barres qui identifie l’élément. L’instruction FSC recherche chaque membre Product_ID dans le tableau sort_table jusqu’à ce que l’instruction trouve une correspondance au point product_id.

Identification du numéro de ligne

1. Lorsque l’instruction FSC trouve l’identifiant du produit dans le tableau sort_table, l’instruction règle le bit FD.

2. Lorsque l’instruction FSC trouve une correspondance, le membre POS indique le numéro d’élément de la correspondance dans le tableau sort_table. Le membre LANE correspondant indique le numéro de ligne de la correspondance.

43038

4.5.

6.

Nom du point Type

product_id STRING

1. 4.2. 3.

43038

Publication 1756-PM001E-FR-P - Août 2002

Page 275: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-7

3. Sur la base de la valeur POS, l’instruction MOV déplace le numéro de ligne correspondant dans le point lane. L’automate utilise la valeur de ce point pour acheminer l’élément.

4. Une fois que l’instruction MOV a réglé la valeur du point lane, l’instruction RES réinitialise l’instruction FSC pour qu’elle puisse rechercher l’identifiant du produit suivant.

Rejet des mauvais caractères

1. Si l’instruction FSC ne trouve pas l’identifiant du produit dans le tableau sort_table, l’instruction active le bit DN.

2. Lorsqu’aucune correspondance n’est trouvée, l’instruction MOV déplace 999 dans le point lane. Ceci indique à l’automate de rejeter ou de réacheminer l’élément.

3. Une fois que l’instruction MOV a réglé la valeur du point lane, l’instruction RES réinitialise l’instruction FSC pour qu’elle puisse rechercher l’identifiant du produit suivant.

Nom du point Type

lane DINT

1. 3.2.

43038

Publication 1756-PM001E-FR-P - Août 2002

Page 276: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-8 Traitement des caractères ASCII

Entrée des identifiants produit et des numéros de ligne

Dans le tableau sort_table, entrez les caractères ASCII qui identifient chaque élément et le numéro de ligne correspondant pour l’élément.

Nom du point Valeur

sort_table {…}

sort_table[0] {…}

sort_table[0].Product_ID caractères ASCII qui identifient le premier élément

sort_table[0].Lane numéro de ligne de l’élément

sort_table[1] {…}

sort_table[1].Product_ID caractères ASCII qui identifient l’élément suivant

sort_table[1].Lane numéro de ligne de l’élément

+

+

+

+

Publication 1756-PM001E-FR-P - Août 2002

Page 277: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-9

Vérification des caractères du code à barres

Dans cette tâche, vous utilisez une instruction de comparaison (EQU, GEQ, GRT, LEQ, LES, NEQ) pour rechercher des caractères spécifiques.

• Les valeurs hexadécimales des caractères déterminent si une chaîne est inférieure ou supérieure à une autre.

• Lorsque les deux chaînes sont stockées comme dans un annuaire téléphonique, l’ordre des chaînes détermine laquelle est supérieure.

Etapes :

1. Entrez une ligne et une instruction de comparaison :

2. Entrez le point qui stocke la partie du code à barres que vous voulez vérifier. (Destination de Extraction d’une partie d’un code à barres, étape 6.)

3. Entrez un nom de point pour stocker les caractères qui serviront de base au test. Définissez le type de données comme chaîne.

4. Cliquez deux fois sur la zone de valeur de Source B.

Caractères ASCII Codes Hex

1ab $31$61$62

1b $31$62

A $41

AB $41$42

B $42

a $61

ab $61$62

Pour voir si la chaîne est Entrez cette instruction

égale à des caractères spécifiques EQU

différente de caractères spécifiques NEQ

supérieure à des caractères spécifiques GRT

égale ou supérieure à des caractères spécifiques GEQ

inférieure à des caractères spécifiques LES

égale ou inférieure à des caractères spécifiques LEQ

supér i eur

inférieur

AB < B

a > B

2. 6.3.

428084.

Publication 1756-PM001E-FR-P - Août 2002

Page 278: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-10 Traitement des caractères ASCII

5. Tapez les caractères ASCII qui serviront de base au test et choisissez OK.

6. Entrez la sortie requise.

7. Voulez-vous vérifier une autre partie du code à barres ?

42615

EXEMPLE Lorsque bag_flt_and_dest est égal à gate[1], xfer{1] est activé. Ceci achemine la valise vers la porte requise.

42808

Si Alors

oui Allez à Extraction d’une partie d’un code à barres à la page 17-2.

non Arrêtez. Vous avez terminé la procédure.

Publication 1756-PM001E-FR-P - Août 2002

Page 279: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-11

Conversion d’une valeur Utilisez les étapes suivantes pour convertir la représentation ASCII d’une valeur en valeur DINT ou REAL que vous pourrez utiliser dans votre application.

• Les instructions STOD et STOR sautent tout caractère de contrôle initial ou non numérique (excepté le signe moins devant un nombre).

• Si la chaîne contient plusieurs groupes de nombres séparés par des séparateurs (ex., / ), les instructions STOD et STOR ne convertissent que le premier groupe de nombres.

Etapes :

1. Quel est le type de nombre de la valeur ?

2. Entrez la ligne suivante :

3. Entrez le bit EM de l’instruction ARD ou ARL qui lit la valeur.

4. Entrez le point chaîne qui contient la valeur.

5. Entrez un nom de point pour stocker la valeur à utiliser par votre application. Définissez le type de données comme REAL.

Si Alors

virgule flottante Allez à l’étape 2.

nombre entier Allez à l’étape 7.

3.

5.4.

42810

EXEMPLE Après avoir lu le poids à partir de la bascule (weight_read.EM est activé), l’instruction STOR convertit les caractères numériques qui se trouvent dans weight_ascii en valeur REAL et stocke le résultat dans weight.

42810

Publication 1756-PM001E-FR-P - Août 2002

Page 280: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-12 Traitement des caractères ASCII

6. Allez à l’étape 11.

7. Entrez la ligne suivante :

8. Entrez le bit EM de l’instruction ARD ou ARL qui lit la valeur.

9. Entrez le point chaîne qui contient la valeur.

10. Entrez un nom de point pour stocker la valeur à utiliser par votre application. Définissez le type de données comme DINT.

11. Cette chaîne a-t-elle une autre valeur que vous voulez utiliser ?

9. 10.

8.

42810

EXEMPLE Lorsque MV_read.EM est activé, l’instruction STOD convertit le premier groupe de caractères numériques dans MV_msg en valeur de nombre entier. L’instruction saute le caractère de contrôle initial ($06) et s’arrête au séparateur ( \ ).

42620

Si Alors

oui Allez à Décodage d’un message ASCII à la page 17-13.

non Arrêtez. Vous avez terminé la procédure.

Publication 1756-PM001E-FR-P - Août 2002

Page 281: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-13

Décodage d’un message ASCII

Utilisez les étapes suivantes pour extraire et convertir une valeur d’un message ASCII qui contient plusieurs valeurs.

Par exemple, un message peut ressembler à ceci :

1. Déterminez où commencer :

2. Quel est le type de nombre de la valeur ?

première valeur deuxième valeur

troisième valeur

[Ctrl-F] num. du message

\ touche F \ action de la touche F

[CR]

caractère de contrôle

séparateur séparateur caractère de fin

Si la Et Alors

chaîne a plus d’une valeur Ceci est la première valeur. Allez àConversion d’une valeur à la page 17-11.

Ceci n’est pas la valeur. Allez à l’étape 2.

chaîne n’a qu’une valeur Allez àConversion d’une valeur à la page 17-11.

Si Alors

virgule flottante Entrez Ligne A : Trouve et convertit une valeur à virgule flottante

nombre entier Entrez Ligne B : Trouve et convertit une valeur de nombre entier

42810

Ligne A : Trouve et convertit une valeur à virgule flottante

42810

Ligne B : Trouve et convertit une valeur de nombre entier

Publication 1756-PM001E-FR-P - Août 2002

Page 282: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-14 Traitement des caractères ASCII

3. Entrez le bit EM de l’instruction ARL qui lit la valeur.

4. Entrez le point chaîne qui contient la valeur.

5. Entrez un nom de point pour stocker le séparateur qui marque le début de la valeur. Définissez le type de données comme une chaîne.

6. Cliquez deux fois sur la zone de valeur de Recherche.

7. Tapez le séparateur et choisissez OK.

8. Entrez la position dans la chaîne où la recherche doit commencer.• Au départ, vous pouvez utiliser 0 pour trouver le premier séparateur.• Pour décoder d’autres données, augmentez cette valeur pour

rechercher le séparateur suivant.

9. Entrez un nom de point où stocker l’emplacement du séparateur. Définissez le type de données comme DINT.

3.

5.4.

42810

6.

8. 9.

42615

Publication 1756-PM001E-FR-P - Août 2002

Page 283: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-15

10. Entrez le point chaîne qui contient la valeur.

11. Entrez le nombre maximum de caractères que cette valeur peut contenir.

12. Entrez le point qui stocke la position du séparateur. (Point de l’étape 9.)

13. Entrez un nom de point où stocker la valeur. Définissez le type de données comme une chaîne.

14. Quel type d’instruction de conversion avez-vous utilisé ?

11.10.

42810

12. 13.

Si Alors

STOR Allez à l’étape 15.

STOD Allez à l’étape 18.

Publication 1756-PM001E-FR-P - Août 2002

Page 284: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-16 Traitement des caractères ASCII

15. Entrez le point qui stocke la valeur. (Point de l’étape 13.)

16. Entrez un nom de point pour stocker la valeur à utiliser par votre application. Définissez le type de données comme REAL.

17. Allez à l’étape 20.

18. Entrez le point qui stocke la valeur. (Point de l’étape 13.)

19. Entrez un nom de point pour stocker la valeur à utiliser par votre application. Définissez le type de données comme DINT.

20. La chaîne a-t-elle une autre valeur que vous voulez utiliser ?

15. 16.

42809

18. 19.

42809

Si Alors

oui A. Ajoutez 1 au résultat de l’instruction de recherche. (Point de l’étape 9.)

B. Répétez les étapes 2 – 19.

non Arrêtez. Vous avez terminé la procédure.

Publication 1756-PM001E-FR-P - Août 2002

Page 285: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-17

Création d’une chaîne Utilisez les étapes suivantes pour créer une chaîne à partir de variables dans votre application. Vous pouvez ensuite envoyer la chaîne vers un équipement déclenché par code ASCII, tel qu’un terminal MessageView.

• Dans cette procédure, vous créez une chaîne qui contient deux variables. Par exemple, un terminal opérateur peut nécessiter une chaîne qui ressemble à ceci :

• Si vous avez besoin d’inclure plus de variables, utilisez des instructions INSERT ou CONCAT supplémentaires.

• Si vous devez envoyer une valeur à virgule flottante, utilisez une instruction RTOS à la place de l’instruction DTOS.

• La chaîne finale n’inclut pas le caractère de fin. Lorsque vous envoyez la chaîne, utilisez une instruction AWA pour ajouter automatiquement le caractère de fin.

Etapes :

1. Entrez la ligne suivante :

2. Entrez la ou les condition (s) d’entrée qui déterminent quand créer la chaîne.

3. Entrez le point DINT qui contient la première valeur de la chaîne.

4. Entrez un nom de point pour stocker la représentation ASCII de la valeur. Définissez le type de données comme chaîne.

[Ctrl-F] num. du message

\ adresse [CR]

caractère de contrôle

séparateur caractère de fin

42813

Publication 1756-PM001E-FR-P - Août 2002

Page 286: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-18 Traitement des caractères ASCII

5. Entrez un nom de point pour stocker les caractères de contrôle et de séparation de la chaîne. Définissez le type de données comme une chaîne.

6. Cliquez deux fois sur la zone de valeur de Source A.

7. Tapez le caractère de contrôle et le séparateur et choisissez OK.

Pour un caractère de contrôle, tapez le code hexadécimal du caractère. Pour consulter la liste des codes hex, voir la dernière page de ce manuel.

8. Entrez le point qui stocke la représentation ASCII de la première valeur. (Point de l’étape 4.)

9. Entrez 2.

Ceci place la valeur après le premier caractère (caractère de contrôle) dans Source A.

10. Entrez un nom de point où stocker la chaîne partielle. Définissez le type de données comme une chaîne.

5. 6. 8.

42813

9. 10.

426154.3.2.

Publication 1756-PM001E-FR-P - Août 2002

Page 287: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Traitement des caractères ASCII 17-19

11. Entrez le point DINT qui contient la deuxième valeur de la chaîne.

12. Entrez un nom de point pour stocker la représentation ASCII de la valeur. Définissez le type de données comme une chaîne.

13. Entrez le point qui stocke la chaîne partielle. (Point de l’étape 10.)

14. Entrez le point qui stocke la représentation ASCII de la deuxième valeur. (Point de l’étape 12.)

15. Entrez un nom de point où stocker la chaîne complète. Définissez le type de données comme une chaîne.

11. 12. 13. 14.

42813

15.

Publication 1756-PM001E-FR-P - Août 2002

Page 288: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

17-20 Traitement des caractères ASCII

EXEMPLE Pour déclencher un message dans un terminal MessageView, l’automate envoie un message au terminal dans le format suivant : [Ctrl-T] num. du message \ adresse [CR]

Lorsque send_msg est activé, la ligne effectue les actions suivantes :

• La première instruction DTOS convertit le numéro du message en caractères ASCII.• L’instruction INSERT insère le numéro du message (en ASCII) après le caractère de contrôle

[Ctrl-T]. (Le code hexadécimal pour Ctrl-T est $14.)• La deuxième instruction DTOS convertie le numéro de station du terminal en caractères ASCII.• L’instruction CONCAT met le numéro de station (en ASCII) après la barre oblique inverse [ \ ]

et stocke la chaîne finale dans msg.Pour envoyer un message, une instruction AWA envoie le point msg et ajoute un retour chariot [CR].

42813

Publication 1756-PM001E-FR-P - Août 2002

Page 289: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 18

Forçage des éléments de la logique

Quand utiliser cette procédure

Utilisez cette procédure pour ne pas tenir compte (contourner) de données utilisées ou produites par votre logique. Par exemple, utilisez le forçage dans les situations suivantes :

• test et débogage de votre logique ;• vérification du câblage vers un équipement de sortie ;• garder temporairement votre procédé en fonctionnement lorsqu’un

équipement d’entrée est en panne.

Utilisez le forçage uniquement comme mesure temporaire. Le forçage n’est pas destiné à être une fonction permanente de votre application.

Comment utiliser cette procédure

Pour Voir

connaître les précautions à prendre lorsque vous ajoutez, changez, supprimez ou désactivez des forçages

« Précautions », page 18-2

déterminer l’état des forçages en cours dans votre projet « Vérification de l’état du forçage », page 18-4

déterminer le type d’élément à forcer dans votre projet « Que forcer », page 18-5

des informations générales sur les forçages d’E/S, y compris les éléments que vous pouvez forcer et voir comment un forçage d’E/S affecte votre projet

« Quand utiliser un forçage d’E/S », page 18-6

forcer une valeur d’E/S « Ajout d’un forçage d’E/S », page 18-8

des informations générales sur le passage par une transition ou un chemin simultané « Quand utiliser Step Through (Passer par) », page 18-9

passer par une transition active « Passage par une transition ou par le forçage d’un chemin », page 18-9

passer par un chemin simultané forcé sur faux

des informations générales sur les forçages SFC, y compris les éléments que vous pouvez forcer et voir comment les forçages affectent l’exécution de votre SFC

« Quand utiliser un forçage SFC », page 18-9

forcer une transition ou un chemin simultané dans un SFC « Ajout d’un forçage SFC », page 18-12

mettre fin à un forçage « Suppression ou désactivation des forçages », page 18-13

1 Publication 1756-PM001E-FR-P - Août 2002

Page 290: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-2 Forçage des éléments de la logique

Précautions Prenez les précautions suivantes lorsque vous utilisez des forçages :

Activer les forçages

Pour qu’un forçage fonctionne, vous devez activer les forçages. Vous ne pouvez activer ou désactiver les forçages qu’au niveau de l’automate.

• Vous pouvez activer les forçages d’E/S et SFC séparément ou en même temps.

• Vous ne pouvez pas activer ou désactiver les forçages d’un module, d’un groupe de points ou d’un élément de point particulier.

Lorsque les forçages sont effectifs (activés), une flèche apparaît à côté de l’élément forcé.

ATTENTION

!Le forçage peut entraîner un mouvement imprévu des machines, susceptible d’occasionner des blessures corporelles. Avant d’utiliser un forçage, déterminez comment ce forçage affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

• L’activation des forçages d’E/S entraîne un changement des valeurs d’entrée et de sortie, produites et consommées.

• L’activation des forçages SFC entraîne un changement d’état ou de phase de votre machine ou de votre procédé.

• La suppression des forçages peut en laisser des activés.• Si des forçages sont activés et si vous installez un forçage, le

nouveau forçage prend effet immédiatement.

IMPORTANT Si vous chargez un projet dont les forçages sont activés, le logiciel de programmation vous demande d’activer ou de désactiver les forçages à la fin du chargement.

état dans lequel l’élément est forcé

les forçages sont effectifs (activés)

Publication 1756-PM001E-FR-P - Août 2002

Page 291: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-3

Désactiver ou supprimer un forçage

Pour mettre fin à un forçage et laisser votre projet exécuter selon sa programmation, désactivez ou supprimez le forçage.

• Vous pouvez désactiver ou supprimer les forçages d’E/S et SFC en même temps ou séparément.

• Supprimer un forçage d’un alias d’un point le supprime également du point d’origine.

ATTENTION

!Les modifications apportées aux forçages peuvent entraîner un mouvement imprévu des machines, susceptible d’occasionner des blessures corporelles. Avant de désactiver ou de supprimer des forçages, déterminez comment ce changement affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

Publication 1756-PM001E-FR-P - Août 2002

Page 292: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-4 Forçage des éléments de la logique

Vérification de l’état du forçage

Avant d’utiliser un forçage, déterminez l’état des forçages de l’automate. Vous pouvez vérifier l’état des forçages comme suit :

Barre d’outils Online

La barre d’outils Online indique l’état des forçages. Elle montre l’état des forçages d’E/S et des forçages SFC séparément.

Voyant FORCE

Si votre automate comporte un voyant de forçage (FORCE), utilisez ce voyant pour déterminer l’état des forçages des E/S.

Pour déterminer l’état Utilisez l’une de ces méthodes

des forçages d’E/S • Barre d’outils Online

• Voyant FORCE

• Instruction GSV

des forçages SFC Barre d’outils Online

Onglet Forces (Forçages)

Ceci Signifie

Enabled (Activés) • Si le projet contient des forçages de ce type, ils contournent votre logique.

• Si vous ajoutez un forçage de ce type, le nouveau forçage prend effet immédiatement.

Disabled (Désactivés) Les forçages de ce type sont désactivés. Si le projet contient des forçages de ce type, ils ne contournent pas votre logique.

Installed (Installés) Le projet comporte au moins un forçage de ce type.

None Installed (Aucun installé)

Le projet ne contient aucun forçage de ce type.

IMPORTANT Le voyant FORCE indique l’état des forçages d’E/S seulement. Il n’indique pas l’état des forçages SFC.

Publication 1756-PM001E-FR-P - Août 2002

Page 293: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-5

Instruction GSV

L’exemple suivant indique comment utiliser une instruction GSV pour obtenir l’état des forçages.

Force_Status est un point DINT.

Que forcer Vous pouvez forcer les éléments suivants de votre projet :

Si le voyant FORCE est Alors

éteint • Aucun point ne contient des valeurs de forçage.• Les forçages d’E/S sont inactifs (désactivés).

clignotant • Au moins un point contient une valeur de forçage.• Les forçages d’E/S sont inactifs (désactivés).

allumé • Les forçages d’E/S sont actifs (activés).• Il peut exister ou non des valeurs de forçage.

IMPORTANT L’attribut ForceStatus (Etat des forçages) indique l’état des forçages d’E/S seulement. Il n’indique pas l’état des forçages SFC.

Pour déterminer si Examiner si ce bit Contient cette valeur

des forçages sont installés 0 1

aucun forçage n’est installé 0 0

des forçages sont activés 1 1

des forçages sont désactivés

1 0

Pour Alors

contourner une valeur d’entrée ou de sortie, un point produit ou consommé Ajout d’un forçage d’E/S

contourner une fois les conditions d’une transition pour passer d’une étape active à l’étape suivante

Passage par une transition ou par le forçage d’un chemin

contourner une fois le forçage d’un chemin simultané et en exécuter les étapes

contourner les conditions d’une transition dans un graphe de fonctionnement séquentiel Ajout d’un forçage SFC

exécuter certains chemins (pas tous) d’une branche simultanée d’un graphe de fonctionnement séquentiel

Publication 1756-PM001E-FR-P - Août 2002

Page 294: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-6 Forçage des éléments de la logique

Quand utiliser un forçage d’E/S

Utilisez un forçage d’E/S pour exécuter l’une des actions suivantes :

• contourner une valeur d’entrée d’un autre automate (un point consommé) ;

• contourner une valeur d’entrée d’un équipement d’entrée ;• contourner votre logique et indiquer une valeur de sortie pour un autre

automate (un point produit) ;• contourner votre logique et indiquer l’état d’un équipement de sortie.

Lorsque vous forcez une valeur d’E/S :

• vous pouvez forcer toutes les données d’E/S, sauf les données de configuration ;

• si le point est un tableau ou une structure, tel qu’un point d’E/S, forcez un élément ou un membre BOOL, SINT, INT, DINT ou REAL ;

• si la valeur de donnée est un membre SINT, INT ou DINT, vous pouvez forcer toute la valeur ou seulement certains bits de la valeur. Ces bits peuvent avoir l’état de forçage suivant :– aucun forçage,– forçage activé,– forçage désactivé.

• vous pouvez également forcer un alias d’un membre de structure d’E/S, d’un point produit ou d’un point consommé :– un alias de point partage la même valeur que le point d’origine ;

forcer un alias de point force donc également son point d’origine ;– supprimer le forçage d’un alias de point le supprime également du

point d’origine.

Forcer une valeur d’entrée

Forcer un point d’entrée ou consommé :

• contourne la valeur, quelle que soit la valeur de l’équipement physique ou du point consommé ;

• n’affecte pas la valeur reçue par les autres automates qui surveillent ce point d’entrée ou consommé.

IMPORTANT Le forçage augmente la durée d’exécution de la logique. Plus vous forcez de valeurs, plus l’exécution de la logique est longue.

IMPORTANT Les forçages d’E/S sont gardés par l’automate et non par la station qui les programme. Les forçages restent même si la station qui les a programmés est déconnectée.

Publication 1756-PM001E-FR-P - Août 2002

Page 295: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-7

Forcer une valeur de sortie

Forcer un point de sortie ou produit contourne la logique de l’équipement physique ou des autres automates. Les autres automates qui surveillent ce module de sorties en mode écoute seule verront également la valeur forcée.

Publication 1756-PM001E-FR-P - Août 2002

Page 296: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-8 Forçage des éléments de la logique

Ajout d’un forçage d’E/S Pour contourner une valeur d’entrée, une valeur de sortie, un point produit ou un point consommé, utilisez un forçage d’E/S :

1. Quel est l’état de l’indicateur des forçages d’E/S ?

2. Ouvrez le sous-programme contenant le point que vous voulez forcer.

3. Cliquez sur le point avec le bouton droit de la souris et sélectionnez Monitor… (Surveiller…). Si nécessaire, développez le point pour afficher la valeur que vous voulez forcer (ex. : valeur booléenne d’un point DINT).

4. Installez la valeur de forçage :

5. Les forçages d’E/S sont-ils activés ? (Voir étape 1.)

ATTENTION

!Le forçage peut entraîner un mouvement imprévu des machines, susceptible d’occasionner des blessures corporelles. Avant d’utiliser un forçage, déterminez comment ce forçage affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

• L’activation des forçages d’E/S entraîne un changement des valeurs d’entrée et de sortie, produites ou consommées.

• Si des forçages sont activés et si vous installez un forçage, le nouveau forçage prend effet immédiatement.

S’il Cela signifie

éteint Il n’y a pas de forçage des E/S pour le moment.

clignotant Aucun forçage d’E/S n’est actif, mais votre projet comporte au moins un forçage. Lorsque vous activez les forçages d’E/S, tous les forçages d’E/S prennent effet.

allumé Les forçages d’E/S sont activés. Lorsque vous installez (ajoutez) un forçage, il prend effet immédiatement.

Pour forcer une Faites ceci

valeur booléenne Cliquez sur le point avec le bouton droit de la souris et sélectionnez Force ON (Forçage activé) ou Force OFF (Forçage désactivé).

valeur non booléenne

Dans la colonne Force Mask (Masque de forçage) du point, entrez la valeur avec laquelle vous voulez forcer le point. Appuyez ensuite sur la touche Entrée.

Si Alors

non Dans le menu Logic (Logique), sélectionnez I/O Forcing ⇒ Enable All I/O Forces (Forçage des E/S, Activer tous les forçages d’E/S). Sélectionnez Yes (Oui) pour confirmer.

oui Arrêtez.

Publication 1756-PM001E-FR-P - Août 2002

Page 297: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-9

Quand utiliser Step Through (Passer par)

Pour contourner une transition fausse une fois et passer d’une étape active à l’étape suivante, utilisez l’option Step Through (Passer par). Avec l’option Step Through :

• vous n’avez pas besoin d’ajouter, d’activer, de désactiver ou de supprimer des forçages ;

• lorsque le SFC atteint la transition la fois suivante, il est exécuté selon les conditions de la transition.

Cette option vous permet également de contourner une fois le forçage d’un chemin simultané sur faux. Lorsque vous passez par le forçage, le SFC exécute les étapes du chemin.

Passage par une transition ou par le forçage d’un chemin

Pour passer par la transition d’une étape active ou le forçage d’un chemin simultané :

1. Ouvrez le sous-programme SFC.

2. Cliquez avec le bouton droit de la souris sur la transition ou sur le chemin forcé et sélectionnez Step Through (Passer par).

Quand utiliser un forçage SFC

Vous pouvez contourner la logique d’un SFC comme suit :

Forcer une transition

Pour contourner les conditions d’une transition pendant plusieurs exécutions du SFC, forcez la transition. Le forçage reste actif jusqu’à ce que vous le supprimiez ou que vous désactiviez les forçages.

Pour Alors

contourner les conditions d’une transition chaque fois que le SFC atteint la transition

Forcer une transition

empêcher l’exécution d’un ou de plusieurs chemins d’une branche simultanée

Forcer un chemin simultané

Pour Alors

empêcher le SFC de passer à l’étape suivante forcer la transition sur fausse

faire passer le SFC à l’étape suivante quelles que soient les conditions de transition

forcer la transition sur vraie

Publication 1756-PM001E-FR-P - Août 2002

Page 298: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-10 Forçage des éléments de la logique

Si vous forcez une transition dans une branche simultanée sur fausse, le SFC reste dans la branche simultanée tant que le forçage est actif (installé et activé).

• Pour quitter une branche simultanée, la dernière étape de chaque chemin doit être exécutée au moins une fois et la transition sous la branche doit être vraie.

• Forcer une transition sur vraie empêche le SFC d’atteindre la dernière étape d’un chemin.

• Lorsque vous supprimez ou désactivez le forçage, le SFC peut exécuter le reste des étapes du chemin.

Forcer un chemin simultané

Pour empêcher l’exécution d’un chemin d’une branche simultanée, forcez le chemin sur faux. Lorsque le SFC atteint la branche, il exécute uniquement les chemins non forcés.

Par exemple, pour sortir de cette branche, le SFC doit pouvoir :

• exécuter Step_011 au moins une fois ;

• passer Tran_011 et exécuter Step_012 au moins une fois ;

• déterminer que Tran_012 est vraie.

Ce chemin n’est pas exécuté. Ce chemin est exécuté.

Publication 1756-PM001E-FR-P - Août 2002

Page 299: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-11

Si vous forcez un chemin d’une branche simultanée sur faux, le SFC reste dans la branche simultanée tant que le forçage est actif (installé et activé).

• Pour quitter une branche simultanée, la dernière étape de chaque chemin doit être exécutée au moins une fois et la transition sous la branche doit être vraie.

• Forcer un chemin sur faux empêche le SFC d’entrer dans un chemin et d’en exécuter les étapes.

• Lorsque vous supprimez ou désactivez le forçage, le SFC peut exécuter les étapes du chemin.

Publication 1756-PM001E-FR-P - Août 2002

Page 300: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-12 Forçage des éléments de la logique

Ajout d’un forçage SFC Pour contourner la logique d’un SFC, utilisez un forçage SFC :

1. Quel est l’état de l’indicateur des forçages SFC ?

2. Ouvrez le sous-programme SFC.

3. Cliquez avec le bouton droit de la souris sur la transition ou sur le début du chemin simultané que vous voulez forcer et sélectionnez Force TRUE (Forçage sur vrai) (uniquement pour une transition) ou Force FALSE (Forçage sur faux).

4. Les forçages SFC sont-ils activés ? (Voir l’étape 1.)

ATTENTION

!Le forçage peut entraîner un mouvement imprévu des machines, susceptible d’occasionner des blessures corporelles. Avant d’utiliser un forçage, déterminez comment ce forçage affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

• L’activation des forçages SFC entraîne un changement d’état ou de phase de votre machine ou de votre procédé.

• Si des forçages sont activés et si vous installez un forçage, le nouveau forçage prend effet immédiatement.

S’il est Cela signifie

éteint Il n’y a pas de forçage SFC.

clignotant Aucun forçage SFC n’est actif, mais votre projet comporte au moins un forçage. Lorsque vous activez les forçages SFC, tous les forçages SFC prennent effet.

allumé Les forçages SFC sont activés. Lorsque vous installez (ajoutez) un forçage, il prend effet immédiatement.

Si Alors :

non Dans le menu Logic (Logique), sélectionnez SFC Forcing ⇒ Enable All SFC Forces (Forçage SFC, Activer tous les forçages SFC). Sélectionnez Yes (Oui) pour confirmer.

oui Arrêtez.

Publication 1756-PM001E-FR-P - Août 2002

Page 301: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Forçage des éléments de la logique 18-13

Suppression ou désactivation des forçages

Supprimer un forçage particulier

1. Ouvrez le sous-programme contenant le forçage que vous voulez supprimer.

2. Quel est le langage du sous-programme ?

ATTENTION

!Les modifications apportées aux forçages peuvent entraîner un mouvement imprévu des machines, susceptible d’occasionner des blessures corporelles. Avant de désactiver ou de supprimer des forçages, déterminez comment ce changement affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

Pour Et Alors

arrêter un forçage particulier laisser les autres forçages activés et opérationnels

Supprimer un forçage particulier

arrêter tous les forçages d’E/S et SFC laisser les forçages dans le projet Désactiver tous les forçages d’E/S et SFC

supprimer les forçages du projet Supprimer tous les forçages d’E/S et SFC

arrêter tous les forçages d’E/S mais laisser tous les forçages SFC activés

laisser les forçages d’E/S dans le projet Désactiver tous les forçages d’E/S

supprimer les forçages d’E/S du projet Supprimer tous les forçages d’E/S

arrêter tous les forçages SFC mais laisser tous les forçages d’E/S activés

laisser les forçages SFC dans le projet Désactiver tous les forçages SFC

supprimer les forçages SFC du projet Supprimer tous les forçages SFC

ATTENTION

!Si vous supprimez un forçage particulier, les autres forçages restent activés et tout nouveau forçage prend effet immédiatement.

Avant de supprimer un forçage, déterminez comment ce changement affectera votre machine ou votre procédé et éloignez le personnel de la zone des machines.

Si le langage est le suivant Alors

SFC Allez à l’étape 4.

logique à relais Allez à l’étape 4.

bloc fonctionnel Allez à l’étape 3.

texte structuré Allez à l’étape 3.

Publication 1756-PM001E-FR-P - Août 2002

Page 302: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18-14 Forçage des éléments de la logique

3. Cliquez avec le bouton droit de la souris sur le point contenant le forçage et sélectionnez Monitor… (Surveiller…). Si nécessaire, développez le point pour afficher la valeur forcée (ex. : valeur booléenne d’un point DINT).

4. Cliquez avec le bouton droit de la souris sur le point ou sur l’élément contenant le forçage et sélectionnez Remove Force (Supprimer le forçage).

Désactiver tous les forçages d’E/S et SFC

1. Dans la barre d’outils Online, cliquez sur l’onglet Forces (Forçages).

2. Dans l’onglet Forces (Forçages), cliquez sur la flèche ▼ et sélectionnez Disable All Forces (Désactiver tous les forçages). Sélectionnez Yes (Oui) pour confirmer.

Supprimer tous les forçages d’E/S et SFC

1. Dans la barre d’outils Online, cliquez sur l’onglet Forces (Forçages).

2. Dans l’onglet Forces (Forçages), cliquez sur la flèche ▼ et sélectionnez Remove All Forces (Supprimer tous les forçages). Sélectionnez Yes (Oui) pour confirmer.

Désactiver tous les forçages d’E/S

Dans le menu Logic (Logique), sélectionnez I/O Forcing ⇒ Disable All I/O Forces (Forçage des E/S, Désactiver tous les forçages d’E/S). Sélectionnez Yes (Oui) pour confirmer.

Supprimer tous les forçages d’E/S

Dans le menu Logic (Logique), sélectionnez I/O Forcing ⇒ Remove All I/O Forces (Forçage des E/S, Supprimer tous les forçages d’E/S). Sélectionnez Yes (Oui) pour confirmer.

Désactiver tous les forçages SFC

Dans le menu Logic (Logique), sélectionnez SFC Forcing ⇒ Disable All SFC Forces (Forçages SFC, Désactiver tous les forçages SFC). Sélectionnez Yes (Oui) pour confirmer.

Supprimer tous les forçages SFC

Dans le menu Logic (Logique), sélectionnez SFC Forcing ⇒ Remove All SFC Forces (Forçages SFC, Supprimer tous les forçages SFC). Sélectionnez Yes (Oui) pour confirmer.

Publication 1756-PM001E-FR-P - Août 2002

Page 303: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 19

Développement d’un sous-programme de gestion des défauts

Quand utiliser cette procédure

Si une condition de défaut survient qui est suffisamment grave pour déclencher l’arrêt immédiat de l’automate, ce dernier génère un défaut majeur et arrête l’exécution de la logique.

• Selon votre application, vous pouvez ne pas vouloir que tous les défauts majeurs arrêtent l’ensemble du système.

• Dans ce cas, vous pouvez utiliser un sous-programme de gestion des défauts pour effacer un défaut spécifique et laisser fonctionner au moins une partie du système.

Comment utiliser cette procédure

Pour développer un sous-programme de gestion des défauts :

• Création du type de données FAULTRECORD• Création d’un sous-programme de gestion des défauts• Effacement d’un défaut majeur• Effacement d’un défaut majeur pendant la pré-scrutation• Test d’un sous-programme de gestion des défauts

EXEMPLE Utilisez un sous-programme de gestion des défauts.

Dans un système qui utilise des numéros de recette comme adresses indirectes, un chiffre mal saisi peut provoquer un défaut majeur, par exemple de type 4, code 20.

• Pour empêcher l’arrêt immédiat de tout le système, un sous-programme de gestion des défauts efface tout type de défaut majeur de type 4, code 20.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 304: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

19-2 Développement d’un sous-programme de gestion des défauts

Création du type de données FAULTRECORD

Créez le type de données utilisateur suivant. Il permet de stocker les informations sur le défaut.

Type de données :FAULTRECORD

Nom FAULTRECORD

Description Stocke les attributs MajorFaultRecord ou MinorFaultRecord de l’objet PROGRAM.

Membres

Nom Type de données

Style Description

Time_Low DINT Décimal 32 bits inférieurs de la valeur d’horodatage du défaut

Time_High DINT Décimal 32 bits supérieurs de la valeur d’horodatage du défaut

Type INT Décimal type de défaut (programme, E/S, etc)

Code INT Décimal code du défaut

Info DINT[8] Hex informations spécifiques au défaut

Pour créer un nouveau type de données :

Controller Your_Project

Tasks

Motion Groups

Trends

Data Types

User-Defined

Cliquez avec le bouton droit de la souris et sélectionnez Nouveau type de données.

+

+

+

Publication 1756-PM001E-FR-P - Août 2002

Page 305: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Développement d’un sous-programme de gestion des défauts 19-3

Création d’un sous-programme de gestion des défauts

Un sous-programme de gestion des défauts permet d’utiliser la logique à relais pour effacer des défauts spécifiques et permettre à l’automate de reprendre l’exécution. L’endroit où est placé le sous-programme dépend du type de défaut que vous voulez effacer.

Dans le cas d’un défaut causé par

Faites ceci

l’exécution d’une instruction Créez un sous-programme de gestion des défauts pour le programme :A. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez Nouveau sous-programme.

B. Dans la zone de nom, tapez un nom pour le sous-programme de gestion des défauts (nom_du_sous-programme_de_gestion_des_défauts ).

C. Dans la liste déroulante Type, sélectionnez Relais.D. Cliquez sur OK.E. Cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez

Propriétés.F. Cliquez sur l’onglet Configuration.G. Dans la liste déroulante Défaut, sélectionnez nom_du_sous-programme_de_gestion_des_défauts.

H. Cliquez sur OK.

la perte d’alimentation Créez un programme et un sous-programme principal pour la gestion des défauts de l’automate.A. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur

Gestion des défauts de l’automate et sélectionnez Nouveau programme.B. Type :

• nom_du_programme

• description (facultatif)C. Cliquez sur OK.D. Cliquez sur le signe + situé à côté de Gestion des défauts de l’automate.E. Cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez

Nouveau sous-programme.F. Type :

• nom_du_sous-programme

• description (facultatif)G. Dans la liste déroulante Type, sélectionnez le langage de programmation pour le

sous-programme.H. Cliquez sur OK.I. Cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez

Propriétés.J. Cliquez sur l’onglet Configuration.K. Dans la liste déroulante Principal, sélectionnez nom_du_sous-programmeL. Cliquez sur OK.

les E/S

le chien de garde de tâche

le changement de mode

l’axe

Publication 1756-PM001E-FR-P - Août 2002

Page 306: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

19-4 Développement d’un sous-programme de gestion des défauts

Effacement d’un défaut majeur

Pour effacer un défaut majeur qui se produit pendant l’exécution de votre projet, entrez la logique suivante dans le sous-programme de gestion des défauts approprié. (Voir Création d’un sous-programme de gestion des défauts, page 19-3.)

• Obtenir le type et le code du défaut• Recherche d’un défaut spécifique• Effacement du défaut

Obtenir le type et le code du défaut

1. L’instruction GSV accède à l’attribut MAJORFAULTRECORD de ce programme. Cet attribut stocke les informations sur le défaut.

2. L’instruction GSV stocke les informations sur le défaut dans le point major_fault_record. Lorsque vous entrez un point basé sur une structure, entrez le premier membre du point.

Recherche d’un défaut spécifique

1.

42372

2.

Nom du point Type

major_fault_record FAULTRECORD

1. 2.

42372

3. 4.

Publication 1756-PM001E-FR-P - Août 2002

Page 307: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Développement d’un sous-programme de gestion des défauts 19-5

1. Cette instruction EQU recherche un type de défaut spécifique, tel qu’un défaut de programme ou d’E/S. Dans Source B, entrez la valeur du type de défaut que vous voulez effacer.

2. Cette instruction EQU recherche un code de défaut spécifique. Dans Source B, entrez la valeur du code que vous voulez effacer.

3. Cette instruction CLR met à zéro la valeur du type de défaut dans le point major_fault_record.

4. Cette instruction CLR met à zéro la valeur du code de défaut du point major_fault_record.

Effacement du défaut

1. L’instruction SSV écrit de nouvelles valeurs dans l’attribut MAJORFAULTRECORD de ce programme.

2. L’instruction SSV écrit les valeurs contenues dans le point major_fault_record. Puisque les membres Type et Code sont à zéro, le défaut est effacé et l’automate reprend l’exécution.

1.

42372

2.

Publication 1756-PM001E-FR-P - Août 2002

Page 308: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

19-6 Développement d’un sous-programme de gestion des défauts

Effacement d’un défaut majeur pendant la pré-scrutation

Si l’automate se met en défaut immédiatement après son passage en mode Exécution, l’opération de pré-scrutation est examinée pour y rechercher un défaut. Par exemple, la pré-scrutation examine des adresses indirectes (un point qui sert de renvoi à un élément dans un tableau).

• Si une adresse indirecte est initialisée au moment de l’exécution, elle peut être trop grande pour le tableau pendant la pré-scrutation.

• Si l’automate trouve une adresse indirecte qui est hors des limites pendant la pré-scrutation, un défaut majeur se produit.

• Pour laisser l’automate terminer la pré-scrutation, utilisez le sous-programme de gestion des défauts du programme pour repérer et effacer le défaut.

Pour effacer un défaut majeur qui se produit pendant la pré-scrutation :

• Identifier quand l’automate est en pré-scrutation• Obtenir le type et le code du défaut• Recherche d’un défaut spécifique• Effacement du défaut

Identifier quand l’automate est en pré-scrutation

Entrez la ligne suivante dans le sous-programme du programme :

1. Entrez cette ligne comme première ligne du sous-programme principal du programme.

2. Le sous-programme de gestion des défauts de ce programme utilise l’état de ce bit pour déterminer si le défaut s’est produit pendant la pré-scrutation ou pendant la scrutation normale de la logique :• Pendant la pré-scrutation, ce bit est désactivé. (Pendant la

pré-scrutation, l’automate réinitialise tous les bits référencés par les instructions OTE.)

• Une fois que l’automate commence l’exécution de la logique, ce bit reste activé.

1. 1.

43063

Nom du point Type

CPU_scanning BOOL

Publication 1756-PM001E-FR-P - Août 2002

Page 309: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Développement d’un sous-programme de gestion des défauts 19-7

Obtenir le type et le code du défaut

Entrez la ligne dans le sous-programme de gestion des défauts du programme :

1. L’instruction GSV accède à l’attribut MAJORFAULTRECORD de ce programme. Cet attribut stocke les informations sur le défaut.

2. L’instruction GSV stocke les informations sur le défaut dans le point major_fault_record. Lorsque vous entrez un point basé sur une structure, entrez le premier membre du point.

Recherche d’un défaut spécifique

Entrez la ligne dans le sous-programme de gestion des défauts du programme :

1. Pendant la pré-scrutation, les bits de toutes les instructions OTE sont désactivés et cette instruction est vraie. Une fois que l’automate commence l’exécution de la logique, cette instruction est toujours fausse.

2. Cette instruction EQU recherche un défaut de type 4, ce qui signifie qu’une instruction de ce programme a produit le défaut.

1.

43064

2.

Nom du point Type

major_fault_record FAULTRECORD

1. 3.2.

43064

4. 5.

Publication 1756-PM001E-FR-P - Août 2002

Page 310: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

19-8 Développement d’un sous-programme de gestion des défauts

3. Cette instruction EQU recherche un défaut de code 20, ce qui signifie qu’un indice de tableau est trop grand ou qu’une valeur POS ou LEN d’une structure CONTROL n’est pas valide.

4. Cette instruction CLR met à zéro la valeur du type de défaut dans le point major_fault_record.

5. Cette instruction CLR met à zéro la valeur du code de défaut du point major_fault_record.

Effacement du défaut

Entrez la ligne dans le sous-programme de gestion des défauts du programme :

1. Pendant la pré-scrutation, les bits de toutes les instructions OTE sont désactivés et cette instruction est vraie. Une fois que l’automate commence l’exécution de la logique, cette instruction est toujours fausse.

2. L’instruction SSV écrit de nouvelles valeurs dans l’attribut MAJORFAULTRECORD de ce programme.

3. L’instruction SSV écrit les valeurs contenues dans le point major_fault_record. Puisque les membres Type et Code sont à zéro, le défaut est effacé et l’automate reprend l’exécution.

1.

2.

43064

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 311: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Développement d’un sous-programme de gestion des défauts 19-9

Test d’un sous-programme de gestion des défauts

Vous pouvez utiliser une instruction JSR pour tester le sous-programme de gestion des défauts d’un programme sans créer une erreur (c.-à-d., simuler un défaut).

1. Créez un point BOOL que vous utiliserez pour introduire le défaut.

2. Entrez la ligne suivante dans le sous-programme principal ou dans un sous-programme du programme :

3. Pour simuler un défaut, réglez la condition d’entrée.

où est

aaa le point que vous allez utiliser pour introduire le défaut (Etape1.)

bbb le sous-programme du programme

EXEMPLE Test d’un sous-programme de gestion des défauts

Lorsque test_fault_routine est activé, un défaut majeur se produit et l’automate exécute Fault_Routine.

Publication 1756-PM001E-FR-P - Août 2002

Page 312: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

19-10 Développement d’un sous-programme de gestion des défauts

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 313: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 20

Création d’un défaut majeur défini par l’utilisateur

Quand utiliser cette procédure ?

Si vous voulez interrompre (effectuer un arrêt immédiat) l’automate en fonction des conditions de votre application, créez un défaut majeur défini par l’utilisateur. Avec un défaut majeur défini par l’utilisateur :

• Vous définissez une valeur pour le code de défaut.• L’automate traite ce défaut comme tous les autres défauts majeurs :

– Il passe en mode défaut (défaut majeur) et arrête d’exécuter la logique.

– Les sorties sont mises à l’état (ou la valeur) configuré pour le mode de défaut.

Création d’un défaut majeur défini par l’utilisateur

1. Existe-t-il déjà un sous-programme de gestion des défauts pour le programme ?

EXEMPLE Défaut majeur défini par l’utilisateur

Lorsque input_value est supérieure à 80, produire un défaut majeur et générer un code de défaut de 999.

Si : Alors :Oui Allez à l’étape 2.Non Créez un sous-programme de gestion des défauts pour le programme :

A. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez Nouveau sous-programme.

B. Dans la zone de nom, tapez un nom pour le sous-programme de gestion des défauts (nom_du_sous-programme_de_gestion_des_défauts).

C. Dans la liste déroulante Type, sélectionnez Relais.D. Cliquez sur OK.E. Cliquez avec le bouton droit de la souris sur nom_du_programme et sélectionnez Propriétés.

F. Cliquez sur l’onglet Configuration.G. Dans la liste déroulante Défaut, sélectionnez nom_du_sous-programme_de_gestion_des_défauts.

H. Cliquez sur OK.I. Cliquez deux fois sur nom_du_sous-programme_de_gestion_des_défauts.

J. Entrez une instruction NOP (pour vérifier que le sous-programme n’a pas d’erreur).

1 Publication 1756-PM001E-FR-P - Août 2002

Page 314: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

20-2 Création d’un défaut majeur défini par l’utilisateur

2. Dans le sous-programme principal, entrez la ligne suivante :

42373

Jump to SubroutineRoutine name name_of_fault_routineInput par x

JSRconditions qui entraînent un arrêt immédiat de l’automate

où est nom_du_sous-programme_de_gestion_des_défauts. le sous-programme créé à l’étape 1.x la valeur du code de défaut

EXEMPLE Création d’un défaut majeur défini par l’utilisateur

Lorsque input_value est supérieur ou égal à 80, l’exécution passe à nom_du_sous-programme_de_gestion_des_défauts. Un défaut majeur se produit et l’automate passe en mode de défaut. Les sorties passent à leur état de défaut. La boîte de dialogue Propriétés de l’automate, onglet Défauts majeurs, affiche le code 999.

42373

Grtr Than or Eql (A>=B)Source A input_value

0Source B 80

GEQJump to SubroutineRoutine name name_of_fault_routineInput par 999

JSR

Publication 1756-PM001E-FR-P - Août 2002

Page 315: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 21

Gestion des défauts mineurs

Quand utiliser cette procédure

Si une condition de défaut se produit qui n’est pas suffisamment grave pour déclencher l’arrêt immédiat de l’automate, ce dernier génère un défaut mineur.

• L’automate continue l’exécution.• Il n’est pas indispensable d’effacer un défaut mineur.• Pour optimiser la durée d’exécution et assurer la précision du

programme, vous devez surveiller et corriger ces défauts.

Gestion des défauts mineurs

Utilisez la logique à relais afin de saisir des informations se rapportant à un défaut mineur :

Pour rechercher un : Faites ceci :

chevauchement d’une tâche périodique

1. Entrez une instruction GSV qui obtient l’objet FAULTLOG, attribut MinorFaultBits.2. Surveillez le bit 6.

chargement depuis la mémoire non volatile

1. Entrez une instruction GSV qui obtient l’objet FAULTLOG, l’attribut MinorFaultBits.2. Surveiller le bit 7.

problème lié au port série 1. Entrez une instruction GSV qui obtient l’objet FAULTLOG, attribut MinorFaultBits.2. Surveillez le bit 9.

déchargement de la pile 1. Entrez une instruction GSV qui obtient l’objet FAULTLOG, attribut MinorFaultBits.2. Surveillez le bit 10.

problème lié à une instruction

1. Créez un type de données défini par l’utilisateur qui stocke l’information de défaut. Appelez le type de données FaultRecord et attribuez les membres suivants :

Nom : Type des données : Type :

TimeLow DINT Décimal

TimeHigh DINT Décimal

Type INT Décimal

Code INT Décimal

Info DINT[8] Hexadécimal

2. Créez un point pour stocker les valeurs de l’attribut MinorFaultRecord. Sélectionnez le type de données créé à l’étape 1.

3. Surveillez S:MINOR.4. Si S:MINOR est activé, utilisez une instruction GSV pour obtenir les valeurs de l’attribut

MinorFaultRecord.5. Si vous voulez détecter un défaut mineur produit par une autre instruction, réinitialisez S:MINOR.

(S:MINOR reste activé jusqu’à la fin de la scrutation.)

1 Publication 1756-PM001E-FR-P - Août 2002

Page 316: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

21-2 Gestion des défauts mineurs

L’exemple suivant recherche un avertissement de pile faible.

EXEMPLE Recherche d’un défaut mineur

Minor_fault_check dure 1 minute (60 000 ms) puis redémarre automatiquement.

Chaque minute, minor_fault_check.DN est activé pour une scrutation. A ce moment-là, l’instruction GSV obtient la valeur de l’objet FAULTLOG, attribut MinorFaultBits, et la stocke dans le point minor_fault_bits. L’instruction GSV n’étant exécutée que chaque minute, le temps de scrutation de la plupart des scrutations est réduit.

Si minor_fault_bits.10 est activé, cela signifie que la pile est faible.

42373

Publication 1756-PM001E-FR-P - Août 2002

Page 317: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Gestion des défauts mineurs 21-3

L’exemple suivant recherche un défaut mineur produit par une instruction spécifique.

EXEMPLE Recherche d’un défaut mineur produit par une instruction

Multiplie value_a par 1 000 000 et recherche un défaut mineur, tel qu’un dépassement mathématique :

• Pour s’assurer que ce n’est pas une instruction précédente qui a produit le défaut, la ligne efface préalablement S:MINOR.

• Ensuite, la ligne exécute l’instruction de multiplication.• Si l’instruction produit un défaut mineur, l’automate active S:MINOR.• Si S:MINOR est activé, l’instruction GSV obtient des informations sur le défaut et réinitialise S:MINOR.

42373

Publication 1756-PM001E-FR-P - Août 2002

Page 318: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

21-4 Gestion des défauts mineurs

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 319: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 22

Développement d’un sous-programme de démarrage

Quand utiliser cette procédure ?

Le gestionnaire de démarrage est une tâche optionnelle qui est exécutée lorsque l’automate démarre en mode Run (exécution).

Utilisez le gestionnaire de démarrage lorsque vous voulez obtenir l’un des résultats suivants après une perte d’alimentation suivie du rétablissement de l’alimentation :

• Empêcher l’automate de repasser en mode Run (exécution).– Le gestionnaire de démarrage produira un défaut majeur, de type 1,

code 1, et l’automate passera en mode de défaut.• Prendre certaines mesures spécifiques puis reprendre l’exécution

normale de la logique.

42195

1 Publication 1756-PM001E-FR-P - Août 2002

Page 320: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

22-2 Développement d’un sous-programme de démarrage

Développement d’un sous-programme de démarrage

La procédure de développement d’un sous-programme de démarrage est la même que pour un sous-programme de gestion des défauts :

1. Créez un type de données défini par l’utilisateur pour stocker les informations sur le défaut. Appelez le type de données FaultRecord et attribuez les membres suivants :

2. Créez un point pour stocker les informations sur le défaut. Sélectionnez le type de données FaultRecord.

3. Créez un programme pour le gestionnaire de démarrage :

Nom : Type des données : Type :

TimeLow DINT Décimal

TimeHigh DINT Décimal

Type INT Décimal

Code INT Décimal

Info DINT[8] Hexadécimal

Action : Procédure détaillée :

1. Créer un projet A. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur le dossier Gestionnaire de démarrage et sélectionnez Nouveau programme.

B. Tapez• nom_du_programme

• description (facultatif)C. Cliquez sur OK.

2. Créer et attribuer un sous-programme principal (premier sous-programme exécuté dans le programme).

A. Cliquez sur le signe + situé à côté de Gestionnaire de démarrage.B. Cliquez avec le bouton droit de la souris sur nom_du_programme et

sélectionnez Nouveau sous-programme.C. Tapez

• nom_du_sous-programme_principal

• description (facultatif)D. Dans la liste déroulante Type, sélectionnez le langage de programmation pour le

sous-programme.E. Cliquez sur OK.F. Cliquez avec le bouton droit de la souris sur nom_du_programme et

sélectionnez Propriétés.G. Cliquez sur l’onglet Configuration.H. Dans la liste déroulante Principal, sélectionnez nom_du_sous-programme_principal

I. Cliquez sur OK.J. Pour ajouter d’autres sous-programmes au programme, répétez les étapes B. à E.

Publication 1756-PM001E-FR-P - Août 2002

Page 321: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Développement d’un sous-programme de démarrage 22-3

3. Comment voulez-vous gérer une perte d’alimentation ?

4. Entrez la logique suivante pour effacer le défaut :

où :

major_fault est le point créé à l’étape 2.

Pour : Faites ceci :

Empêcher l’automate de repasser en mode d’exécution

Vous avez terminé. Lorsque l’alimentation est rétablie, un défaut majeur, de type 1, code 1, se produit et l’automate passe en mode de défaut.

Lorsque l’alimentation est rétablie, prendre des mesures spécifiques puis retourner à un fonctionnement normal

A. Ouvrez (cliquez deux fois) nom_du_sous-programme.

B. Entrez la logique de ces actions.

Obtient les informations sur le défaut et les stocke dans le point major_fault (structure définie par l’utilisateur)

Met le type et le code de défaut dans le point major_fault à zéro et MAJORFAULTRECORD aux nouvelles valeurs, ce qui efface le défaut.

42375

Get system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDDest major_fault.TimeLow 0

GSV

MoveSource 0 Dest major_fault.Type 0

MOVMoveSource 0 Dest major_fault.Code 0

MOVSet system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDSource major_fault.TimeLow 0

SSV

Publication 1756-PM001E-FR-P - Août 2002

Page 322: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

22-4 Développement d’un sous-programme de démarrage

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 323: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 23

Stockage et chargement d’un projet dans la mémoire non volatile

Quand utiliser cette procédure

Utilisez cette procédure pour stockage ou chargement un projet dans la mémoire non volatile d’un automate.

• Si l’alimentation de l’automate est coupée alors que sa pile est presque déchargée, le projet qui se trouve dans la mémoire utilisateur est perdu.

• La mémoire non volatile permet de garder une copie de votre projet dans l’automate. Ce dernier n’a pas besoin d’être sous tension pour garder cette copie.

• Vous pouvez charger cette copie du projet de la mémoire non volatile dans la mémoire utilisateur de l’automate :– à chaque mise sous tension ;– chaque fois que l’automate est mis sous tension et qu’il ne contient

pas de projet ;– à n’importe quel moment à l’aide du logiciel RSLogix 5000.

IMPORTANT La mémoire non volatile stocke le contenu de la mémoire utilisateur lorsque vous enregistrez le projet.

• Les modifications apportées après l’enregistrement du projet ne sont pas reflétées dans la mémoire non volatile.

• Si vous modifiez le projet sans enregistrer les changements, vous les écrasez lorsque vous chargez le projet à partir de la mémoire non volatile. Si cela se produit, vous devrez transférer ou charger le projet pour vous mettre en ligne.

• Si vous voulez enregistrer des modifications, telles que des éditions en ligne, des valeurs de point ou une planification de réseau ControlNet, vous devez de nouveau enregistrer le projet après avoir effectué ces modifications.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 324: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-2 Stockage et chargement d’un projet dans la mémoire non volatile

Les paramètres de stockage et de chargement sont les suivants :

Selon votre automate, une mise à jour du firmware peut ou non effacer le projet stocké dans la mémoire non volatile.

Comment utiliser cette procédure

Paramètre Stockage Chargement

Combien de temps prend un stockage ou un chargement ?

quelques minutes quelques secondes

Dans quel(s) mode(s) automate peut-on stocker ou charger un projet ?

mode Programme

Peut-on se mettre en ligne avec l’automate lors d’un stockage ou d’un chargement ?

non

Quel est l’état des E/S pendant un stockage ou un chargement ?

les E/S restent dans leur état configuré pour le mode Programme

Si la mémoire non volatile est Alors

non amovible (pas de carte CompactFlash) Lorsque vous mettez à jour le firmware de l’automate, vous effacez le contenu de la mémoire non volatile (révision 10.x ou ultérieure).

amovible (carte CompactFlash) Lorsque vous mettez à jour le firmware de l’automate, le projet reste dans la mémoire non volatile.

Pour Voir

sélectionner un automate contenant une mémoire non volatile « Sélection d’un automate avec mémoire non volatile », page 23-3

connaître les précautions à prendre lors de l’utilisation de la carte CompactFlash industrielle 1784-CF64

« Précautions d’utilisation de la carte CompactFlash industrielle 1784-CF64 », page 23-4

choisir quand recharger un projet dans l’automate « Quand charger une image », page 23-5

stocker un projet dans la mémoire non volatile de l’automate « Stockage d’un projet », page 23-5

remplacer le projet en cours dans l’automate par le projet stocké dans la mémoire non volatile

« Chargement d’un projet », page 23-8

charger le projet après une perte d’alimentation qui a effacé la mémoire parce que l’automate ne comportait pas de pile

utiliser la logique à relais pour signaler que votre projet a été chargé à partir de la mémoire non volatile

« Vérification d’un chargement », page 23-10

effacer un projet de la mémoire non volatile de l’automate « Effacement de la mémoire non volatile », page 23-11

Publication 1756-PM001E-FR-P - Août 2002

Page 325: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-3

Sélection d’un automate avec mémoire non volatile

Les automates Logix5000 suivants possèdent une mémoire non volatile pour le stockage des projets.

Type d’automate Référence Révision du firmware

CompactLogix5320 1769-L20 10.x ou ultérieure

CompactLogix5330 1769-L30 10.x ou ultérieure

ControlLogix5555 1756-L55M22 10.x ou ultérieure

1756-L55M23 8.x ou ultérieure

1756-L55M24 8.x ou ultérieure

ControlLogix5563 1756-L63(1)

(1) Requiert une carte mémoire CompactFlash industrielle 1784-CF64.

11.x ou ultérieure

DriveLogix5720 diverses 10.x ou ultérieure

FlexLogix5433 1794-L33 10.x ou ultérieure

FlexLogix5434 Série B 1794-L34/B 11.x ou ultérieure

Publication 1756-PM001E-FR-P - Août 2002

Page 326: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-4 Stockage et chargement d’un projet dans la mémoire non volatile

Précautions d’utilisation de la carte CompactFlash industrielle 1784-CF64

Si vous utilisez une carte CompactFlash industrielle 1784-CF64 dans votre automate, observez les directives suivantes :

IMPORTANT Une carte CompactFlash stocke uniquement votre projet RSLogix 5000. Elle ne stocke pas le firmware de votre automate. Les révisions majeures et mineures du projet doivent correspondre à celles de l’automate. Sinon, un défaut majeur se produit lorsque vous essayez de charger le projet à partir de la carte CompactFlash.

Utilisez uniquement un automate Logix5000 pour stocker un projet sur une carte CompactFlash. La carte CompactFlash requiert un format spécial. N’utilisez pas de lecteur CompactFlash pour lire ou écrire sur la carte avec un ordinateur.

Stockez uniquement un projet Logix5000 (un seul) et aucune autre donnée sur une carte CompactFlash. Lorsque vous stockez un projet sur une carte CompactFlash, vous remplacez tout le contenu de la carte. En d’autres termes, vous perdez tout ce qui se trouve sur la carte.

Avant de mettre à jour le firmware de l’automate, effectuez l’une des actions suivantes :

• retirez la carte CompactFlash de l’automate ;• vérifiez l’option Load Image (Charger image) du projet qui se

trouve dans la mémoire non volatile de l’automate. Si cette option est réglée sur On Power Up (A la mise sous tension) ou sur On Corrupt Memory (Sur corruption mémoire), stockez d’abord le projet avec l’option Load Image (Charger image) réglée sur User Initiated (Initié par l’utilisateur).

Si vous n’effectuez pas l’une des actions ci-dessus, un défaut majeur risque de se produire lors de la mise à jour du firmware de l’automate. Ceci se produit parce que les options On Power Up et On Corrupt Memory indiquent à l’automate de charger le projet à partir de la mémoire non volatile. La non correspondance du firmware après le chargement entraîne alors un défaut majeur.

Après avoir mis à jour le firmware de l’automate, enregistrez de nouveau le projet dans la mémoire non volatile, pour vous assurer que la révision du firmware du projet en mémoire non volatile correspond bien à la révision du firmware de l’automate.

Publication 1756-PM001E-FR-P - Août 2002

Page 327: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-5

Quand charger une image Vous avez plusieurs options pour choisir quand (dans quelles conditions) vous voulez recharger le projet dans la mémoire utilisateur (RAM) de l’automate.

Stockage d’un projet Dans cette tâche, vous stockez un projet dans la mémoire non volatile de l’automate. Ceci remplace tout le contenu de la mémoire non volatile.

Avant de stocker le projet :

• effectuez toutes les modifications de la logique à relais requises ;• chargez le projet dans l’automate.

Pour stocker un projet :

Configurer l’opération de stockage

1. Mettez l’automate en ligne.

2. Mettez l’automate en mode Programme (Rem Program ou Program).

Si vous voulez le charger Sélectionnez Remarques

chaque fois que vous mettez le châssis sous tension ou que vous le mettez hors tension puis de nouveau sous tension

On Power Up (A la mise sous tension)

• Lors d’une mise hors puis sous tension, vous perdez les modifications en ligne, les valeurs de point et la planification de réseau que vous n’avez pas stockées dans la mémoire non volatile.

• Vous pouvez toujours utiliser le logiciel RSLogix 5000 pour charger le projet.

lorsqu’il n’y a pas de projet dans l’automate et que vous mettez le châssis sous tension ou hors tension puis de nouveau sous tension

On Corrupt memory (Sur corruption mémoire)

Vous pouvez toujours utiliser le logiciel RSLogix 5000 pour charger le projet.

uniquement au moyen du logiciel RSLogix 5000 User Initiated (Initié par l’utilisateur)

ATTENTION

!Pendant le stockage, tous les axes asservis actifs sont désactivés. Avant de stocker un projet, assurez-vous que ceci ne provoquera pas de mouvements imprévus d’un axe.

Configurer l’opération de stockage

Stocker le projet

Enregistrer le projet en ligne

Publication 1756-PM001E-FR-P - Août 2002

Page 328: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-6 Stockage et chargement d’un projet dans la mémoire non volatile

3. Dans la barre d’outils Online, cliquez sur le bouton des propriétés de l’automate.

4. Cliquez sur l’onglet Nonvolatile Memory (Mémoire non volatile).

5. Cliquez sur Load/Store (Chargement/Stockage).

6. Choisissez quand (dans quelles conditions) recharger le projet dans la mémoire utilisateur (RAM) de l’automate.

42627

3.

42865

5.

7.

Projet actuellement dans la mémoire non volatile de l’automate (si un projet s’y trouve).

Projet actuellement dans la mémoire utilisateur (RAM) de l’automate.

6.

8.

1.

Publication 1756-PM001E-FR-P - Août 2002

Page 329: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-7

7. A l’étape 6, quelle option de chargement avez-vous sélectionnée ?

8. Vous pouvez entrer une remarque décrivant le projet que vous stockez, si vous le souhaitez.

Stocker le projet

1. Cliquez sur <− Store (Stocker).

Une boîte de dialogue vous demande de confirmer le stockage.

2. Pour stocker le projet, choisissez Yes (Oui).

Pendant le stockage, les événements suivants se produisent :

• le voyant OK, sur la face avant de l’automate, affiche la séquence suivante :vert clignotant ⇒ rouge ⇒ vert ;

• le logiciel RSLogix 5000 se met hors ligne ;• une boîte de dialogue vous indique que le stockage est en cours.

3. Cliquez sur OK.

Lorsque le stockage est terminé, vous restez hors ligne.

Enregistrer le projet en ligne

1. Mettez l’automate en ligne.

2. Enregistrez le projet.

Si Alors

On Power Up (A la mise sous tension)

Sélectionnez le mode dans lequel vous voulez que l’automate se mette après le chargement :• programme à distance (remote program)• exécution à distance (remote run)

Pour passer à ce mode après le chargement, mettez le commutateur à clé de l’automate sur la position REM.

On Corrupt Memory (Sur corruption mémoire)

User Initiated (Initié par l’utilisateur)

Allez à l’étape 8.

Publication 1756-PM001E-FR-P - Août 2002

Page 330: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-8 Stockage et chargement d’un projet dans la mémoire non volatile

Chargement d’un projet Dans cette tâche, vous utilisez le logiciel RSLogix 5000 pour charger le projet à partir de la mémoire non volatile.

Etapes :

1. Mettez l’automate en ligne.

2. La boîte de dialogue suivante s’est-elle affichée ?

3. Mettez l’automate en mode Programme (Rem Program ou Program).

4. Dans la barre d’outils Online, cliquez sur le bouton des propriétés de l’automate.

5. Cliquez sur l’onglet Nonvolatile Memory (Mémoire non volatile).

ATTENTION

!Pendant le chargement, tous les axes asservis actifs sont désactivés. Avant de charger un projet, assurez-vous que ceci ne provoquera pas de mouvements imprévus d’un axe.

42873

Si Alors

Non Allez à l’étape 3.

Oui Allez à l’étape 5.

42627

4.

Publication 1756-PM001E-FR-P - Août 2002

Page 331: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-9

6. Cliquez sur Load/Store (Chargement/Stockage).

7. Cliquez sur Load −> (Charger).

Une boîte de dialogue vous demande de confirmer le chargement.

8. Pour charger le projet à partir de la mémoire non volatile, choisissez Yes (Oui).

Pendant le chargement, les événements suivants se produisent :

• le voyant OK, sur la face avant de l’automate, affiche la séquence suivante :

rouge ⇒ vert ;

• le logiciel RSLogix 5000 se met hors ligne.

Lorsque le chargement est terminé, vous restez hors ligne. Si vous voulez vous mettre en ligne, vous devez le faire manuellement.

42865

6.

Projet actuellement dans la mémoire non volatile de l’automate (si un projet s’y trouve).

Projet actuellement dans la mémoire utilisateur (RAM) de l’automate.

7.

Publication 1756-PM001E-FR-P - Août 2002

Page 332: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-10 Stockage et chargement d’un projet dans la mémoire non volatile

Vérification d’un chargement

Lorsque l’automate charge un projet à partir de la mémoire non volatile, il fournit les informations suivantes :

• il enregistre un défaut mineur (type 7, code 49) ;• il active l’objet FAULTLOG, attribut MinorFaultBits, bit 7.

Si vous voulez savoir quand un projet a été chargé à partir de la mémoire non volatile, utilisez la logique à relais suivante :

où est

minor_fault_bits le point qui stocke l’objet FAULTLOG, attribut MinorFaultBits (type de données DINT).

NVM_load le point qui indique que l’automate a chargé le projet à partir de sa mémoire non volatile.

Lors de la première scrutation du projet (S:FS est activé), l’instruction GSV récupère l’objet FAULTLOG, attribut MinorFaultBits, et stocke la valeur dans minor_fault_bits. Si le bit 7 est activé, l’automate a chargé le projet à partir de sa mémoire non volatile.

42867

Publication 1756-PM001E-FR-P - Août 2002

Page 333: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-11

Effacement de la mémoire non volatile

Pour supprimer un projet de la mémoire non volatile, procédez comme suit :

Vérifier l’option de chargement de l’image activée

1. Mettez l’automate en ligne.

2. Dans la barre d’outils Online, cliquez sur le bouton des propriétés de l’automate.

3. Cliquez sur l’onglet Nonvolatile Memory (Mémoire non volatile).

4. L’option Load Image (Charger image) est-elle réglée sur User Initiated (Initié par l’utilisateur) ?

Vérifier l’option de chargement de l’image activée

Changer l’option de chargement de l’image

Effacer le projet de l’automate

Stocker l’image vide

42627

2.

42865

4.

Si Alors

Non Voir « Changer l’option de chargement de l’image », page 23-12.

Oui Voir « Effacer le projet de l’automate », page 23-12.

Publication 1756-PM001E-FR-P - Août 2002

Page 334: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-12 Stockage et chargement d’un projet dans la mémoire non volatile

Changer l’option de chargement de l’image

1. Cliquez sur Load/Store (Chargement/Stockage).

2. Dans la liste déroulante Load Image (Charger image), sélectionnez User Initiated (Initié par l’utilisateur).

3. Cliquez sur <- Store (Stocker).

Une boîte de dialogue vous demande de confirmer le stockage.

4. Pour stocker le projet, choisissez Yes (Oui).

Une boîte de dialogue vous indique que le stockage est en cours.

5. Cliquez sur OK.

6. Attendez que le voyant OK, sur la face avant de l’automate, soit vert fixe, ce qui indique que le stockage est terminé.

Effacer le projet de l’automate

1. Déconnectez la pile de l’automate.

2. Mettez le châssis hors tension puis de nouveau sous tension.

3. Reconnectez la pile à l’automate.

Stocker l’image vide

1. Mettez l’automate en ligne.

La boîte de dialogue « Connected To Go Online » (Connecté pour entrer en ligne) apparaît.

2. Cliquez sur l’onglet Nonvolatile Memory (Mémoire non volatile).

3. Cliquez sur Load/Store (Chargement/Stockage).

42865

3.

Publication 1756-PM001E-FR-P - Août 2002

Page 335: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Stockage et chargement d’un projet dans la mémoire non volatile 23-13

4. Cliquez sur <− Store (Stocker).

Une boîte de dialogue vous demande de confirmer le stockage.

5. Pour stocker le projet, choisissez Yes (Oui).

Pendant le stockage, les événements suivants se produisent :

• le voyant OK, sur la face avant de l’automate, affiche la séquence suivante :vert clignotant ⇒ rouge ⇒ vert ;

• le logiciel RSLogix 5000 se met hors ligne ;• une boîte de dialogue vous indique que le stockage est en cours.

6. Cliquez sur OK.

Lorsque le stockage est terminé, vous restez hors ligne. Si vous voulez passer en ligne, vous devez le faire manuellement.

42874

4.

Publication 1756-PM001E-FR-P - Août 2002

Page 336: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

23-14 Stockage et chargement d’un projet dans la mémoire non volatile

Notes :

Publication 1756-PM001E-FR-P - Août 2002

Page 337: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Chapitre 24

Protection d'un projet

Quand utiliser cette procédure

Utilisez cette procédure pour contrôler qui a accès à votre projet. Les options suivantes sont disponibles pour protéger un projet :

Vous pouvez utiliser les deux options en même temps.

Utilisation de la protection de la source du sous-programme

Pour limiter l'accès à un sous-programme, utilisez le logiciel RSLogix 5000 pour lui attribuer une clé source (protection du sous-programme).

• Pour protéger un sous-programme, vous devez d'abord activer la fonction de protection dans le logiciel RSLogix 5000.

• Une fois le sous-programme protégé, un ordinateur doit avoir la clé source pour modifier, copier ou exporter le sous-programme.

• Vous pouvez rendre un sous-programme visible ou invisible sans avoir recourt à la clé source.

• Que la clé source soit disponible ou non, vous pouvez toujours charger le projet et en exécuter tous les sous-programmes.

• Vous pouvez accéder à un sous-programme protégé à partir d'un ordinateur particulier à l'aide d'une des méthodes suivantes :– ajoutez le fichier de la clé source et pointez le logiciel RSLogix 5000

vers l'emplacement de ce fichier ;– créez le fichier de la clé source et entrez manuellement le nom de la

clé source.

Pour Alors Se reporter à la page

Empêcher d'autres personnes de voir la logique d'un ou plusieurs sous-programmes d'un projet

Utilisation de la protection de la source du sous-programme

24-1

Attribuer différents niveaux d'accès à un projet, comme :

• accès total pour les ingénieurs• modifications limités par le personnel

de maintenance• les opérateurs ne peuvent que

visualiser la logique et les données

Utilisation de Security Server de RSI pour protéger un projet

24-12

1 Publication 1756-PM001E-FR-P - Août 2002

Page 338: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-2 Protection d'un projet

La fenêtre d'organisation de l'automate indique l'état de protection d'un sous-programme :

Si la fenêtre d'organisation de l'automate indique

Alors

« Source Not Available » (Source non disponible)

• Une clé source est attribuée au sous-programme.

• Pour ouvrir le sous-programme, votre ordinateur doit en avoir la clé source.

« Source Not Available » (Viewable) (Source non disponible - Visible)

• Une clé source est attribuée au sous-programme.

• Vous ne pouvez qu'ouvrir et visualiser le sous-programme.

• Vous ne pouvez ni modifier ni copier le contenu du sous-programme.

Source Available (Source disponible)

• Une clé source est attribuée au sous-programme.

• Vous avez un accès complet au sous-programme.

« Source Available » (Viewable) (Source disponible - Visible)

• Une clé source est attribuée au sous-programme.

• Vous avez un accès complet au sous-programme.

• Il est possible de visualiser le sous-programme même sans la clé source.

aucune des indications précédentes

• Aucune clé source n'est attribuée au sous-programme.

• Vous avez un accès complet au sous-programme.

Etat de protection.

Pour ce sous-programme…

Publication 1756-PM001E-FR-P - Août 2002

Page 339: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-3

IMPORTANT Si la source d'un sous-programme n'est pas disponible, n'exportez pas le projet.

• Un fichier d'exportation (.L5K) contient uniquement des sous-programmes pour lesquels le code source est disponible.

• Si vous exportez un projet pour lequel le code source n'est pas disponible pour tous les sous-programmes, vous ne pourrez pas restaurer le projet entier.

Publication 1756-PM001E-FR-P - Août 2002

Page 340: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-4 Protection d'un projet

Pour attribuer et gérer les clés sources, effectuez les opérations suivantes :

Choix du niveau de protection pour chaque sous-programme

Choix du nombre de clés sources

Définition de la clé source des clés

Choix d'un emplacement de fichier pour stocker les clés sources

Activation de la fonction de protection de la source dans le

Création d'un fichier pour les clés sources

Protection d'un sous-programme avec une clé source

Limiter l'accès à un sous-programme protégé

Désactivation de la protection de la source d'un sous-programme

Option – Accès à un sous-programme protégé (à partir

de cet ordinateur)

Limiter l'accès aux sous-programmes protégés à partir

Utiliser cet ordinateur pour protéger d'autres sous-programmes ?

Oui

Non

Oui

Non

Fin

Publication 1756-PM001E-FR-P - Août 2002

Page 341: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-5

Choix du niveau de protection pour chaque sous-programme

La protection de la source protège votre projet au niveau du sous-programme. Vous pouvez protéger certains sous-programmes d'un projet tout en laissant d'autres sous-programmes non protégés (accessibles par tous). Vous pouvez également protéger un sous-programme tout en le laissant visible pour tous.

Choix du nombre de clés sources

Pour protéger un sous-programme, vous attribuez une clé source au sous-programme. Vous pouvez réutiliser une clé source autant de fois que vous voulez, comme indiqué ci-dessous.

Choisissez le nombre de clés sources qui correspond à la fois à la protection que vous voulez et au niveau de gestion des clés sources que vous voulez.

Tableau 24.1 Options de protection d'un sous-programme

Pour Et Alors

Protéger le sous-programme ?

Autoriser l'affichage ?

empêcher quelqu'un de faire ce qui suit :

• éditer le sous-programme• changer les propriétés du

sous-programme• exporter le sous-programme

également empêcher quelqu'un de faire ce qui suit :

• ouvrir (afficher) le sous-programme• faire une recherche dans le

sous-programme• aller à des références croisées dans le

sous-programme• imprimer le sous-programme

oui non

pas d'autres limitation oui oui

autoriser l'accès complet au sous-programme.

non

Ceci : Vous donne :

une clé source pour tous les projets

une clé source unique à chaque projet

une clé source unique à chaque sous-programme de chaque projet

un moins grand nombre de clés sources(plus facile à gérer mais moins de protection)

un plus grand nombre de clés sources(plus difficile à gérer mais plus de protection)

Publication 1756-PM001E-FR-P - Août 2002

Page 342: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-6 Protection d'un projet

Définition de la clé source des clés

Les noms de clé source suivent les mêmes règles que les autres composants RSLogix 5000, comme les sous-programmes, les points et les modules. Les noms de clé source doivent respecter les règles suivantes :

• commencer par un caractère alphabétique (A-Z ou a-z) ou par un caractère de soulignement (_) ;

• ne contenir que des caractères alphabétiques, numériques et de soulignement ;

• avoir un maximum de 40 caractères ;• ne pas avoir plusieurs caractères de soulignement (_) à la suite ;• pas de distinction entre majuscules/minuscules.

Choix d'un emplacement de fichier pour stocker les clés sources

Un fichier de clé source (sk.dat) stocke les clés sources. Ce fichier est séparé des fichiers de projet RSLogix 5000 (.acd). Vous pouvez stocker le fichier de clé source dans n'importe quel répertoire de votre choix.

Activation de la fonction de protection de la source dans le logiciel RSLogix 5000

Pour utiliser la fonction de protection de la source du sous-programme dans le logiciel RSLogix 5000, vous devez effectuer l'entrée de registre suivante, qui active la fonction :

Pour effectuer l'entrée dans le registre :

1. Obtenez le CD du logiciel RSLogix 5000.

2. Exécutez le fichier suivant à partir du CD :

language \Tools\Source Protection Tool\Enable Protected Routine Config.reg

Clé Entrée de la valeur

Nom Type Donnée

HKEY_CURRENT_USER\Software\Rockwell Software\RSLogix 5000\ProtectedRoutine

PTCRoutine DWORD 1

Publication 1756-PM001E-FR-P - Août 2002

Page 343: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-7

language est la langue de votre logiciel. Par exemple, pour le logiciel en Anglais, ouvrez le dossier ENU.

Le fichier : Enable Protected Routine Config.reg, effectue l'entrée requise dans le registre.

Création d'un fichier pour les clés sources

1. Ouvrez le projet RSLogix 5000 que vous voulez protéger.

2. Dans le menu Tools (Outils), sélectionnez Security ⇒ Configure Source Protection (Sécurité, Configurer la protection de la source).

3. Le logiciel RSLogix 5000 vous invite-t-il à spécifier l'emplacement pour le fichier de la clé source ?

4. Choisissez Oui.

5. Cliquez sur

6. Sélectionnez un fichier où stocker le fichier et choisissez OK.

7. Choisissez OK.

Une boîte de dialogue vous demande si vous voulez créer le fichier de la clé source (sk.dat).

8. Choisissez Oui.

Si Alors

Non Votre ordinateur a déjà le fichier de la clé source. Allez à « Protection d'un sous-programme avec une clé source », page 24-8.

Oui Allez à l'étape4.

7.

5.

emplacement du fichier de la clésource (sk.dat)

Publication 1756-PM001E-FR-P - Août 2002

Page 344: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-8 Protection d'un projet

Protection d'un sous-programme avec une clé source

1. Ouvrez le projet RSLogix 5000 que vous voulez protéger.

2. Dans le menu Tools (Outils), sélectionnez Security ⇒ Configure Source Protection (Sécurité, Configurer la protection de la source).

3. Sélectionnez le ou les sous-programmes que vous voulez protéger.

4. Cliquez sur Protect (Protéger).

5. Tapez un nom à utiliser comme clé source. Ou sélectionnez une clé source existante dans la liste déroulante.

6. Si quelqu'un n'a pas la clé source, voulez-vous l'autoriser à ouvrir et visualiser le sous-programme ?

7. Choisissez OK.

8. Lorsque vous avez attribué les clés sources requises au projet, cliquez sur Close (Fermer).

9. Dans le menu File (Fichier), sélectionnez Save (Sauvegarder).

3.

4.

5.7.

6.

Si Alors

Non Effacez (retirer la coche) la case Allow viewing of routine (Autoriser l'affichage du sous-programme) (valeur par défaut).

Oui Cochez la case Allow viewing of routine (Autoriser l'affichage du sous-programme).

Publication 1756-PM001E-FR-P - Août 2002

Page 345: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-9

Limiter l'accès à un sous-programme protégé

1. Ouvrez le projet RSLogix 5000 qui est protégé.

2. Dans le menu Tools (Outils), sélectionnez Security ⇒ Configure Source Protection (Sécurité, Configurer la protection de la source).

3. Cliquez sur Clear (Effacer).

Une boîte de dialogue vous demande si vous voulez effacer le fichier de la clé source (sk.dat).

4. Voulez-vous retirer le fichier de la clé source de l'ordinateur (empêcher tout accès futur au fichier) ?

Désactivation de la protection de la source d'un sous-programme

1. Ouvrez le projet RSLogix 5000 qui est protégé.

2. Dans le menu Tools (Outils), sélectionnez Security ⇒ Configure Source Protection (Sécurité, Configurer la protection de la source).

IMPORTANT Avant de retirer le fichier de la clé source (sk.dat) de l'ordinateur, écrire cette clé ou faire une copie du fichier et la stocker dans un endroit sécurisé.

3.

Si Alors

Oui Choisissez Oui.

Non Choisissez Non.

IMPORTANT Avant de retirer le fichier de la clé source (sk.dat) de l'ordinateur, écrire cette clé ou faire une copie du fichier et la stocker dans un endroit sécurisé.

Publication 1756-PM001E-FR-P - Août 2002

Page 346: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-10 Protection d'un projet

3. Cliquez sur Disable Ability To Configure Protected Routines (Désactiver la possibilité de configurer les sous-programmes protégés).

Une boîte de dialogue vous demande de confirmer l'action.

4. Choisissez Oui.

Une boîte de dialogue vous demande si vous voulez effacer le fichier de la clé source (sk.dat).

5. Voulez-vous retirer le fichier de la clé source de l'ordinateur (empêcher tout accès futur au fichier) ?

Accès à un sous-programme protégé

1. Ouvrez le projet RSLogix 5000 qui contient les sous-programmes protégés.

2. Dans le menu Tools (Outils), sélectionnez Security ⇒ Configure Source Protection (Sécurité, Configurer la protection de la source).

3. Le logiciel RSLogix 5000 vous invite-t-il à spécifier l'emplacement pour le fichier de la clé source ?

4. Choisissez Oui.

4.

Si Alors

Oui Choisissez Oui.

Non Choisissez Non.

Si Alors

Non Allez à l'étape7.

Oui Allez à l'étape4.

Publication 1756-PM001E-FR-P - Août 2002

Page 347: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-11

5. Cliquez sur

6. Cet ordinateur a-t-il déjà un fichier de clé source (sk.dat) ?

7. Cliquez sur View (Visualiser).• Si le système vous invite à sélectionner un programme pour ouvrir le

fichier, sélectionnez un traitement de texte, comme Notepad.• Le fichier sk.dat est ouvert.

8. Tapez le nom de la clé source. Pour entrer plusieurs clés, tapez chaque clé sur une ligne séparée.

9. Enregistrez et fermez le fichier sk.dat.

7.

5.

Si Alors

Oui A. Sélectionnez le répertoire qui contient le fichier et choisissez OK.

B. Choisissez OK.

Non A. Sélectionnez le fichier où stocker le nouveau fichier et choisissez OK.

Une boîte de dialogue vous demande si vous voulez créer le fichier de la clé source (sk.dat).

B. Choisissez Oui.

7.

sk.dat - Notepad

clé1

clé2

clé3

Publication 1756-PM001E-FR-P - Août 2002

Page 348: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-12 Protection d'un projet

Utilisation de Security Server de RSI pour protéger un projet

Le logiciel Security Server de RSI vous permet de contrôler l'accès des individus aux projets RSLogix 5000. Avec ce logiciel, vous pouvez personnaliser l'accès à des projets sur la base des points suivants :

• utilisateurs déjà connectés sur la station de travail• projet RSLogix 5000 auquel l'utilisateur accède• station de travail à partir de laquelle l'utilisateur accède au projet

RSLogix 5000

Avant d'utiliser le logiciel Security Server à partir de projets RSLogix 5000, configurez le logiciel :

• Installation du logiciel Security Server de RSI• Configuration de DCOM• Activation du logiciel Security Server pour le logiciel RSLogix 5000• Importation du fichier RSLogix5000Security.bak• Définir les actions globales pour les utilisateurs• Définir les actions de projet pour les utilisateurs• Ajout d'utilisateurs• Ajout de groupes d'utilisateur• Attribution d'un accès global au logiciel RSLogix 5000• Attribution des actions de projet pour les nouveaux projets

RSLogix 5000

Une fois Security Server configuré pour les projets RSLogix 5000, effectuez les actions suivantes pour protéger un projet :

• Protection d'un projet RSLogix 5000• Attribution de l'accès à un projet RSLogix 5000• Rafraîchissement du logiciel RSLogix 5000, si nécessaire

Installation du logiciel Security Server de RSI

Voir Utilisation du logiciel Security Server de Rockwell Software (Edition complète), livré avec le logiciel Security Server de RSI.

Configuration de DCOM

Voir Utilisation du logiciel Security Server de Rockwell Software (Edition complète), livré avec le logiciel Security Server de RSI.

IMPORTANT Si le logiciel RSLogix 5000 est déjà sur votre ordinateur quand vous installez Security Server, activez la sécurité pour le logiciel RSLogix 5000 lorsque vous y êtes invité.

Publication 1756-PM001E-FR-P - Août 2002

Page 349: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-13

Activation du logiciel Security Server pour le logiciel RSLogix 5000

Avez-vous installé Security Server avant l'installation du logiciel RSLogix 5000 ?

La boîte de dialogue pour la recherche du fichier du projet s'ouvre. Par défaut, le fichier Keys.ini est déjà sélectionné.

2. Choisissez Open (Ouvrir).

Si Alors

Oui Allez à l'étape1.

Non Allez à « Importation du fichier RSLogix5000Security.bak », page 24-14.

Program Files Keys.ini

Rockwell Software SetSecKeys.exe 1. Exécutez ce fichier.

RSLogix 5000

language

version

Security

+

où est :

language la langue de votre logiciel. Par exemple, pour le logiciel en Anglais, ouvrez le dossier ENU.

version la version de votre logiciel, par ex. v10

43073

3. Cochez la case RSLogix 5000 et choisissez OK.

Publication 1756-PM001E-FR-P - Août 2002

Page 350: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-14 Protection d'un projet

Importation du fichier RSLogix5000Security.bak

Le fichier RSLogix5000Security.bak fournit la configuration requise par Security Server pour fonctionner avec le logiciel RSLogix 5000.

1. Ouvrez la fenêtre d'exploration de configuration « Security Configuration ».

2. Dans le menu File (Fichier), sélectionnez Import Database (Importer la base de données).

3. Quelle révision du logiciel Security Server utilisez-vous ?

4. Sélectionnez le fichier RSLogix5000Security.bak et sélectionnez Ouvrir.

Si Alors

2.00 Cherchez dans ce dossier :

où est :

language la langue de votre logiciel. Par exemple, pour le logiciel en Anglais, ouvrez le dossier ENU.

version la version de votre logiciel, par ex. v10

2.01 Cherchez dans ce dossier :

Program Files

Rockwell Software

RSLogix 5000

language

version

Security

+

Program Files

Rockwell Software

Security Server

System

+

Publication 1756-PM001E-FR-P - Août 2002

Page 351: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-15

Définir les actions globales pour les utilisateurs

Les actions globales sont des tâches qui ne sont pas attachées à un projet spécifique, comme la création d'un projet ou la mise à jour du firmware d'un automate. Les actions globales suivantes s'appliquent au logiciel RSLogix 5000.

Utilisez le tableau suivant pour enregistrer les actions globales qui sont autorisées pour chaque groupe d'utilisateurs.

Tableau 24.2 Actions globales

Pour permettre à un utilisateur de Il faut autoriser l'accès aux actions suivantes

protéger tout automate non protégé Protection d'un automate

créer un nouveau projet RSLogix 5000 Nouveau projet

ouvrir un fichier .L5K dans le logiciel RSLogix 5000, ce qui crée un projet

convertir un projet PLC ou SLC en fichier .L5K

utiliser le logiciel RSLogix 5000 pour démarrer le logiciel ControlFLASH et mettre à jour le firmware de l'automate

Mise à jour du firmware

Tableau 24.3 Actions globales pour chaque groupe d'utilisateurs

Ce groupe d'utilisateurs Requiert cet accès

Protection d'un

automate

Nouveau projet

Mise à jour du

firmware

43077

Publication 1756-PM001E-FR-P - Août 2002

Page 352: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-16 Protection d'un projet

Définir les actions de projet pour les utilisateurs

Les actions de projet vous permettent d'effectuer des tâches spécifiques sur un projet ou un groupe de projets déterminé.

• Lorsque vous activez la protection pour un projet RSLogix 5000 ou que vous créez un nouveau projet avec protection activée, il devient un membre du groupe New RSLogix 5000 Resources (Nouvelles ressources RSLogix 5000).

– Les utilisateurs qui travaillent avec les projets de ce groupe requièrent l'accès approprié.

– Il est recommandé d'accorder un Accès total à toute personne qui a l'autorisation de créer un projet.

• Pour personnaliser l'accès à un projet, déplacez-le en dehors du groupe Nouvelles ressources RSLogix 5000 et attribuez des privilèges spécifiques à ce projet.

43075

43078

Publication 1756-PM001E-FR-P - Août 2002

Page 353: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-17

Les actions suivantes s'appliquent à un projet ou à un groupe de projets RSLogix 5000 protégé.

Tableau 24.4 Actions de projet

Pour permettre à un utilisateur de

Et Et Autoriser cette action

• ouvrir un projet hors ligne• copier des éléments d'un

projet• exporter les points d'un

projet

Visualiser le projet

aller en ligne et surveiller un projet

Aller en ligne

• sauvegarder un projet• sauvegarder un projet sous forme d'un

fichier .ACD différent• ouvrir une révision antérieure d'un

projet• compresser un projet• exporter un projet• charger ou transférer un projet• changer le mode de l'automate• changer le chemin de l'automate• imprimer un rapport• effacer les défauts• changer l'heure de l'horloge• créer, supprimer, modifier et exécuter

une tendance• changer la configuration d'un module

d'E/S• changer la configuration d'une

instruction MSG• entrer, activer, désactiver et retirer des

forçages• changer les valeurs de point• mettre à jour le firmware

Maintenance d'un projet

exécuter toutes les actions disponibles par le logiciel RSLogix 5000, sauf retirer la protection d'un automate

Accès total

retirer la protection d'un automate Accès totalet

Déprotéger un automate

mettre à jour le firmware d'un automate

Mise à jour du firmware

Publication 1756-PM001E-FR-P - Août 2002

Page 354: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-18 Protection d'un projet

Utilisez le tableau page 24-18 pour enregistrer les actions du projet qui sont autorisées pour chaque utilisateur ou groupe d'utilisateurs.

Tableau 24.5 Actions de projet pour les projets qui sont dans le groupe Nouvelles ressources RSLogix 5000 et pour les projets individuels

Pour ce projet ou groupe de projets

Cet utilisateur ou groupe d'utilisateur

Requiert cet accès

Visualiser le

projet

Aller en ligne

Maintenance d'un

projet

Accès total

Déprotéger un

automate

Mise à jour du

firmware

Nouvelles ressources RSLogix 5000

Nouvelles ressources RSLogix 5000

Nouvelles ressources RSLogix 5000

Nouvelles ressources RSLogix 5000

Publication 1756-PM001E-FR-P - Août 2002

Page 355: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-19

Ajout d'utilisateurs

2. Tapez l'information concernant l'utilisateur et choisissez OK.

Ajout de groupes d'utilisateur

Un groupe vous permet de gérer plusieurs utilisateurs qui requièrent des privilèges similaires.

1. Dans le menu Help (Aide), choisissez Quick Start (Démarrage rapide).

43078

1. Cliquez avec le bouton droit de la souris et sélectionnez Nouveau.

43084

43074

2. Suivez les étapes pour cette tâche.

Publication 1756-PM001E-FR-P - Août 2002

Page 356: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-20 Protection d'un projet

Attribution d'un accès global au logiciel RSLogix 5000

Pour autoriser les utilisateurs à effectuer des actions globales :

2. Dans le menu Help (Aide), choisissez Quick Start (Démarrage rapide).

43077

1. Dans la fenêtre de configuration, sélectionnez le groupe RSLOGIX 5000.

43076

3. Suivez les étapes pour cette tâche. Attribuez les actions que vous avez enregistrées dans le Tableau 24.3, page 24-15.

Publication 1756-PM001E-FR-P - Août 2002

Page 357: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-21

Attribution des actions de projet pour les nouveaux projets RSLogix 5000

Pour permettre aux utilisateurs d'effectuer des actions sur des projets qui se trouvent dans le groupe Nouvelles ressources RSLogix 5000 :

2. Dans le menu Help (Aide), choisissez Quick Start (Démarrage rapide).

43075

1. Dans la fenêtre de configuration, sélectionnez le groupe Nouvelles ressources RSLOGIX 5000.

43076

3. Suivez les étapes pour cette tâche. Attribuez les actions que vous avez enregistrées dans le Tableau 24.5, page 24-18.

Publication 1756-PM001E-FR-P - Août 2002

Page 358: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-22 Protection d'un projet

Protection d'un projet RSLogix 5000

Pour les nouveaux projets, l'option de protection est disponible lorsque vous créez le projet. Pour autoriser le logiciel Security Server à protéger un projet existant, activez la protection pour le projet.

1. Ouvrez le projet RSLogix 5000.

3. Cliquez sur l'onglet Advanced (Evolué).

5. Choisissez OK, puis Oui.

Dans le logiciel Security Server, le projet apparaît comme un membre du groupe New RSLogix 5000 Resources (Nouvelles ressources RSLogix 5000). Si le logiciel Security Server est déjà démarré, dans son menu View (Visualiser), sélectionnez Refresh (Rafraîchir).

42627

2. Cliquez sur le bouton des propriétés de l'automate.

43069

4. Sélectionnez RSI Security Server.

Publication 1756-PM001E-FR-P - Août 2002

Page 359: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Protection d'un projet 24-23

Attribution de l'accès à un projet RSLogix 5000

Quand un projet est dans le groupe Nouvelles ressources RSLogix 5000, la liste de surveillance d'accès de ce groupe détermine les actions qu'un utilisateur peut effectuées sur un projet. Pour personnaliser l'accès à un projet, déplacez-le hors du groupe et attribuez-lui des actions spécifiques :

2. Cliquez sur l'onglet Group Members (Membres du groupe).

3. Dans la liste Member items (Membres), sélectionnez le projet et cliquez sur le bouton <<.

4. Choisissez Apply (Appliquer).

6. Dans le menu Help (Aide), choisissez Quick Start (Démarrage rapide).

43075

1. Dans la fenêtre de configuration, sélectionnez le groupe New RSLogix 5000 Resources (Nouvelles ressources RSLogix 5000).

43079

3.

43078

5. Dans la fenêtre de configuration, sélectionnez le projet.

43076

7. Suivez les étapes pour cette tâche. Attribuez les actions que vous avez enregistrées dans le Tableau 24.5, page 24-18.

Publication 1756-PM001E-FR-P - Août 2002

Page 360: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24-24 Protection d'un projet

Rafraîchissement du logiciel RSLogix 5000, si nécessaire

Si un projet RSLogix 5000 est ouvert et que des changements apportés dans le logiciel RSI Security Server affectent ce projet, rafraîchissez le logiciel RSLogix 5000 :

Dans le menu Tools (Outils), choisissez Security ⇒ Refresh Privileges (Protection, Rafraîchir les privilèges).

Publication 1756-PM001E-FR-P - Août 2002

Page 361: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Annexe A

Codes de défauts

Quand utiliser cette annexe Utilisez cette annexe pour interpréter les :

• Codes de défaut majeur• Codes de défaut mineur

Codes de défaut majeur Utilisez le tableau suivant pour déterminer la cause d’un défaut majeur et l’action corrective correspondante. Le type et le code correspondent au type et au code affichés aux endroits suivants :

• boîte de dialogue Controller Properties (Propriétés de l’automate), onglet Major Faults (Défauts majeurs) ;

• objet PROGRAM, attribut MAJORFAULTRECORD.

Tableau A.1 Types et codes des défauts majeurs

Type Code Cause Action corrective

1 1 L’automate a démarré en mode Exécution. Exécutez le gestionnaire de perte d’alimentation.

3 16 Une connexion de module d’E/S nécessaire a échoué.

Vérifiez que le module d’E/S est dans le châssis. Vérifiez les impératifs du détrompage électronique.Affichez l’onglet « Major Fault » (Défaut majeur) des propriétés de l’automate et l’onglet « Connection » (Connexion) des propriétés du module pour de plus amples informations sur le défaut.

3 20 Problème possible avec le châssis ControlBus. Non récupérable, remplacez le châssis.

3 23 Au moins une connexion nécessaire n’a pas été établie avant de passer en mode Exécution.

Attendez que le voyant des E/S de l’automate soit vert avant de passer en mode Exécution.

4 16 Instruction inconnue rencontrée. Retirez l’instruction inconnue. Ceci s’est probablement produit en raison d’un processus de conversion de programme.

4 20 Indice du tableau trop grand, structure de commande .POS ou .LEN non valide.

Ajustez la valeur pour qu’elle soit dans la plage valide. Ne dépassez pas la taille du tableau ou les dimensions définies.

4 21 Structure de commande .LEN ou .POS < 0. Ajustez la valeur pour qu’elle soit > 0.

4 31 Les paramètres de l’instruction JSR ne correspondent pas ceux de l’instruction SBR ou RET associée.

Passez le nombre approprié de paramètres. Si trop de paramètres sont passés, ceux en trop sont ignorés sans générer d’erreur.

4 34 Une instruction de temporisation a une valeur présélectionnée ou cumulée négative.

Réglez le programme pour qu’il ne charge pas une valeur négative dans une valeur présélectionnée ou cumulée.

4 42 Saut (JMP) vers une étiquette non existante ou supprimée.

Corrigez la cible JMP ou ajoutez l’étiquette manquante.

4 82 Un graphe de fonctionnement séquentiel (SFC) a appelé un sous-programme qui a essayé de revenir au SFC appelant. Ceci se produit lorsque le SFC utilise une instruction JSR ou FOR pour appeler le sous-programme.

Retirez l’instruction de saut vers le SFC appelant.

4 83 Les données testées n’étaient pas dans les limites requises.

Modifiez les valeurs pour qu’elles soient dans les limites.

1 Publication 1756-PM001E-FR-P - Août 2002

Page 362: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

A-2 Codes de défauts

4 84 Dépassement supérieur de pile. Réduisez les niveaux d’imbrication du sous-programme ou le nombre de paramètres passés.

4 89 Dans une instruction SFR, le sous-programme cible ne contient pas l’étape cible.

Corrigez la cible SFR ou ajoutez l’étape manquante.

6 1 Le chien de garde de la tâche a expiré.La tâche utilisateur n’a pas été terminée pendant la durée allouée. Une erreur de programme a entraîné une boucle infinie, le programme est trop complexe pour être exécuté dans la durée définie ou une tâche avec une priorité plus élevée empêche la tâche de se terminer.

Augmentez le chien de garde de la tâche, réduisez la durée d’exécution, donnez une priorité plus élevée à cette tâche, simplifiez les tâches avec des priorités plus élevées ou déplacez certains codes vers un autre automate.

7 40 Le stockage en mémoire non volatile a échoué. 1. Essayez à nouveau de stocker le projet en mémoire non volatile.

2. Si le projet ne peut pas être stocké en mémoire non volatile, remplacez la carte mémoire.

7 42 Le chargement à partir de la mémoire non volatile a échoué parce que la révision du firmware du projet en mémoire non volatile n’est pas la même que celle du firmware de l’automate.

Mettez à jour le firmware de l,automate pour qu’il ait la même révision que celle du projet qui se trouve en mémoire non volatile.

8 1 Essai de passage de l’automate en mode Exécution avec le commutateur à clé pendant le chargement.

Attendez que le chargement soit terminé et effacez le défaut.

11 1 La position réelle a dépassé la limite de surcourse positive.

Déplacez l’axe dans une direction négative jusqu’à ce que la position soit dans les limites de surcourse, puis exécutez Effacement du défaut de l’axe (Motion Axis Fault Reset).

11 2 La position réelle a dépassé la limite de surcourse négative.

Déplacez l’axe dans une direction positive jusqu’à ce que la position soit dans les limites de surcourse, puis exécutez Effacement du défaut de l’axe (Motion Axis Fault Reset).

11 3 La position réelle a dépassé la tolérance d’erreur de position.

Ramenez la position dans les limites de la tolérance, puis exécutez Effacement du défaut de l’axe )Motion Axis Fault Reset).

11 4 La connexion des voies A, B ou Z est coupée. Reconnectez la voie du codeur, puis exécutez Effacement du défaut de l’axe (Motion Axis Fault Reset).

11 5 Parasites codeur détectés ou les signaux du codeur ne sont pas en quadrature.

Réparez le câblage du codeur, puis exécutez Effacement du défaut de l’axe (Motion Axis Fault Reset).

11 6 Entrée de défaut de variateur activée. Effacez le défaut du variateur, puis exécutez Effacement du défaut de l’axe (Motion Axis Fault Reset).

11 7 La connexion synchrone a subi un échec. Exécutez d’abord Effacement du défaut de l’axe (Motion Axis Fault Reset). Si le problème persiste, retirez et reconnectez le servo-module. En dernier recours, remplacez le servo-module.

11 8 Le servo-module a détecté un défaut matériel sérieux.

Remplacez le module.

11 9 La connexion asynchrone a entraîné une panne. Exécutez d’abord Effacement du défaut de l’axe (Motion Axis Fault Reset). Si le problème persiste, retirez et reconnectez le servo-module. En dernier recours, remplacez le servo-module.

11 32 La tâche de mouvement a subi un chevauchement.

La fréquence de rafraîchissement de la course du groupe est trop élevée pour maintenir un fonctionnement correct. Effacez le point de défaut du groupe, augmentez la fréquence de rafraîchissement du groupe, puis effacez le défaut majeur.

Tableau A.1 Types et codes des défauts majeurs (suite)

Type Code Cause Action corrective

Publication 1756-PM001E-FR-P - Août 2002

Page 363: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Codes de défauts A-3

Codes de défaut mineur Utilisez le tableau suivant pour déterminer la cause d’un défaut mineur et l’action corrective correspondante. Le type et le code correspondent au type et au code affichés aux endroits suivants :

• boîte de dialogue Controller Properties (Propriétés de l’automate), onglet Minor Faults (Défauts mineurs) ;

• objet PROGRAM, attribut MAJORFAULTRECORD.

Tableau A.2 Types et codes des défauts mineurs

Type Code Cause Action corrective

4 4 Un dépassement supérieur arithmétique s’est produit dans une instruction.

Corrigez le programme en examinant les opérations arithmétiques (ordre) ou en ajustant les valeurs.

4 7 Le point GSV/SSV de destination était trop petit pour recevoir toutes les données.

Corrigez la destination pour qu’elle ait assez d’espace.

4 35 Variable de temps PID ≤ 0. Ajustez la variable de temps PID pour qu’elle soit > 0.

4 36 Consigne PID hors limites. Ajustez la consigne pour qu’elle soit dans les limites.

4 51 La valeur LEN de la chaîne de points est supérieure à la taille DATA de la chaîne de point.

1. Vérifiez qu’aucune instruction n,est en cours d’écriture dans le membre LEN de la chaîne de points.

2. Dans la valeur LEN, entrez le nombre de caractères contenus dans la chaîne.

4 52 La chaîne de sortie est supérieure à la destination. Créez un nouveau type de données de chaîne suffisamment grand pour la chaîne de sortie. Utilisez ce nouveau type de données de chaîne comme type de données pour la destination.

4 53 Le numéro de sortie dépasse les limites du type de données de la destination.

Solutions :• Réduisez la taille de la valeur ASCII.• Utilisez un type de données plus grand pour la

destination.

4 56 La valeur de Début ou de Quantité n’est pas valide. 1. Vérifiez que la valeur de Début est entre 1 et la taille DATA de la Source.

2. Vérifiez que la valeur de Début plus la valeur de Quantité est inférieure ou égale à la taille DATA de la Source.

4 57 L’instruction AHL n’est pas exécutée parce que le port série est réglé sur pas d’échange.

Solutions :• Changez le réglage de la ligne de commande du

port série.• Effacez l’instruction AHL.

6 2 Chevauchement d’une tâche périodique.Une tâche périodique n’est pas terminée au moment de son exécution suivante.

Simplifiez le ou les programmes, augmentez la période, augmentez la priorité relative, etc.

7 49 Le projet a été chargé à partir de la mémoire non volatile.

9 0 Erreur inconnue lors de l’entretien du port série. Contactez le service GTS.

9 1 La ligne CTS n’est pas correcte pour la configuration en cours.

Déconnectez et reconnectez le câble du port série sur l’automate.Vérifiez que le câble est correctement branché.

Publication 1756-PM001E-FR-P - Août 2002

Page 364: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

A-4 Codes de défauts

9 2 Erreur de liste d’appel.Un problème a été détecté avec la liste d’appel du maître DF1, tel que spécification de plus de stations que la taille du fichier, spécification de plus de 255 stations, essai d’indexation au-delà de la fin de la liste ou appel de l’adresse de diffusion (STN #255).

Cherchez les erreurs suivantes dans la liste d’appel :• le nombre de station est supérieur à l’espace

dans le point de la liste d’appel ;• le nombre total de stations est supérieur à 255 ;• l’indicateur de la station courante est supérieur

à la fin du point de la liste d’appel ;• un numéro de station supérieur à 254 a été

rencontré.

9 5 Dépassement de temps d’appel d’esclave DF1Le chien de garde d’appel a dépassé le temps limite pour l’esclave. Le maître n’a pas appelé l’automate pendant la durée indiquée.

Déterminez et corrigez le délai d’appel.

9 9 Le contact avec le modem a été perdu.Les lignes de commande DCD et/ou DSR ne sont pas reçues en séquence et/ou état correct.

Corrigez la connexion du modem à l’automate.

10 10 La pile n’a pas été détectée ou doit être remplacée. Installez une nouvelle pile.

Tableau A.2 Types et codes des défauts mineurs (suite)

Type Code Cause Action corrective

Publication 1756-PM001E-FR-P - Août 2002

Page 365: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Annexe B

Conformité CEI 61131-3

Utilisation de cette annexe

Introduction La Commission électrotechnique internationale (CEI) a développé une série de spécifications pour les automates programmables. Ces spécifications ont été créées dans le but de promouvoir une unification internationale des équipements et des langages de programmation utilisés dans l’industrie de la commande. Ces spécifications sont à la base des automates Logix5000 et du logiciel de programmation RSLogix 5000.

Les spécifications de la CEI sur les automates programmables sont regroupées en cinq parties, chacune traitant d’un aspect différent du système de commande :

• Partie 1 : Informations générales• Partie 2 : Spécifications et essais des équipements• Partie 3 : Langages de programmation• Partie 4 : Recommandations à l’usage de l’utilisateur• Partie 5 : Communications

Dans son ensemble, l’industrie de la commande s’est concentrée sur la partie 3 (CEI 61131-3), Langages de programmation, parce que cette partie est la base de l’application des autres normes et qu’elle apporte à l’utilisateur les avantages les plus significatifs par la réduction des coûts de formation. Pour ces raisons, nous ne traitons que cette partie de la norme CEI 61131-3 ici.

Pour les informations suivantes Voir page

Système d'exploitation B-2

Définitions des données B-2

Langages de programmation B-3

Jeu d'instructions B-4

Portabilité des programmes CEI 61131-3 B-4

Tableaux de conformité CEI B-5

1 Publication 1756-PM001E-FR-P - Août 2002

Page 366: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-2 Conformité CEI 61131-3

Les spécifications de la norme CEI 61131-3 sur les langages de programmation abordent de nombreux aspects des automates programmables, notamment l’exécution du système d’exploitation, les définitions des données, les langages de programmation et le jeu d’instructions. Les éléments de la norme CEI 61131-3 sont regroupés selon les impératifs de la spécification, des options ou des extensions. De cette façon, la norme CEI 61131-3 fournit un ensemble minimum de fonctionnalités qui peuvent être étendues pour répondre aux besoins des applications de l’utilisateur. Le côté négatif de ce système est que chaque fabricant de système de commande programmable peut utiliser différents composants de la spécification ou fournir différentes extensions.

Système d'exploitation Le système d’exploitation multitâche préemptif des automates Logix5000 est conforme à la définition donnée par la norme CEI 61131-3. Dans la norme CEI 61131-3, le système d’exploitation des automates programmables peut contenir zéro tâche ou plus, pouvant exécuter un ou plusieurs programmes contenant chacun un ou plusieurs sous-programmes ou fonctions. Selon la norme CEI 61131-3, le nombre de chacun de ces éléments dépend de la mise en application. L'automate Logix5000 fournit plusieurs tâches, chacune contenant plusieurs programmes et un nombre illimité de fonctions ou de sous-programmes.

La norme CEI 61131-3 fournit une option pour la création de différentes classifications pour l’exécution des tâches. Ces tâches peuvent être configurées comme continues, périodiques et basées sur événement. Une tâche continue n’a pas besoin d’être planifiée dans la mesure où elle utilise tout temps de traitement non utilisé lorsque les autres tâches ne sont pas exécutées. Les tâches périodiques sont programmées pour être exécutées selon une période de temps récurrent. La norme CEI 61131-3 ne précise pas de durée pour la configuration des tâches périodiques. Une tâche CEI 61131-3 basée sur événement est lancée au moment de la détection du front montant d’une entrée configurée. Les automates Logix5000 acceptent les tâches continues et périodiques. De plus, la période d’une tâche périodique est configurable avec une durée allant jusqu’à 1 milliseconde (ms).

Définitions des données La norme CEI 61131-3 donne accès à la mémoire par la création de variables dénommées. Les noms CEI 1131-2 des variables sont constitués d’un minimum de six caractères (le logiciel de programmation RSLogix 5000 accepte un minimum de 1 caractère) commençant par un caractère de soulignement « _ » ou par un caractère alphabétique (A-Z), suivi par un ou plusieurs caractères constitués d’un caractère de soulignement « _ », d’une lettre (A-Z) ou d’un nombre (0-9). En option, les caractères alphabétiques en minuscule (a-z) sont acceptables s’il n’y a pas de différence majuscule/minuscule (A = a, B = b, C = c … ). Les automates Logix5000 sont en totale conformité avec cette définition, ils acceptent l’option des minuscules et permettent des noms ayant jusqu’à 40 caractères.

Publication 1756-PM001E-FR-P - Août 2002

Page 367: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conformité CEI 61131-3 B-3

Dans la norme CEI 61131-3, les variables de données peuvent être définies de façon à être accessibles à tous les programmes d’une ressource ou d’un automate, ou de façon qu’un accès limité soit offert aux seules fonctions ou sous-programmes d’un programme donné. Pour passer des données entre plusieurs ressources ou automates, les chemins d’accès peuvent être configurés de façon à définir l’emplacement des données dans un système. Les automates Logix5000 sont conformes à la norme parce qu'ils fournissent des données internes aux programmes ou aux automates, et permettent la configuration de chemins d’accès utilisant des données produites/consommées.

L’interprétation de la mémoire d’une variable dans la norme CEI 61131-3 est définie par l’utilisation d’un type de données élémentaires ou d’un type de données dérivées en option créé à partir d’un groupe de types de données multiples. Les automates Logix5000 acceptent l’utilisation des types de données élémentaires BOOL (1 bit), SINT (entier de 8 bits), INT (entier de 16 bits), DINT (entier de 32 bits) et REAL (IEEE nombre à virgule flottante). En outre, les types de données dérivées en option sont acceptés à travers la création de structures et tableaux définis par l’utilisateur.

Langages de programmation

La norme CEI 61131-3 définit cinq (5) langages de programmation différents et un jeu d’éléments communs. Tous les langages sont définis comme optionnels mais au moins un doit être accepté pour être conforme à la norme. Les composants de langage de programmation CEI 61131-3 sont définis ainsi :

• Eléments de langage commun ;• Eléments graphiques communs ;• Eléments du langage de liste d’instructions (IL) ;• Eléments du langage en texte structuré (ST) ;• Eléments du langage en diagramme à relais (LD) ;• Eléments du langage de graphe de fonctionnement séquentiel (SFC) ;• Eléments du langage de bloc fonctionnel (FBD) .

Les automates Logix5000 et le logiciel RSLogix 5000 acceptent les éléments de langage commun et les options des langages en texte structuré, diagramme à relais, graphe de fonctionnement séquentiel et bloc fonctionnel. En outre, l’environnement utilise un format d’importation/exportation ASCII basé sur le langage en texte structuré. Les fonctions d’échange de jeu d’instructions et de fichier programme sont abordées en détails dans les sections suivantes.

Publication 1756-PM001E-FR-P - Août 2002

Page 368: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-4 Conformité CEI 61131-3

Jeu d'instructions Le jeu d’instructions indiqué dans la norme CEI 61131-3 est entièrement optionnel. La norme indique un jeu d’instructions limité qui, s’il est appliqué, doit être conforme à l’exécution indiquée et à la représentation visuelle. Cependant, la norme CEI 61131-3 ne limite pas les instructions à celles qu'elle indique. Chaque fabricant d’automates est libre d’intégrer des fonctionnalités supplémentaires sous la forme d’instructions en plus de celles données par la norme. Des exemples de telles instructions étendues sont celles nécessaires pour les diagnostics, la commande de boucle PID, la commande de mouvement et le traitement de fichiers de données. Les instructions étendues n'étant pas définies par la norme CEI 61131-3, il n’y a aucune garantie sur leur comptabilité d'application sur des automates de fabricants différents. Ainsi, l’utilisation de ces instructions peut interdire le transfert de logique entre fabricants.

Les automates Logix5000 et le logiciel RSLogix 5000 fournissent une suite d’instructions qui sont exécutées selon la norme CEI 61131-3. La représentation physique de ces instructions leur garde le même aspect que sur les systèmes existants, de façon à réduire les coûts de formation associés. En plus des instructions conformes à la norme CEI 61131-3, une gamme complète d’instructions venant de produits existants a été introduite, de sorte qu’aucune fonctionnalité n’est perdue.

Portabilité des programmes CEI 61131-3

L’un des objectifs des utilisateurs qui créent des programmes dans un environnement conforme CEI 61131-3 est le transfert ou la portabilité des programmes entre automates développés par différents fabricants. C'est une faiblesse de la norme CEI 61131-3 dans la mesure où elle ne définit aucun format d’échange de fichier. En d'autres termes, un programme créé dans l’environnement d’un fabricant demandera des manipulations pour être transféré sur le système d’un autre fabricant.

Pour minimiser l’effort nécessaire à la portabilité, le logiciel de programmation RSLogix 5000, pour les automates, comporte un utilitaire complet d’exportation/importation ASCII. De plus, le format de fichier utilisé par cet outil est basé sur une définition hybride du langage en texte structuré de la norme CEI 61131-3. Le système d’exploitation et les définitions des données de l’automate suivent les formats CEI 61131-3 appropriés. Des extensions ont été créées pour convertir la logique de diagramme à relais en texte ASCII, ceci n’étant pas défini par la norme CEI 61131-3.

Pour de plus amples informations sur l’utilitaire d’exportation et d’importation ASCII du logiciel de programmation RSLogix 5000, voir Logix5000 Controllers Import/Export Reference Manual (publication 1756-RM084).

Publication 1756-PM001E-FR-P - Août 2002

Page 369: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conformité CEI 61131-3 B-5

Tableaux de conformité CEI Les automates Logix5000 et le logiciel RSLogix 5000 sont conformes aux directives de la norme CEI 61131-3 pour les fonctions de langage suivantes :

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

1 2 Lettres minuscules Aucune

1 3a Symbole de numéro (#) Utilisé pour désigner le type de données à valeur immédiate

1 4a Symbole dollar ($) Utilisé pour décrire et comme caractère de commande des chaînes

1 6a Séparateurs d'indice ([ ]) Indices de tableau

2 1 Identificateurs utilisant des majuscules et des chiffres

Noms de tâche, de programme, de sous-programme, de structure et de point

2 2 Identificateurs utilisant des majuscules, des chiffres et des caractères de soulignement intégrés

Noms de tâche, de programme, de sous-programme, de structure et de point

2 3 Identificateurs utilisant des minuscules, des chiffres et des caractères de soulignement intégrés

Noms de tâche, de programme, de sous-programme, de structure et de point

3 1 Commentaires Commentaires ST, également /* Commentaire */ et // Fin d'une ligne de commentaires

4 1 Entier au format littéral 12, 0, -12

4 2 Réel au format littéral 12,5, -12,5

4 3 Réel au format littéral avec exposant -1,34E-12, 1,234E6

4 4 Base 2 au format littéral 2#0101_0101

4 5 Base 8 au format littéral 8#377

4 6 Base 16 au format littéral 16#FFE0

4 7 Zéro et un booléens 0, 1

5 1A Chaîne vide '' Descriptions et éditeur de chaîne

5 1b Chaîne de longueur une contenant un caractère 'A'

Descriptions et éditeur de chaîne

5 1C Chaîne de longueur une contenant un espace ' ' Descriptions et éditeur de chaîne

5 1D Chaîne de longueur une contenant un caractère de guillemet simple '$''

Descriptions et éditeur de chaîne

5 1E Chaîne de longueur une contenant un caractère de guillemet double '"'

Descriptions et éditeur de chaîne

5 1F Chaîne de longueur deux contenant des caractères CR (retour chariot) LF (changement de ligne)

Descriptions et éditeur de chaîne

5 1G Chaîne de longueur une contenant le caractère LF '$0A'

Descriptions et éditeur de chaîne

5 1H Chaîne de longueur 5 qui est imprimé comme "$1.00" utilisant '$$1.00'

Descriptions et éditeur de chaîne

5 1I Chaînes équivalentes de longueur deux 'AE' et '$C4$CB'

Descriptions et éditeur de chaîne

6 2 Symbole dollar '$$' dans une chaîne Descriptions et éditeur de chaîne

6 3 Guillemet simple '$'' dans une chaîne Descriptions et éditeur de chaîne

Publication 1756-PM001E-FR-P - Août 2002

Page 370: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-6 Conformité CEI 61131-3

6 4 Saut de ligne '$L' ou '$l' dans une chaîne Descriptions et éditeur de chaîne

6 5 Nouvelle ligne '$N' ou '$n' dans une chaîne Descriptions et éditeur de chaîne

6 6 Saut de page '$P' ou '$p' dans une chaîne Descriptions et éditeur de chaîne

6 7 Retour chariot '$R' ou '$r' dans une chaîne Descriptions et éditeur de chaîne

6 8 Tabulation '$T' ou '$t' dans une chaîne Descriptions et éditeur de chaîne

6 9 Guillemet double $" dans une chaîne Descriptions et éditeur de chaîne

10 1 Type de données BOOL Définition de la variable de point

10 2 Type de données SINT Définition de la variable de point

10 3 Type de données INT Définition de la variable de point

10 4 Type de données DINT Définition de la variable de point

10 10 Type de données REAL Définition de la variable de point

10 12 Heure Définition de la variable de point, structure TIMER

10 16 Type de données STRING 8 bits

11 1 Hiérarchie des types de données Aucune

12 1 Dérivation directe à partir des types élémentaires

Structures des types de données définis par l'utilisateur

12 4 Types de données de tableau Définition de la variable de point

12 5 Types de données structurées Structures des types de données définis par l'utilisateur

13 1 Valeur initiale BOOL, SINT, INT, DINT, de 0 Définition de la variable de point

13 4 Valeur initiale REAL, LREAL de 0.0 Définition de la variable de point

13 5 Valeur initiale de l'heure T#0s Définition de la variable de point, instruction de réinitialisation (RES)

13 9 Chaîne vide '' Descriptions et chaînes

14 1 Initialisation des types dérivés directement Importation/exportation

14 4 Initialisation des types de données tableau Importation/exportation

14 5 Initialisation des éléments de type structuré Importation/exportation

14 6 Initialisation des types de données structurées dérivés

Importation/exportation

19a 2a Appel textuel, informel Disponible en ST

20 1 Utilisation de EN et ENO Fonction présente dans la logique à relais mais non étiquetée. Disponible en FBD

20 2 Utilisation sans EN et ENO Disponible en FBD

20 3 Utilisation avec EN et sans ENO Disponible en FBD

20 4 Utilisation sans EN et avec ENO Disponible en FBD

21 1 Fonctions surchargées ADD(INT, DINT) ou ADD(DINT, REAL)

Tous les types surchargés reconnus sont expliqués avec chaque instruction

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 371: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conformité CEI 61131-3 B-7

22 1 Fonction de conversion _TO_ Instructions RAD, DEG, conversion radians/valeurs décimales. Conversion numérique de chaîne STOD, STOR, RTOS, DTOS. Les autres conversions ne sont pas nécessaires du fait de la surcharge des instructions.

22 2 Fonction de conversion par troncation Instruction TRN en LD et fonction TRUNC en ST

22 3 Conversion DCB en ENT Instruction FRD en LD

22 4 Conversion ENT en DCB Instruction TOD en LD

23 1 Valeur absolue Instruction ABS

23 2 Racine carrée Instruction SQR en LD et fonctions FBD et SQRT en ST

23 3 Logarithme naturel Instruction LN

23 4 Logarithme décimal Instruction LOG

23 6 Sinus en radians Instruction / fonction SIN

23 7 Cosinus en radians Instruction / fonction COS

23 8 Tangente en radians Instruction / fonction TAN

23 9 Sinus d'arc principal Instruction ASN en LD et fonctions FBD et ASIN en ST

23 10 Cosinus d'arc principal Instruction ACS en LD et fonctions FBD et ACOS en ST

23 11 Tangente d'arc principal Instruction ATN en LD et fonctions FBD et ATAN en ST

24 12 Addition arithmétique Instruction ADD en LD et FBD, et + en ST

24 13 Multiplication arithmétique Instruction MUL en LD et FBD, et * en ST

24 14 Soustraction arithmétique Instruction SUB en LD et FBD, et - en ST

24 15 Division arithmétique Instruction DIV en LD et FBD, et / en ST

24 16 Modulo Instruction MOD en LD et ST

24 17 Exponentiel Instruction XPY en LD et FBD, et ** en ST

24 18 Déplacement de valeur Instruction MOV en LD et := en ST

25 1 Décalage binaire à gauche Fonctionnalité contenue dans l’instruction BSL en LD pour un décalage de 1

25 2 Décalage binaire à droite Fonctionnalité contenue dans l’instruction BSR en LD pour un décalage de 1

25 3 Rotation binaire à gauche Fonctionnalité contenue dans l’instruction BSL en LD pour un décalage de 1

25 4 Rotation binaire à droite Fonctionnalité contenue dans l’instruction BSR en LD pour un décalage de 1

26 5 ET Instruction BAND en FBD et opération "&" en ST

26 6 OU Instruction BOR en FBD

26 7 XOR Instruction BXOR en FBD

26 8 NOT Instruction BNOT en FBD

27 1 Sélection Instruction SEL en FBD

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 372: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-8 Conformité CEI 61131-3

27 2a Sélection maximum MAX Fonctionnalité contenue dans l’instruction ESEL en FBD et en ST

27 2b Sélection minimum MIN Fonctionnalité contenue dans l’instruction ESEL en FBD et en ST

27 3 Limite haute/basse LIMIT Instruction HLL en FBD et en ST

27 4 Multiplexeur MUX Instruction MUX en FBD

28 5 Comparaison Supérieur à Instruction GRT en LD et FBD, et > en ST

28 6 Comparaison Supérieur ou égal à Instruction GRE en LD et FBD, et >= en ST

28 7 Comparaison Egal à Instruction EQU en LD et FBD, et = en ST

28 8 Comparaison Inférieur à Instruction LES en LD et FBD, et < en ST

28 9 Comparaison inférieur ou égal à Instruction LEQ en LD et FBD, et <= en ST

28 10 Comparaison Différent de Instruction NEQ en LD et FBD, et <> en ST

29 1 Longueur de chaîne LEN Contenue comme paramètre du type de données STRING

29 4 Copie dans une chaîne MID Instruction MID en LD et en ST

29 5 Concaténation de chaînes CONCAT Instruction CONCAT en LD et en ST

29 6 Insertion dans une chaîne INSERT Instruction INSERT en LD et en ST

29 7 Effacement dans une chaîne DELETE Instruction DELETE en LD et en ST

29 9 Recherche de chaîne FIND Instruction FIND en LD et en ST

32 1 Lecture d'entrée FBD et ST

32 2 Ecriture d'entrée FBD et ST

32 3 Lecture de sortie FBD et ST

32 4 Ecriture de sortie FBD et ST

34 1 Bascule activée prioritaire Instruction SETD en FBD et en ST

34 2 Bascule mise à zéro prioritaire Instruction RESD en FBD et en ST

35 1 Détecteur front montant Instruction OSR en LD et instruction OSRI en FBD et en ST

35 2 Détecteur front descendant Instruction OSF en LD et instruction OSFI en FBD et en ST

36 1b Compteur incrémental Fonctionnalité contenue dans les instructions CTU et RES en LD et dans l’instruction CTUD en FBD et en ST

37 2a Temporisateur avec délai à l’enclenchement Fonctionnalité contenue dans l’instruction TON en LD et dans l’instruction TONR en FBD et en ST

37 3a Temporisateur avec délai au déclenchement Fonctionnalité contenue dans l’instruction TOF en LD et dans l’instruction TOFR en FBD et en ST

38 2 Temporisation à l’enclenchement Fonctionnalité contenue dans l’instruction TON en LD et dans l’instruction TONR en FBD et en ST

38 3 Temporisation au déclenchement Fonctionnalité contenue dans l’instruction TOF en LD et dans l’instruction TOFR en FBD et en ST

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 373: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conformité CEI 61131-3 B-9

40 1a SFC - Etape

40 1b SFC - Etape initiale

40 2a SFC - Etape textuelle Importation/exportation, le nom de l'étape est indiqué comme suit : « Opérande := nom_étape »

40 2b SFC - Etape initiale textuelle Importation/exportation, utilise le paramètre « InitialStep » ; le nom de l'étape est indiqué comme suit : « Opérande := nom_étape »

40 3a SFC - Forme générale de l'indicateur d'étape Point de retour d'une étape

40 4 Forme générale du temps écoulé pour une étape

Point de retour d'une étape

41 1 Transition utilisant du ST

41 5 Forme textuelle d'une transition Importation/exportation avec différents formats

41 7 Nom d'une transition Point de retour d'une transition

41 7a Transition activée par LD Point de retour d'une transition

41 7b Transition activée par FBD Point de retour d'une transition

41 7d Transition activée par ST Point de retour d'une transition

42 1 Action booléenne Point de retour d'une action

42 3s Représentation textuelle d'une action Importation/exportation

43 1 Association de l'action d'une l'étape

43 2 Etape avec actions de concaténation

43 3 Corps de l'étape textuelle Importation/exportation avec différents formats

43 4 Champ du corps de l'action ST incorporé

44 1 Qualificateur de bloc d'une action

44 2 Nom de bloc d'une action

44 3 Point indicateur d'une action Etendre ceci pour accepter DINT, INT, SINT ou REAL en plus de BOOL

44 5 Action utilisant du ST Accepte le ST incorporé et une instruction JSR vers un sous-programme ST

44 6 Action utilisant du LD Utilise une instruction JSR vers un sous-programme LD

44 7 Action utilisant du FBD Utilise une instruction JSR vers un sous-programme FBD

45 1 Aucun qualificateur d'action Le qualificateur par défaut est N lorsque aucun n'est explicitement entré

45 2 Qualificateur d'action N - Non stocké

45 3 Qualificateur d'action R - Réinitialisé

45 4 Qualificateur d'action S - Activé / Stocké

45 5 Qualificateur d'action L - Limité dans le temps

45 6 Qualificateur d'action D - Différé

45 7 Qualificateur d'action P - Impulsion

45 8 Qualificateur d'action SD - Stocké et différé

45 9 Qualificateur d'action DS - Différé et stocké

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 374: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-10 Conformité CEI 61131-3

45 10 Qualificateur d'action SL - Stocké et différé

45 11 Qualificateur d'action P1 - Impulsion front montant

45 12 Qualificateur d'action P0 - Impulsion front descendant

45a 1 Commande de l'action

45a 2 Commande de l'action

46 1 SFC - Séquence unique

46 2a SFC - Sélection de divergence de séquence Utilise des connexions de ligne plutôt que des astérisques

46 2b SFC - Sélection de divergence de séquence avec ordre d'exécution

46 3 SFC - Sélection de convergence de séquence

46 4a SFC - Divergence de séquence simultanée

46 4b SFC - Convergence de séquence simultanée

46 5a, b, c SFC - Saut de séquence

46 6a, b, c SFC - Boucle de séquence

46 7 SFC - Flèche de direction de boucle Lorsqu'une liaison est masquée

47 1 Représentation graphique d'un SFC

47 4 Représentation graphique d'un SFC

48 1 SFC - Impératifs minimum de conformité d'étape

Voir les notes des tableaux individuels ci-dessus

48 2 SFC - Impératifs minimum de conformité de transition

Voir les notes des tableaux individuels ci-dessus

48 3 SFC - Impératifs minimum de conformité d'action

Voir les notes des tableaux individuels ci-dessus

48 4 SFC - Impératifs minimum de conformité du corps d'action

Voir les notes des tableaux individuels ci-dessus

48 5 SFC - Impératifs minimum de conformité du qualificateur d'action

Voir les notes des tableaux individuels ci-dessus

48 6 SFC - Impératifs minimum de conformité de branche

Voir les notes des tableaux individuels ci-dessus

48 7 SFC - Impératifs minimum de conformité de blocs de connexion

Voir les notes des tableaux individuels ci-dessus

55 1 ST - Mise entre parenthèses (expression)

55 2 Evaluation de fonction ST Utilisation de format informel pour l'appel de fonctions intégrées. Instruction JSR utilisée dans le langage ST pour appeler le code développé par l'utilisateur.

55 3 ST - Exposant **

55 4 ST - Inversion -

55 5 ST - Négation NOT

55 6 ST - Multiplication *

55 7 ST - Division /

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 375: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Conformité CEI 61131-3 B-11

55 8 ST - Modulo MOD

55 9 ST - Addition +

55 10 ST - Soustraction -

55 11 ST - Comparaison <, >, <=, >=

55 12 ST - Egalité =

55 13 ST - Inégalité <>

55 14 ST - ET booléen (&)

55 15 ST - ET booléen

55 16 ST - OU exclusif booléen XOR

55 17 ST - OU booléen

56 1 ST - Affectation :=

56 2 ST - Appel de bloc fonctionnel

56 3 ST - RETURN RET( ) avec plusieurs paramètres

56 4 ST - IF / ELSIF / ELSE/ END_IF

56 5 ST - CASE OF / ELSE / END_CASE

56 6 ST - FOR / END_FOR

56 7 ST - WHILE DO / END_WHILE

56 8 ST - REPEAT / UNTIL / END_REPEAT

56 9 ST - EXIT

56 10 ST - Instruction vide ;

57 1, 2 Ligne horizontale Editeur LD, éditeur FBD

57 3, 4 Ligne verticale Editeur LD, éditeur FBD

57 5, 6 Connexion horizontale / verticale connection Editeur LD, éditeur FBD

57 7, 8 Croisements de lignes sans connexion Editeur FBD

57 9, 10 Coins de connexion et sans connexion Editeur LD, éditeur FBD

57 11, 12 Blocs avec connexions Editeur LD, éditeur FBD

57 13,14 Connecteurs Editeur FBD

58 2 Saut inconditionnel Instruction JMP en LD

58 3 Cible de saut Instruction LBL en LD

58 4 Saut conditionnel Instruction JMP en LD

58 5 Retour conditionnel Instruction RET en LD

58 8 Retour inconditionnel Instruction RET en LD

59 1 Rail d’alimentation gauche Editeur LD

59 2 Rail d’alimentation droit Editeur LD

60 1 Lien horizontal Editeur LD

60 2 Lien vertical Editeur LD

61 1, 2 Contact normalement ouvert --| |-- Instruction XIC en LD

61 3, 4 Contact normalement fermé --| / |-- Instruction XIO en LD

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 376: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

B-12 Conformité CEI 61131-3

61 5, 6 Contact de détection de transition positive -| P |-

Instruction ONS en LD

62 1 Bobine --( )-- Instruction OTE en LD

62 3 Activer (verrouiller) bobine Fonctionnalité figurant dans l’instruction OTL en LD

62 4 Réinitialiser (déverrouiller) bobine Fonctionnalité figurant dans l’instruction OTU en LD

62 8 Bobine de détection de transition positive Instruction OSR en LD

62 9 Bobine de détection de transition négative Instruction OSF en LD

(1) Les tableaux associés à des langages autres que le texte structuré, graphe de fonctionnement séquentiel, diagramme à relais et diagramme de blocs fonctionnels ont été ignorés.

Numéro du tableau(1)

Numéro de la fonction

Description de la fonction Extensions et notes d'application

Publication 1756-PM001E-FR-P - Août 2002

Page 377: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire

A accès

Définit le type d’accès et l’endroit où vous pouvez accéder à un jeu de points particulier. Lorsque vous créez un point, vous l’affectez comme point d’automate ou comme point de programme pour un programme particulier, comme décrit ci-dessous.

Vous pouvez avoir plusieurs points avec le même nom :

• Chaque point doit avoir une affectation différente. Par exemple, un des points peut être un point d’automate et les autres points peuvent être des points de programme pour différents programmes. Ou, chaque point peut-être un point de programme pour des programmes différents.

• Dans un même programme, vous ne pouvez pas faire référence à un point d’automate si un point avec le même nom existe comme point de programme pour ce programme.

Voir accès automate, accès programme.

accès automate

Données accessibles de n’importe où dans l’automate. L’automate comporte une série de points auxquels les sous-programmes et les points d’alias de n’importe quel programme, ainsi que d’autres alias d’accès automate peuvent renvoyer. accès programme.

accès programme

Données uniquement accessibles à partir du programme en cours. Chaque programme possède une collection de points qui ne peuvent être référencés que par les sous-programmes et points d’alias dans ce programme. accès automate.

42195

points auxquels tous les sous-programmes et équipements externes (p. ex. d’autres automates) ont accès

points auxquels seuls les sous-programmes du programme principal ont accès

1 Publication 1756-PM001E-FR-P - Août 2002

Page 378: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

2 Glossaire

action

Dans un graphe de fonctionnement séquentiel (SFC), une action représente une division fonctionnelle d’une étape. Plusieurs actions constituent une étape. Chaque action exécute une fonction particulière, comme commander un moteur, ouvrir une vanne ou mettre un groupe d’équipements dans un mode déterminé.

Chaque action comprend un qualificateur. Lorsqu’une étape est active (en cours d’exécution), le qualificateur détermine quand l’action commence et quand elle s’arrête.

Voir graphe de fonctionnement séquentiel, étape, qualificateur.

application

Combinaison de sous-programmes, programmes, tâches et configuration des E/S utilisée pour définir le fonctionnement d’un seul automate. Voir projet.

ASCII

Code à 7 bits (avec un bit de parité optionnel) servant à représenter des caractères alphanumériques, des signes de ponctuation et des caractères de code de commande. Pour la liste des codes ASCII, reportez-vous à la fin de ce manuel.

asynchrone

Actions qui se produisent indépendamment l’une de l’autre et qui n’ont pas de rythme régulier. Dans les automates Logix5000, les valeurs d’E/S sont mises à jour de façon asynchrone par rapport à l’exécution de la logique :

• les programmes d’une tâche accèdent aux données d’entrées et de sorties directement dans la mémoire d’accès automate ;

• la logique de n’importe quelle tâche peut modifier les données d’accès automate ;

• les valeurs de données et d’E/S sont asynchrones et peuvent changer pendant l’exécution d’une tâche ;

• une valeur d’entrée référencée au début de l’exécution d’une tâche peut être différente lors d’un référencement ultérieur.

Etape

…puis faire celaMIX

Actions

Faire ceci…

Publication 1756-PM001E-FR-P - Août 2002

Page 379: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 3

automate propriétaire

Automate qui crée la configuration et la connexion de communication principales vers un module. L’automate propriétaire écrit des données de configuration et peut établir une connexion avec le module. Voir connexion en écoute seule.

B binaires

Valeurs d’entier affichées et entrées en base 2 (chaque chiffre représente un bit unique). Préfixe avec 2 chiffres. Etendu à la longueur du booléen ou de l’entier (1, 8, 16 ou 32 bits). A l’affichage, chaque groupe de quatre chiffres est séparé par un caractère de soulignement pour la lisibilité. Voir décimales, hexadécimales, octales.

bit

Chiffre binaire. La plus petite unité de mémoire. Représenté par les chiffres 0 (désactivé) et 1 (activé).

BOOL (booléen)

Type de données qui stocke l’état d’un bit unique, où :

• 0 signifie désactivé• 1 signifie activé

ATTENTION

!Assurez-vous que la mémoire de données contient les valeurs appropriées pendant l’exécution. Vous pouvez dupliquer les données ou les mettre en mémoire tampon au début de la scrutation pour fournir des valeurs de référence à la logique.

Publication 1756-PM001E-FR-P - Août 2002

Page 380: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

4 Glossaire

branche

Le nombre de niveaux de branches parallèles que vous pouvez entrer n’est pas limité. La figure suivante montre une branche parallèle à cinq niveaux. La ligne principale est le premier niveau de branche, suivi par quatre branches supplémentaires.

Vous pouvez imbriquer jusqu’à 6 niveaux. La figure suivante montre une branche imbriquée. L’instruction de sortie du bas est sur une branche imbriquée à trois niveaux.

instruction d’entrée instruction de sortie

instruction d’entrée instruction de sortie

Publication 1756-PM001E-FR-P - Août 2002

Page 381: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 5

C chaîne

Groupe de types de données qui mémorisent des caractères ASCII.

Chaque type de données chaîne contient les membres suivants :

Les nouveaux types de données chaîne sont utiles dans les cas suivants :

• si vous avez un grand nombre de chaînes de dimension fixe faisant moins de 82 caractères, vous pouvez conserver la mémoire en créant un nouveau type de données chaîne ;

• si vous devez manipuler des chaînes ayant plus de 82 caractères, vous pouvez créer un nouveau type de données chaîne qui corresponde au nombre de caractères requis.

42811

42812

ouVous pouvez utiliser le type de données par défaut STRING. Il permet de stocker jusqu’à 82 caractères.

Vous pouvez créer un nouveau type de données pour stocker le nombre de caractères que vous définissez.

Nom Type de données

Description Remarques

LEN DINT nombre de caractères dans la chaîne

L’instruction LEN met automatiquement à jour le nouveau nombre de caractères, chaque fois que vous :

• utilisez la boîte de dialogue Parcours de chaîne (String Browser) pour saisir des caractères

• utilisez des instructions qui lisent, convertissent ou manipulent une chaîne

L’instruction LEN indique la longueur de la chaîne courante. Le membre DATA peut contenir d’anciens caractères supplémentaires qui ne figurent pas dans le décompte LEN.

données Tableau SINT Caractères ASCII de la chaîne

• Pour accéder aux caractères de la chaîne, adressez le nom du point.Par exemple, pour accéder aux caractères du point string_1, entrez string_1.

• Chaque élément du tableau DATA contient un caractère.

• Vous pouvez créer de nouveaux types de données chaîne qui stockent moins ou plus de caractères.

Publication 1756-PM001E-FR-P - Août 2002

Page 382: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

6 Glossaire

L’exemple qui suit montre le type de données STRING et un nouveau type de données chaîne.

changement d’état (COS)

Tout changement d’état d’un point ou d’un groupe de points sur un module d’E/S.

chargement

Processus de transfert du contenu d’un projet sur la station de travail vers l’automate. Voir transfert.

chargement

Copie d’un projet de la mémoire non volatile dans la mémoire utilisateur (RAM) de l’automate. Cette opération remplace tout projet se trouvant alors dans l’automate. Voir mémoire non volatile, stockage.

chemin

IMPORTANT Faites attention lorsque vous créez un nouveau type de données chaîne. Si vous décidez ultérieurement de modifier la taille du type de données chaîne, vous risquez de perdre les données des points qui utilisent ce type de données.

Si vous Alors

raccourcissez un type de données chaîne

• Les données sont tronquées.• La LEN est inchangée.

allongez un type de données chaîne

Les données et LEN sont remises à zéro.

42234

Ce point est un tableau de 20 éléments du type de données par défaut STRING.

Ce point utilise le type de données STRING par défaut.

Ce point utilise un nouveau type de données chaîne.• L’utilisateur a appelé le type de données

chaîne STRING_24.• Le nouveau type de données chaîne ne stocke

que 24 caractères.

Publication 1756-PM001E-FR-P - Août 2002

Page 383: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 7

Le chemin décrit la voie empruntée par un message pour atteindre la destination. Si la configuration des E/S de l’automate contient l’équipement de destination, utilisez le bouton Browse (Parcourir) pour sélectionner l’équipement : le chemin est défini automatiquement.

Si la configuration des E/S ne contient pas l’équipement de destination, entrez le chemin de la destination comme suit :

port,adresse,port,adresse

Voir connexion.

chevauchement d’une tâche périodique

Message Path Browser

Path: peer_controller

peer_controller

I/O Configuration

[0] 1756-CNB/x Local_CNB

2 [0] 1756-CNB/x chassis_b

[1] 1756-L55/x peer_controller

peer_controller

où pour est

port fond de panier de tout automate ou module 1756 1

port DF1 d’un automate Logix5000 2

port ControlNet d’un module 1756-CNB

port Ethernet d’un module 1756-ENBx ou -ENET

port DH+ sur canal A d’un module 1756-DHRIO

port DH+ sur canal B d’un module 1756-DHRIO 3

adresse fond de panier ControlLogix numéro d’emplacement

réseau DF1 adresse de station (0 à 254)

réseau ControlNet numéro de station (1 à 99 en décimal)

réseau DH+ 8# suivi du numéro de station (1 à 77 en octal)Par exemple, pour indiquer l’adresse de station en octal 37, entrez 8#37.

réseau EtherNet/IP Vous pouvez indiquer un module sur un réseau EtherNet/IP en utilisant l’un des formats suivants :

adresse IP (ex. 130.130.130.5)adresse IP:Port (ex. 130.130.130.5:24)nom DNS (ex. réservoirs)nom DNS:Port (ex. réservoirs:24)

Publication 1756-PM001E-FR-P - Août 2002

Page 384: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

8 Glossaire

Condition qui apparaît lorsqu’une tâche est en cours d’exécution et que la même tâche est redéclenchée. La durée d’exécution de la tâche est supérieure à l’intervalle périodique configuré pour la tâche. tâche périodique.

chien de garde

Définit la durée pendant laquelle une tâche peut être exécutée avant de générer un défaut majeur.

• Chaque tâche comporte un de chien de garde qui surveille son exécution.

• La durée d’un chien de garde peut aller de 1 à 2 000 000 ms (2000 secondes). La valeur par défaut est de 500 ms.

• Le chien de garde commence le décompte du temps lorsque la tâche est lancée et l’arrête lorsque tous les programmes de la tâche sont exécutés.

• Si la durée d’exécution de la tâche est supérieure à la durée du chien de garde, un défaut majeur se produit (cette durée comprend les interruptions par d’autres tâches).

• Un défaut de timeout du chien de garde (défaut majeur) se produit également si une tâche est déclenchée de nouveau pendant son exécution (chevauchement d’une tâche périodique). Ceci peut arriver si une tâche de basse priorité est interrompue par une tâche de priorité plus élevée, repoussant la fin de la tâche de moindre priorité.

• Vous pouvez utiliser le gestionnaire des défauts de l’automate pour corriger un défaut de chien de garde. Si le même défaut de chien de garde se reproduit pendant la même scrutation de logique, l’automate se met en mode défaut, que le gestionnaire des défauts de l’automate efface le défaut du chien de garde ou non.

Pour modifier la durée du chien de garde d’une tâche :

1. Ouvrez le projet RSLogix 5000.

2. Dans la fenêtre d’organisation de l’automate, cliquez sur nom_de_la_tâche avec le bouton droit de la souris et sélectionnez Properties (Priorités).

3. Cliquez sur l’onglet Configuration.

4. Dans la fenêtre Watchdog (Chien de garde), entrez une durée pour le chien de garde.

5. Cliquez sur OK.

ATTENTION

!Si le chien de garde atteint une présélection configurable, un défaut majeur se produit. En fonction du gestionnaire de défaut de l’automate, l’automate peut s’arrêter.

Publication 1756-PM001E-FR-P - Août 2002

Page 385: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 9

CIP

Voir protocole de commande et d’information

clé source

Système qui permet de limiter l’accès à un sous-programme.

• Vous pouvez attribuer une clé source à un ou plusieurs sous-programmes.

• Les noms de clé source suivent les mêmes règles que les autres composants RSLogix 5000, comme les sous-programmes, les points et les modules.

• Pour attribuer une clé source à un sous-programme (protéger le sous-programme), utilisez le logiciel RSLogix 5000 (vous devez d’abord activer l’outil).

• Un fichier de clé source (sk.dat) stocke les clés sources. Ce fichier est séparé des fichiers projets RSLogix 5000 (.acd).

• Pour visualiser un sous-programme protégé par une clé source, il vous faut cette clé.

• Sans la clé source, vous ne pouvez pas ouvrir un sous-programme. Le logiciel RSLogix 5000 affiche « Source Not Available » (Source non disponible).

• Que la clé source soit disponible ou non, vous pouvez toujours charger le projet et en exécuter tous les sous-programmes.

Voir nom.

connexion

Système de communication entre l’automate et un autre module du système de commande. Le nombre de connexions d’un seul automate est limité. Les communications avec les modules d’E/S, les points consommés, les points produits et les instructions MSG utilisent des connexions pour transférer les données.

Publication 1756-PM001E-FR-P - Août 2002

Page 386: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

10 Glossaire

connexion bidirectionnelle

Connexion dans laquelle les données sont transmises dans les deux directions : de l’émetteur au récepteur et du récepteur à l’émetteur. Voir connexion, connexion unidirectionnelle.

connexion cache

Pour laisser la connexion ouverte après une instruction MSG. Ceci est utile si vous répétez souvent l’instruction MSG, car initialiser la connexion à chaque fois augmente le temps de scrutation.

Le tableau suivant indique les messages qui utilisent une connexion et si vous pouvez ou non mettre cette connexion en mémoire cache :

1 Seuls quelques modules cibles requièrent une connexion.

2 Mettre en mémoire cache uniquement si le module cible requiert une connexion.

Suivez les étapes ci-dessous pour choisir une option cache pour un message qui peut être mis en mémoire cache.

1. Votre logique change-t-elle le chemin d’un message ? (une instruction MSG communique-t-elle avec plusieurs équipements ?)

Ce type de message Avec ce mode de communication

Utilise une connexion

Qui peut être mise en mémoire cache

lecture ou écriture de table de données CIP

CIP ✓ ✓

PLC2, PLC3, PLC5 ou SLC (tous types)

CIP

CIP avec ID source

DH+ ✓ ✓

générique CIP - ✓ 1 ✓ 2

lecture ou écriture de bloc-transfert

- ✓ ✓

Si Alors

Oui A. Désactivez la case Cache Connection (Connexion cache).B. Passez l’étape 2.

Non Allez à l’étape 2.

Publication 1756-PM001E-FR-P - Août 2002

Page 387: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 11

2. A combien d’automates cet automate envoie-t-il de messages que vous pouvez mettre en mémoire cache ?

Voir connexion, connexion non cache.

connexion en écoute seule

Connexion d’E/S dans laquelle un autre automate est propriétaire/fournit les données de configuration pour le module d’E/S. Un automate utilisant une connexion en écoute seule n’écrit pas de données de configuration et ne peut que maintenir une connexion avec le module d’E/S lorsque l’automate propriétaire commande activement le module d’E/S. Voir automate propriétaire.

connexion non cache

Avec l’instruction MSG, une connexion non cache indique à l’automate de couper la connexion à la fin de l’instruction MSG. La coupure de la connexion la rend disponible pour d’autres tâches de l’automate. Voir connexion, connexion cache.

connexion unidirectionnelle

Connexion dans laquelle les données ne sont transmises que dans une direction : de l’émetteur au récepteur. Voir connexion, connexion bidirectionnelle.

correspondance exacte

Mode de protection par détrompage électronique qui requiert que tous les attributs (fabricant, référence, révision majeure et mineure) du module physique et du module configuré dans le logiciel se correspondent pour pouvoir établir une connexion vers le module.

COUNTER (compteur)

Type de données de structure qui contient des informations d’état et de commande pour les instructions de compteur.

Si Alors

16 automates ou moins Laissez la case Cache Connection sélectionnée (cochée).

plus de 16 automates A. Sélectionnez 16 automates qui requièrent les messages les plus fréquents.

B. Ce message s’adresse-t-il à l’un de ces automates ?

Si Alors

Oui Laissez la case Cache Connexion sélectionnée.

Non Désactivez la case Cache Connexion .

Publication 1756-PM001E-FR-P - Août 2002

Page 388: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

12 Glossaire

D décimales

Valeurs d’entier affichées et entrées en base 10. Pas de préfixe. Non étendu à la longueur de l’entier. Voir binaires, hexadécimales, octales.

défaut majeur

Défaut suffisamment sérieux pour que l’automate s’arrête, à moins que le défaut ne soit éliminé. Lorsqu’un défaut majeur se produit, l’automate :

1. active un bit de défaut majeur ;

2. exécute la logique de défaut utilisateur, si elle existe ;

3. si la logique de défaut utilisateur ne peut effacer le défaut, l’automate passe en mode défaut ;

4. règle les sorties selon leur état de sortie en mode Programme ;

5. le voyant OK clignote en rouge.

L’automate accepte deux niveaux pour le traitement des défauts majeurs :

• le sous-programme de gestion des défauts du programme :– chaque programme peut avoir son propre sous-programme de

gestion des défauts ;– l’automate exécute le sous-programme de gestion des défauts

lorsqu’un défaut d’instruction se produit ;– si le sous-programme de gestion des défauts du programme ne

corrige pas le défaut, ou si un sous-programme de gestion des défauts n’existe pas, l’automate exécute le gestionnaire des défauts de l’automate (s’il est défini).

• gestionnaire des défauts de l’automate :– si le gestionnaire des défauts de l’automate n’existe pas ou ne peut

pas corriger le défaut, l’automate se met en mode défaut et s’arrête ; le journal FAULTLOG est alors mis à jour (voir page suivante).

– Tous les défauts non liés à une instruction (E/S, chien de garde de tâche, etc.) exécutent le gestionnaire des défauts de l’automate (aucun sous-programme de gestion des défauts du programme n’est appelé).

Le défaut qui n’a pas été effacé, et jusqu’à deux défauts supplémentaires non effacés, est enregistré dans le journal des défauts de l’automate.

Publication 1756-PM001E-FR-P - Août 2002

Page 389: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 13

Voir état de défaut, défaut mineur.

défaut mineur

exécute le sous-programme de gestion des défauts

du programme

défaut corrigé ?

exécution du gestionnaire des

défauts de l’automate

l’exécution de la logique continue

oui

non

défaut corrigé ?oui

non

se met en mode défaut

enreg. FAULTLOGs’arrête

ss-prog. de gest. des défauts ?

oui

non

un défaut majeur se produit

défaut d’instruction ?

oui

non

l’exécution de la logique continue

l’automate enregistre le défaut majeur dans PROGRAM

MajorFaultRecord

l’automate enregistre le défaut majeur dans le gest. des défauts de

l’automate

un gest. des défauts existe

oui

non

Publication 1756-PM001E-FR-P - Août 2002

Page 390: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

14 Glossaire

Défaut qui n’est pas suffisamment grave pour que l’automate s’arrête :

Pour effacer des défauts mineurs :

1. Dans la fenêtre d’organisation de l’automate, cliquez avec le bouton droit de la souris sur le dossier Controller (Automate) nom_de_l’automate et sélectionnez Properties (Propriétés).

2. Cliquez sur l’onglet Minor Faults (Défauts mineurs).

3. Utilisez les informations de la liste Recent Faults (Défauts récents) pour supprimer la cause du défaut. Reportez-vous à Codes de défaut mineur, page A-3.

4. Cliquez sur le bouton Clear Minors (Effacer les défauts mineurs).

Voir défaut majeur.

désactivation du détrompage

Mode de protection par détrompage électronique qui ne requiert pas que les attributs du module physique et du module configuré dans le logiciel se correspondent pour établir une connexion vers le module. Voir module compatible, correspondance exacte.

description

Texte facultatif dont vous pouvez vous servir pour mieux documenter votre application.

• Vous pouvez utiliser tout caractère imprimable, y compris le retour chariot, la tabulation et l’espace.

• Les descriptions ne sont pas chargées dans l’automate. Elles demeurent dans le fichier projet hors ligne.

• Les descriptions ont les limitations de longueur suivantes :– pour les points, vous pouvez utiliser jusqu’à 120 caractères ;– pour les autres objets (tâches, programmes, modules, etc.), vous

pouvez utiliser jusqu’à 128 caractères.

En cas de L’automate

problème lié à une instruction 1. active S:MINOR2. enregistre les informations relatives au

défaut dans l’objet PROGRAM, attribut MinorFaultRecord

3. active le bit 4 de l’objet FAULTLOG, attribut MinorFaultBits

chevauchement d’une tâche périodique

active le bit 6 de l’objet FAULTLOG, attribut MinorFaultBits

problème lié au port série active le bit 9 de l’objet FAULTLOG, attribut MinorFaultBits

déchargement d’une pile active le bit 10 de l’objet FAULTLOG, attribut MinorFaultBits

Publication 1756-PM001E-FR-P - Août 2002

Page 391: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 15

détrompage électronique

Fonction des E/S 1756 dans lesquelles un module peut recevoir une demande de vérification électronique pour assurer que le module physique corresponde à ce qui a été configuré par le logiciel. Permet à l’utilisateur, via le logiciel, d’empêcher l’utilisation de modules incorrects ou de révisions de modules incorrectes. Voir module compatible, désactivation du détrompage, correspondance exacte.

dimension

Spécification de la taille d’un tableau. Les tableaux peuvent avoir jusqu’à trois dimensions. tableau.

DINT

Type de données qui stocke une valeur d’entier signé de 32 bits (4 octets) (-2 147 483 648 à +2 147 483 647). Dans les automates Logix5000, utilisez des DINT comme nombres entiers :

• Les automates Logix5000 exécutent de façon plus performante et utilisent moins de mémoire lorsqu’ils travaillent avec des nombres entiers de 32 bits (DINT) plutôt que des nombres entiers de 16 bits (INT) ou 8 bits (SINT).

• En principe, les instructions convertissent des valeurs SINT ou INT en un type de données optimal (généralement une valeur DINT ou REAL) durant l’exécution. Cette conversion exigeant plus de temps et de mémoire, minimisez l’usage des types de données SINT et INT.

directe (connexion)

Connexion d’E/S dans laquelle l’automate établit une connexion individuelle avec un module d’E/S. Voir native pour rack.

E élément

Unité de données adressable qui est une sous-unité d’une unité de données plus grande. Une seule unité de n’importe quel tableau.

• Vous indiquez un élément dans un tableau par son ou ses indices :

Voir tableau.

en ligne

Pour ce tableau Indiquez

une dimension nom_du_tableau[indice_0]

deux dimensions nom_du_tableau[indice_0, indice_1]

trois dimensions nom_du_tableau[indice_0, indice_1, indice_2]

Publication 1756-PM001E-FR-P - Août 2002

Page 392: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

16 Glossaire

Visualisation et modification du projet dans un automate. hors ligne.

envoi multidestinataire

Système permettant au module d’envoyer des données sur un réseau qui sont reçues simultanément par plusieurs récepteurs. Décrit la fonction des E/S ControlLogix qui acceptent que plusieurs automates reçoivent des données d’entrées du même module d’E/S en même temps.

étape

Dans un graphe de fonctionnement séquentiel (SFC), une étape représente une fonction principale d’un procédé. Elle contient les événements qui se déroulent à un moment, une phase ou un point particulier.

Voir action, graphe de fonctionnement séquentiel, transition.

exponentielles

Valeurs réelles affichées et entrées en format scientifique ou exponentiel. Le nombre est toujours affiché avec un chiffre à gauche de la virgule décimale, suivi par la partie décimale, puis par un exposant. style.

expression booléenne

En texte structuré, expression qui produit la valeur booléenne 1 (vrai) ou 0 (faux).

• Une expression booléenne utilise des points booléens, des opérateurs de relation et des opérateurs logiques pour comparer des valeurs ou vérifier si des conditions sont vraies ou fausses. Par exemple, tag1>65.

• Une expression booléenne simple peut être un point BOOL uniquement.

• En principe, les expressions booléennes sont utilisées pour conditionner l’exécution d’une autre logique.

expression numérique

En texte structuré, expression qui calcule une valeur d’entier ou à virgule flottante.

Etape

…puis faire celaMIX

Actions

Faire ceci…Une étape est exécutée en continue jusqu’à ce qu’une condition logique indique à l’automate de passer à l’étape suivante.

Une étape est composée d’une ou de plusieurs actions. Chaque action exécute une fonction particulière, comme commander un moteur, ouvrir une vanne ou mettre un groupe d’équipements dans un mode déterminé.

Publication 1756-PM001E-FR-P - Août 2002

Page 393: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 17

• Une expression numérique utilise des opérateurs et des fonctions arithmétiques, et des opérateurs sur bits. Par exemple, tag1+5.

• Une expression numérique est souvent imbriquée dans une expression booléenne. Par exemple, (tag1+5)>65.

F flottantes

Valeurs réelles affichées et entrées en format à virgule flottante. Le nombre de chiffres à gauche de la virgule décimale dépend de la grandeur du nombre. style.

format de communication

Définit la façon dont un module d’E/S communique avec l’automate. Le choix d’un format de communication définit :

• les onglets de configuration disponibles par le logiciel de programmation ;

• la structure des onglets et la méthode de configuration.

fréquence

Dans le cas d’une tâche périodique, fréquence à laquelle l’automate exécute la tâche, de 1 à 2 000 000 ms (2000 secondes). La valeur par défaut est de 10 ms.

fréquence d’actualisation du réseau (NUT)

Intervalle répétitif pendant lequel les données peuvent être envoyées sur un réseau ControlNet. Cette durée varie entre 2 ms et 100 ms.

Publication 1756-PM001E-FR-P - Août 2002

Page 394: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

18 Glossaire

G gestionnaire de démarrage

Tâche optionnelle qui est exécutée lorsque l’automate démarre en mode Exécution (Run). Pour utiliser le gestionnaire de démarrage, vous devez créer un programme de démarrage et un sous-programme associé.

Le gestionnaire de démarrage est exécuté comme suit :

42195

L’automate a-t-il démarré en mode Exécution ?

Oui

Non L’automate reste dans le mode en cours.

Le gestionnaire de démarrage est exécuté.

Oui

Non L’automate reste en mode Exécution et exécute sa logique.

Défaut majeur type 1, code 1

Le gestionnaire de démarrage contient-il un programme ?

Le défaut majeur est-il effacé ?

Oui

Non

L’automate se met en mode défaut.

L’automate reste en mode Exécution et exécute sa logique.

Publication 1756-PM001E-FR-P - Août 2002

Page 395: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 19

gestionnaire des défauts de l’automate

Le gestionnaire des défauts de l’automate est une tâche en option qui est exécutée lorsque :

• le défaut majeur n’est pas un défaut d’exécution d’instruction ;

• le sous-programme de gestion des défauts du programme :

– n’a pas réussi à corriger le défaut majeur,– est en défaut,– n’existe pas.

Vous ne pouvez créer qu’un programme pour le gestionnaire des défauts de l’automate. Après avoir créé ce programme, vous devez configurer un sous-programme comme sous-programme principal.

• Le gestionnaire des défauts de l’automate n’exécute pas de sous-programme de gestion des défauts.

• Si vous indiquez un sous-programme de gestion des défauts pour le programme de gestion des défauts de l’automate, l’automate n’exécute pas ce sous-programme.

• Vous pouvez créer des sous-programmes supplémentaires et les appeler à partir du sous-programme principal.

graphe de fonctionnement séquentiel

Un graphe de fonctionnement séquentiel (SFC) ressemble à un organigramme. Il utilise des étapes et des transitions pour commander une machine ou un procédé.

Voir action, étape, transition.

H hexadécimales

Valeurs d’entier affichées et entrées en base 16 (chaque chiffre représente quatre bits). Préfixe de 16 chiffres. Etendu à la longueur du booléen ou de l’entier (1, 8, 16 ou 32 bits). A l’affichage, chaque groupe de quatre chiffres est séparé par un caractère de soulignement pour la lisibilité. Voir binaires, décimales, octales.

horodatage

Processus ControlLogix qui enregistre un changement dans les données d’entrées avec une référence de temps relative au moment auquel s’est produit ce changement.

hors ligne

Visualisation et modification d’un projet qui se trouve sur le disque dur d’une station de travail. en ligne.

Publication 1756-PM001E-FR-P - Août 2002

Page 396: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

20 Glossaire

I index

Référence qui renvoie à un élément dans un tableau.

instruction

L’automate évalue les instructions à relais selon l’état de la ligne précédant l’instruction (état d’entrée de la ligne).

Seules les instructions d’entrée ont un impact sur l’état d’entrée de la ligne des instructions suivantes de la ligne :

• Si l’état d’entrée de la ligne vers une instruction d’entrée est vrai, l’automate évalue l’instruction et règle l’état de sortie de la ligne pour qu’il reflète les résultats de l’évaluation.– Si l’instruction est évaluée comme vraie, l’état de sortie de la ligne est

vrai.– Si l’instruction est évaluée comme fausse, l’état de sortie de la ligne

est faux.• Une instruction de sortie ne change pas l’état de sortie de la ligne.

– Si l’état d’entrée de la ligne vers une instruction de sortie est vrai, l’état de sortie de la ligne est réglé sur vrai.

– Si l’état d’entrée de la ligne vers une instruction de sortie est faux, l’état de sortie de la ligne est réglé sur faux.

Dans les automates Logix5000, vous pouvez entrer plusieurs instructions de sortie par ligne de logique. Il est possible d’entrer les instructions de sortie :

• en séquence sur la ligne (série) ;• entre des instructions d’entrée, tant que la dernière instruction de la

ligne est une instruction de sortie.

instruction d’entrée

état d’entrée de la ligne

instruction de sortie

état de sortie de la ligne

Publication 1756-PM001E-FR-P - Août 2002

Page 397: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 21

L’exemple suivant utilise plusieurs sorties sur une ligne.

INT

Type de données qui stocke une valeur d’entier de 16 bits (2 octets) (-32,768 à +32,767). Minimisez l’utilisation de ce type de données :

• En principe, les instructions convertissent des valeurs SINT ou INT en un type de données optimal (généralement une valeur DINT ou REAL) durant l’exécution. Cette conversion exigeant plus de temps et de mémoire, minimisez l’usage des types de données SINT et INT.

intervalle entre trames requis (RPI)

Lors de la communication sur le réseau, durée maximale entre les productions de données d’entrées.

• En principe, cet intervalle est configuré en microsecondes.• La production réelle des données est limitée au multiple le plus grand de

la fréquence d’actualisation du réseau qui est inférieure au RPI sélectionné.

• Utilisez une puissance équivalent à deux fois la fréquence d’actualisation du réseau ControlNet.

Par exemple, si la fréquence d’actualisation du réseau est de 5 ms, entrez une fréquence de 5, 10, 20, 40 ms, etc.

Voir fréquence d’actualisation du réseau (NUT).

EXEMPLE Placer plusieurs sorties sur une ligne

Lorsque running_seconds.DN est activé, running_hours augmente d’une unité et running_seconds est réinitialisé.

Lorsque machine_on est activé, active drill_1_on. Lorsque machine_on et drill[1].part_advance sont activés, active conveyor_on.

42362

running_seconds.DNCUDN

Count UpCounter running_hoursPreset 500Accum 0

CTURES

running_seconds

machine_on drill_1_on drill[1].part_advance conveyor_on

Publication 1756-PM001E-FR-P - Août 2002

Page 398: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

22 Glossaire

M maître (CST)

Dans un châssis unique, un seul automate doit être le maître du temps système coordonné (CST). Tous les autres modules du châssis synchronisent leurs valeurs CST sur le maître CST.

membre

Elément d’une structure qui a son propre type et nom de données.

• Les membres peuvent également être des structures, créant des types de données de structures imbriqués.

• Chaque membre d’une structure peut être un type de données différent.• Pour faire référence à un membre d’une structure, utilisez ce format :

nom_du_point.nom_du_membre

Par exemple :

• Si la structure est imbriquée dans une autre structure, utilisez le nom du point de la structure au plus haut niveau, suivi par un nom de point de sous-structure et un nom de membre :nom_du_point.nom_sous-structure.nom_du_membre

Par exemple :

• Si la structure définit un tableau, utilisez le point de tableau, suivi de la position dans le tableau et des noms de sous-structure et de membre.point_du_tableau[position].membre

ou

point_du_tableau[position].nom_sous-structure.nom_du_membre

Cette adresse Fait référence

timer_1.pre à la valeur PRE de la structure timer_1.

input_load comme type de données load_info

input_load.height

au membre hauteur (height) de la structure input_load définie par l’utilisateur

Cette adresse Fait référence

input_location comme type de données location

input_location.load_info.height

au membre height de la structure load_info dans la structure input_location.

Publication 1756-PM001E-FR-P - Août 2002

Page 399: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 23

Par exemple :

Voir structure.

mémoire

Support de stockage électronique intégré dans l’automate, utilisé pour contenir les programmes et les données.

mémoire non volatile

Mémoire de l’automate conservant son contenu lorsque l’alimentation de l’automate est coupé ou qu’il n’a plus de batterie. Voir chargement, stockage.

mode défaut

L’automate a généré un défaut majeur qu’il n’a pas pu corriger et s’est arrêté.

Voir défaut majeur.

module compatible

Mode de protection de détrompage électronique qui requiert que le fabricant, la référence et les attributs de révision majeure du module physique et du module configuré dans le logiciel se correspondent pour établir une connexion vers le module.Voir désactivation du détrompage, correspondance exacte.

module d’interface (IFM)

Bras de raccordement d’E/S précâblé.

N native pour rack (connexion)

Connexion d’E/S dans laquelle le module 1756-CNB recueille les mots d’E/S dans une image de rack (similaire au 1771-ASB). Une connexion native pour rack économise les connexion ControlNet et la bande passante ; cependant, les informations d’état et de diagnostic disponibles lorsque ce type de connexion est utilisé sont limitées. Voir directe (connexion).

nom

Les noms identifient les automates, les tâches, les programmes, les points, les modules, etc. Les noms sont conformes à la norme CEI 1131-3 :

Cette adresse Fait référence

conveyor[10].source au membre source du 11e élément du tableau conveyor (les éléments du tableau sont basés sur zéro).

conveyor[10].info.height au membre height de la structure info du 11e élément du tableau conveyor (les éléments du tableau sont basés sur zéro).

Publication 1756-PM001E-FR-P - Août 2002

Page 400: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

24 Glossaire

• doivent commencer par un caractère alphabétique (A-Z ou a-z) ou par caractère de soulignement (_) ;

• ne peuvent contenir que des caractères alphabétiques, numériques et de soulignement ;

• peuvent contenir jusqu’à 40 caractères ;• ne doivent pas comporter plusieurs caractères de soulignement (_) à la

suite ;• ne font pas de distinction entre majuscules et minuscules ;• sont chargés dans l’automate.

O objet

Structure de données qui stocke les informations d’état. Lorsque vous entrez une instruction GSV/SSV, vous indiquez l’objet et l’attribut auxquels vous voulez accéder. Dans certains cas, il y a plus d’une occurrence du même type d’objet, vous pourrez donc éventuellement devoir également indiquer le nom de l’objet. Par exemple, il peut y avoir plusieurs tâches dans votre application. Chaque tâche a son propre objet TASK auquel vous accédez par le nom de la tâche.

octales

Valeurs d’entier affichées et entrées en base 8 (chaque chiffre représente trois bits). Préfixe de 8 chiffres. Etendu à la longueur du booléen ou de l’entier (1, 8, 16 ou 32 bits). A l’affichage, chaque groupe de trois chiffres est séparé par un caractère de soulignement pour la lisibilité. Voir binaires, décimales, hexadécimales.

octet

Unité de mémoire constituée de 8 bits.

P point

Zone nommée de la mémoire de l’automate dans laquelle les données sont stockées.

• Les points sont les mécanismes de base pour l’allocation de la mémoire, le référencement des données de la logique et la surveillance des données.

Publication 1756-PM001E-FR-P - Août 2002

Page 401: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 25

• L’allocation de mémoire minimum pour un point est de quatre octets. – Lorsque vous créez un point qui stocke un BOOL, SINT ou INT

(qui sont inférieurs à quatre octets), l’automate alloue quatre octets mais les données ne remplissent que l’espace dont elles ont besoin.

– Les types de données et les tableaux définis par l’utilisateur stockent les données en mémoire contiguë et condensent les petits types de données dans des mots de 32 bits.

Les exemples suivants montrent l’allocation de la mémoire pour divers points :

– start, qui utilise les type de données BOOL :

– station_status, qui utilise le type de données DINT :

– mixer, qui utilise un type de données défini par l’utilisateur :

– temp_buffer, qui utilise un tableau de quatre INT (INT[4] ) :

Voir point d’alias, point de base, point consommé.

point consommé

Allocation de mémoire

Bits

31 1 0

allocation non utilisé start

Allocation de mémoire

Bits

31 0

allocation station_status

Allocation de mémoire

Bits

31 24 23 16 15 8 7 0

allocation 1 mixer.pressure

allocation 2 mixer.temp

allocation 3 mixer.agitate_time

allocation 4 non utilisé non utilisé non utilisé bit 0 mixer.inletbit 1 mixer.drainbit 2 mixer.agitate

Allocation de mémoire

Bits

31 16 0

allocation 1 temp_buffer[1] temp_buffer[0]

allocation 2 temp_buffer[3] temp_buffer[2]

Publication 1756-PM001E-FR-P - Août 2002

Page 402: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

26 Glossaire

Point qui reçoit les données diffusées par un point produit sur un réseau ControlNet ou un fond de panier ControlLogix. Un point consommé doit être :

• accès automate• du même type de données (y compris les dimensions du tableau) que le

point décentralisé (point produit)

Voir point produit.

point de base

Point qui définit effectivement la mémoire dans laquelle un élément de données est stocké. Voir point d’alias.

point d’alias

Point qui renvoie à un autre point. Un point d’alias peut renvoyer à un autre point d’alias ou à un point de base. Un point d’alias peut également renvoyer à un composant d’un autre point en renvoyant à un membre d’une structure, à un élément d’un tableau ou à un bit dans un point ou dans un membre Voir point de base.

point produit

Point que l’automate met à la disposition d’autres automates. Les points produits sont toujours d’accès automate. point consommé.

post-scrutation

Fonction de l’automate dans laquelle la logique d’un programme est examinée avant de désactiver le programme pour réinitialiser les instructions et les données.

pré-scrutation

La pré-scrutation est une scrutation intermédiaire lors du passage en mode Exécution (Run).

• L’automate effectue une pré-scrutation lorsque vous le faites passer du mode Programme (Program) au mode Exécution (Run).

• La pré-scrutation examine tous les programmes et instructions, et initialise les données en fonction des résultats.

• Certaines instructions sont exécutées différemment pendant la pré-scrutation par rapport à la scrutation normale.

Publication 1756-PM001E-FR-P - Août 2002

Page 403: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 27

priorité

Indique la tâche à exécuter en premier si deux tâches sont déclenchées en même temps.

• La tâche ayant la priorité la plus élevée est exécutée en premier.• Les priorités vont de 1 à 15, 1 étant la priorité la plus élevée.• Une tâche avec une priorité élevée interrompt toute tâche avec une

priorité plus basse. • Si deux tâches avec la même priorité sont déclenchées en même temps,

l’automate passe d’une tâche à l’autre toutes les millisecondes.

programme

Ensemble de sous-programmes et de points connexes

• Chaque programme contient des points de programme, un sous-programme exécutable principal, d’autres sous-programmes et un programme de gestion des défauts en option.

• Pour exécuter les sous-programmes d’un programme, vous attribuez (planifiez) le programme à une tâche :– lorsqu’une tâche est déclenchée, les programmes planifiés de la tâche

sont exécutés entièrement du premier au dernier ;– lorsqu’une tâche exécute un programme, le sous-programme

principal est exécuté en premier ;– ce sous-programme peut, à son tour, exécuter des sous-programmes

à l’aide d’une instruction JSR.• Le dossier Unscheduled Programs (Programmes non prioritaires) contient

les programmes qui ne sont pas attribués à une tâche.• Si la logique du programme produit un défaut majeur, l’exécution saute à

un sous-programme de gestion des défauts configuré pour le programme.

• Les sous-programmes d’un programme ont accès aux points suivants :– points de programme du programme ;– points d’automate.

• Les sous-programmes n’ont pas accès aux points de programme des autres programmes.

Voir sous-programme, tâche.

Publication 1756-PM001E-FR-P - Août 2002

Page 404: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

28 Glossaire

projet

Fichier sur votre station de travail (ou serveur) qui stocke la logique, la configuration, les données et la documentation d’un automate.

• Ce fichier a une extension .ACD.• Lorsque vous créez un fichier projet, le nom du fichier est le nom de

l’automate.• Le nom de l’automate est indépendant du nom du fichier du projet. Si

vous enregistrez un fichier projet sous un autre nom, le nom de l’automate reste inchangé.

• Si le nom de l’automate est différent de celui du fichier projet, la barre de titre du logiciel RSLogix 5000 affiche les deux noms.

Voir application.

propriétaires multiples

Configuration dans laquelle plusieurs automates ont les mêmes informations de configuration pour être propriétaires du même module d’entrées simultanément.

protocole de commande et d’information (CIP)

Protocole d’échange utilisé par la gamme des équipements de contrôle industriel Logix5000 d’Allen-Bradley. Protocole de communication natif utilisé sur le réseau ControlNet.

Q qualificateurDans l’action d’un graphe de fonctionnement séquentiel (SFC), un qualificateur définit quand une action commence et quand elle se termine.

Voir action, graphe de fonctionnement séquentiel, étape.

R REAL

Type de données qui stocke une valeur à virgule flottante IEEE de 32 bits (4 octets), dans la plage suivante :

• -3,40282347E38 à -1,17549435E-38 (valeurs négatives)• 0

• 1,17549435E-38 à 3,40282347E38 (valeurs positives)

Publication 1756-PM001E-FR-P - Août 2002

Page 405: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 29

Le type de données REAL stocke également ±infini, ±NAN et -IND, mais l’écran du logiciel diffère selon le format d’affichage.

Le logiciel stocke et affiche également la sous-plage IEEE :

• -1,17549421E-38 à -1,40129846E-45 (valeurs négatives)

• 1,40129846E-45 à 1,17549421E-38 (valeurs positives)

retrait et insertion sous tension (RIUP)

Fonction ControlLogix qui permet à l’utilisateur d’installer ou de retirer un module avec le châssis sous tension.

révision majeure

Les modules 1756 ont des indicateurs de révision majeure et mineure. La révision majeure est mise à jour chaque fois qu’il y a un changement fonctionnel sur le module. Voir détrompage électronique, révision mineure.

révision mineure

Les modules de la gamme 1756 ont des indicateurs de révision majeure et mineure. La révision mineure est mise à jour chaque fois qu’il y a une modification sur un module qui n’affecte pas sa fonction ou son interface. Voir détrompage électronique, révision majeure.

S SINT

Type de données qui stocke une valeur d’entier signé de 8 bits (1 octet) (-128 à +127). Minimisez l’utilisation de ce type de données :

• En principe, les instructions convertissent des valeurs SINT ou INT en un type de données optimal (généralement une valeur DINT ou REAL) durant l’exécution. Cette conversion exigeant plus de temps et de mémoire, minimisez l’usage des types de données SINT et INT.

Format d’affichage Equivalent

Réel +infini-infini+NAN-NAN-indéterminé

1.$-.,$1.#QNAN-1.#QNAN-1.#IND

Exponentiel +infini-infini+NAN-NAN-indéterminé

1.#INF000e+000-1.#INF000e+0001.#QNAN00e+000-1.#QNAN00e+000-1.#IND0000e+000

Publication 1756-PM001E-FR-P - Août 2002

Page 406: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

30 Glossaire

sous-programme

Jeu d’instructions logiques dans un langage de programmation unique, tel qu’un diagramme à relais.

• Les sous-programmes fournissent le code exécutable pour le projet d’un automate (similaire à un fichier programme dans un automate PLC ou SLC).

• Chaque programme a un sous-programme principal :– lorsque l’automate déclenche la tâche associée et exécute le

programme associé, le sous-programme principal est le premier sous-programme exécuté ;

– pour appeler un autre sous-programme du programme, entrez une instruction JSR dans le sous-programme principal.

• Vous pouvez également définir un sous-programme de gestion des défauts de programme en option.– si l’un des sous-programmes du programme associé produit un

défaut majeur, l’automate exécute le sous-programme de gestion des défauts du programme

Voir programme, tâche.

sous-programme principal

Premier sous-programme exécuté lors de l’exécution d’un programme. Utilisez le sous-programme principal pour appeler (exécuter) d’autres sous-programmes.

stockage

Copie d’un projet dans la mémoire non volatile de l’automate. Cette opération remplace le projet qui se trouvait dans la mémoire non volatile. Voir chargement, mémoire non volatile.

structure

Certains types de données sont une structure.

• Une structure stocke un groupe de données, dont chacune peut avoir un type différent.

• Au sein d’une structure, chaque type de données est appelé un membre.

• Comme les points, les membres ont un nom et un type de données.• Vous pouvez créer vos propres structures, appelées type de données

défini par l’utilisateur, à l’aide de n’importe quelle combinaison de points et de la plupart des autres structures.

• Pour copier des données dans une structure, utilisez une instruction COP. Voir la Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003).

Publication 1756-PM001E-FR-P - Août 2002

Page 407: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 31

Les types de données COUNTER et TIMER sont des exemples de structures couramment utilisées.

Voir membre, type de données défini par l’utilisateur.

structure définie par le produit

Type de données de structure défini automatiquement par le logiciel et l’automate. En configurant un module d’E/S, vous ajoutez la structure définie par le produit pour ce module.

structure prédéfinie

Type de données de structure qui stocke des informations liées pour une instruction particulière, telle que structure TIMER pour les instructions de temporisation. Les structures pré-définies sont toujours disponibles, quelle que soit la configuration matérielle du système. Voir structure définie par le produit.

style

Format dans lequel les valeurs numériques sont affichées. ASCII, binaires, décimales, exponentielles, flottantes, hexadécimales, octales.

42365

Pour développer une structure et afficher ses membres, cliquez sur le signe +.

Pour réduire une structure et masquer ses membres, cliquez sur le signe – .

Structure COUNTER

Structure TIMER

types de données des membres

membres de running_seconds

Publication 1756-PM001E-FR-P - Août 2002

Page 408: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

32 Glossaire

T tableau

Un tableau vous permet de regrouper des données (d’un même type de données) sous un nom commun.

• Un tableau est similaire à un fichier.• Un ou plusieurs indices identifient chaque élément du tableau.• Un indice commence à 0 et s’étend au nombre d’éléments moins 1 (base

zéro).

• Un point de tableau occupe un bloc de mémoire contiguë dans l’automate, chaque élément en séquence.

• Vous pouvez utiliser des instructions de tableau et de séquenceur pour manipuler ou parcourir les éléments d’un tableau

• Un tableau peut avoir un maximum de trois dimensions. Ceci vous offre la souplesse de pouvoir identifier un élément à l’aide d’un, deux ou trois indices (coordonnées).

42367

Pour développer un tableau et afficher ses éléments, cliquez sur le signe +.

Pour réduire un tableau et masquer ses éléments, cliquez sur le signe – .

Ce tableau comprend six éléments de type de données DINT.

six DINTéléments de timer_presets

Publication 1756-PM001E-FR-P - Août 2002

Page 409: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 33

• Dans un tableau à deux ou trois dimensions, la dimension la plus à droite est la première à s’incrémenter dans la mémoire.

42367

La dimension de droite s’incrémente jusqu’à sa valeur maximum puis recommence à zéro.

Ce tableau comprend une grille d’éléments bidimensionnelle, six éléments par six éléments.

Lorsque la dimension de droite recommence à zéro, la dimension de gauche s’incrémente d’une unité.

Publication 1756-PM001E-FR-P - Août 2002

Page 410: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

34 Glossaire

• Le nombre total d’éléments d’un tableau est le produit de la taille de chaque dimension, comme le montrent les exemples suivants :

• Vous pouvez modifier les dimensions d’un tableau lors de la programmation hors ligne sans perte des données de points. Vous ne pouvez pas modifier les dimensions d’un tableau lors de la programmation en ligne.

tâche

Système de planification pour l’exécution d’un programme.

• Par défaut, chaque nouveau fichier projet contient une tâche continue préconfigurée.

• Vous configurez d’autres tâches, périodiques, si nécessaire.• Une tâche fournit des informations de planification et de priorité pour

un ou plusieurs programmes qui s’exécutent en fonction de critères particuliers.

• Une fois qu’une tâche est déclenchée (activée), tous les programmes attribués (planifiés) à la tâche sont exécutés dans l’ordre de leur affichage dans la fenêtre d’organisation de l’automate.

• Vous ne pouvez attribuer un programme qu’à une seule tâche à la fois.

Voir tâche continue, tâche périodique.

tâche continue

Ce tableau Stocke les données ainsi Par exemple

une dimension Nom du point

one_d_array

Type

DINT[7]

Dimension 0

7

Dimension 1

--

Dimension 2

--

nombre total d’éléments = 7

plage d’indices corrects DINT[x] ou x=0–6

deux dimensions Nom du point

two_d_array

Type

DINT[4,5]

Dimension 0

4

Dimension 1

5

Dimension 2

--

nombre total d’éléments = 4 ∗ 5 = 20

plage d’indices corrects DINT[x,y] où x=0–3; y=0–4

trois dimensions Nom du point

three_d_array

Type

DINT[2,3,4]

Dimension 0

2

Dimension 1

3

Dimension 2

4

nombre total d’éléments = 2 ∗ 3 ∗ 4 = 24

plage d’indices corrects DINT[x,y,z] où x=0–1; y=0–2, z=0–3

Publication 1756-PM001E-FR-P - Août 2002

Page 411: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 35

Tâche exécutée en continu.

• La tâche continue est exécutée en arrière-plan. La puissance de l’unité centrale non allouée à d’autres opérations (telles que commande de mouvement, communications et tâches périodiques) est utilisée pour l’exécution des programmes de la tâche continue.

• La tâche continue redémarre après la fin de son dernier programme.• Un projet ne requiert pas de tâche continue.• Il ne peut y avoir qu’une seule tâche continue.• Toutes les tâches périodiques interrompent la tâche continue.• Lorsque vous créez un projet, la Tâche Principale par défaut est une tâche

continue. Vous pouvez laisser cette tâche telle quelle ou vous pouvez modifier ses propriétés (nom, type, etc.).

Voir tâche périodique.

tâche périodique

Tâche déclenchée par le système d’exploitation à intervalle régulier.

• Utilisez une tâche périodique pour les fonctions qui nécessitent une exécution précise et déterministe.

• Lorsque l’intervalle de temps expire, la tâche est lancée et ses programmes sont exécutés.

• Les données et sorties établies par le programme dans la tâche gardent leur valeur jusqu’à l’exécution suivante de la tâche ou jusqu’à ce qu’elles soient manipulées par une autre tâche.

• Vous pouvez configurer l’intervalle de temps de 1 ms à 2000 s. La valeur par défaut est 10 ms.

• Les tâches périodiques interrompent toujours la tâche continue.• Selon le niveau de priorité, une tâche périodique peut interrompre

d’autres tâches périodiques de l’automate.

Voir tâche continue.

ATTENTION

!Assurez-vous que la durée est plus longue que la somme des durées d’exécution de tous les programmes attribués à la tâche. Si l’automate détecte le déclenchement d’une tâche périodique alors qu’une tâche est déjà en route, un défaut mineur se produit.

Publication 1756-PM001E-FR-P - Août 2002

Page 412: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

36 Glossaire

temps de scrutation

temps écoulé, temps d’exécution.

temps d’exécution

Durée totale nécessaire pour l’exécution d’un seul programme.

• Le temps d’exécution ne comprend que le temps utilisé par ce programme et exclut tout temps partagé/utilisé par des programmes dans d’autres tâches effectuant d’autres opérations.

• En ligne, utilisez la boîte de dialogue Program Properties (Propriétés du programme) pour visualiser le temps de scrutation maximum et le dernier temps de scrutation (en µs) pour le programme en cours. Ces valeurs sont des durées d’exécution pour le programme et n’incluent pas le temps passé à attendre d’autres programmes ou d’autres tâches plus prioritaires.

Voir temps écoulé.

temps écoulé

Durée totale requise pour l’exécution de toutes les opérations configurées dans une tâche unique.

• Si l’automate est configuré pour exécuter des tâches multiples, le temps écoulé comprend toute durée utilisée/partagée par d’autres tâches effectuant d’autres opérations.

• En ligne, vous pouvez utiliser la boîte de dialogue Propriétés des tâches pour visualiser le temps de scrutation maximum et le dernier temps de scrutation en ms pour la tâche en cours. Les valeurs sont des durées écoulées, ce qui inclut toute durée passée à attendre des tâches à priorités plus élevées.

Voir temps d’exécution.

temps système coordonné (CST)

Valeur de 64 bits qui représente le nombre de microsecondes écoulées depuis que l’automate maître a commencé à compter.

• La valeur CST est stockée en tant que tableau DINT[2], où :– le premier élément stocke les 32 bits de poids faible ;– le second élément stocke les 32 bits de poids fort.

• Vous pouvez vous servir de l’horodatage CST pour comparer le temps relatif entre les échantillons de données.

Publication 1756-PM001E-FR-P - Août 2002

Page 413: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 37

tranche de temps système

Indique le pourcentage de temps automate (à l’exception du temps consacré aux tâches périodiques) consacré aux fonctions de communication et d’arrière-plan (temps système) :

• L’automate exécute les fonctions de temps système pendant 1 ms maximum à chaque fois.

• Si l’automate termine les fonctions de temps système en moins d’1 ms, il reprend la tâche continue.

• Les fonctions de communication et d’arrière-plan comprennent les fonctions suivantes :– la communication avec les équipements de programmation et d’IHM

(tels que le logiciel RSLogix 5000) ;– la réponse aux messages ;– l’envoi de messages, y compris des blocs-transferts ;– le rétablissement et la surveillance des connexions d’E/S (comme les

conditions RIUP) ; ceci ne comprend pas les communications d’E/S normales qui se produisent pendant l’exécution du programme ;

– le passage des communications du port série de l’automate vers d’autres équipements ControlLogix via le fond de panier ControlLogix.

• Si les communications ne s’effectuent pas suffisamment rapidement, augmentez la durée de tranche de temps système.

Le tableau suivant indique le rapport entre la tâche continue et les fonctions de temps système :

Pour cette tranche de temps

La tâche continue est exécutée pendant

Ensuite le temps système dure

10 % 9 ms 1 ms

20 % 4 ms 1 ms

33 % 2 ms 1 ms

50 % 1 ms 1 ms

Publication 1756-PM001E-FR-P - Août 2002

Page 414: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

38 Glossaire

A la tranche de temps par défaut de 10 %, le temps système interrompt la tâche continue toutes les 9 ms (de temps de tâche continue).

L’interruption d’une tâche périodique augmente le temps écoulé (temps d’horloge) entre les exécutions du temps système.

Si vous augmentez la tranche de temps à 20 %, le temps système interrompt la tâche continue toutes les 4 ms (de temps de tâche continue).

Si vous augmentez la tranche de temps à 50 %, le temps système interrompt la tâche continue toutes les ms (de temps de tâche continue).

Légende :

La tâche est exécutée.

La tâche est interrompue (mise en suspens).

1 ms 1 ms

temps système

9 ms 9 ms

tâche continue

5 10 15 20 25

temps écoulé (ms)

1 ms 1 ms 1 ms 1 ms

tâche périodique

1 ms 1 ms

temps système

9 ms de temps de tâche continue 9 ms de temps de tâche continue

tâche continue

5 10 15 20 25

temps écoulé (ms)

1 ms 1 ms 1 ms 1 ms 1 ms

temps système

4 ms 4 ms 4 ms 4 ms 4 ms

tâche continue

5 10 15 20 25

temps écoulé (ms)

1 ms

temps système

1 ms

tâche continue

5 10 15 20 25

temps écoulé (ms)

Publication 1756-PM001E-FR-P - Août 2002

Page 415: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 39

Si l’automate contient une ou plusieurs tâches périodiques, la valeur de tranche de temps système est sans effet. Le temps système est exécuté tant qu’une tâche périodique n’est pas exécutée.

Pour modifier la durée du temps système :

1. Ouvrez le projet RSLogix 5000.

2. Dans la fenêtre d’organisation de l’automate, cliquez sur le dossier Controller (Automate) nom_de_l’automate avec le bouton droit de la souris et sélectionnez Properties (Propriétés).

3. Cliquez sur l’onglet Evolué.

4. Dans la zone de texte Tranche de temps système, entrez ou sélectionnez le pourcentage de temps système (10 à -90 %).

5. Cliquez sur OK.

transfert

Processus consistant à transférer le contenu de l’automate dans un fichier projet sur la station de travail.

Si vous n’avez pas le fichier projet d’un automate, vous pouvez transférer à partir de l’automate et créer un fichier projet. Cependant, tout ce qui est sauvegardé dans un fichier projet n’est pas disponible à partir de l’automate. Si vous transférez à partir d’un automate, le nouveau fichier projet ne contiendra pas :

• les commentaires de lignes ;

• les descriptions des points, des tâches, des programmes, des sous-programmes, des modules ou des structures utilisateur ;

• les chaînes d’alias (alias renvoyant à d’autres alias).

Les chaînes d’alias ne sont pas complètement reconstituées à partir de l’automate. S’il y a plusieurs noms possibles pour un élément de données, le firmware et le logiciel choisissent l’alias qui correspond le mieux et ne reflète pas nécessairement la façon dont l’alias a été défini dans le projet initial.

Voir chargement.

transition

tâche périodique

temps système

5 10 15 20 25

temps écoulé (ms)

Publication 1756-PM001E-FR-P - Août 2002

Page 416: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

40 Glossaire

Dans un graphe de fonctionnement séquentiel (SFC), une transition est l’état vrai ou faux d’une ou de plusieurs conditions qui détermine quand passer à l’étape suivante.

type de données

Définition de la taille et de l’organisation de la mémoire qui sera allouée lorsque vous créerez un point correspondant à ce type de données.

type de données défini par l’utilisateur

Vous pouvez aussi créer vos propres structures, appelées « type de données défini par l’utilisateur » (également connues sous le nom de « structure définie par l’utilisateur »). Un type de données défini par l’utilisateur regroupe différents types de données dans une entité définie unique.

• Dans un type de données défini par l’utilisateur, vous définissez les membres.

• Comme les points, les membres ont un nom et un type de données.• Vous pouvez inclure des tableaux et des structures.• Une fois que vous avez créé le type de données défini par l’utilisateur,

vous pouvez créer un ou plusieurs points utilisant ce type de données.• Minimisez l’utilisation des types de données suivants car ils augmentent

généralement l’espace mémoire utilisé et le temps d’exécution de votre logique :– INT

– SINT

Par exemple, certaines valeurs système utilisent les types de données SINT ou INT. Si vous créez un type de données défini par l’utilisateur pour stocker ces valeurs, utilisez les types de données SINT ou INT correspondants.

• Si vous incluez des membres qui représentent des dispositifs d’E/S, vous devez utiliser la logique à relais pour copier les données entre les membres de la structure et les points d’E/S correspondants. Voir « Mise en buffer des E/S », page 12-1.

• Lorsque vous utilisez les types de données BOOL, SINT ou INT, listez les membres qui utilisent le même type l’un après l’autre :

• Vous pouvez utiliser des tableaux unidimensionnels.

plus performant

BOOL

BOOL

BOOL

DINT

DINT

moins performant

BOOL

DINT

BOOL

DINT

BOOL

Publication 1756-PM001E-FR-P - Août 2002

Page 417: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Glossaire 41

• Vous pouvez créer, modifier et effacer les types de données définis par l’utilisateur uniquement pendant la programmation hors ligne.

• Si vous modifiez un type de données défini par l’utilisateur et que vous en changez la taille, la valeur de tout point qui utilise ce type de données est zéro (0).

• Pour copier des données dans une structure, utilisez une instruction COP. Voir la Automate Logix5000 - Jeu d'instructions - Manuel de référence (publication 1756-RM003).

Voir structure.

type de données optimal

Type de données effectivement utilisé par une instruction Logix5000 (en principe les types de données DINT et REAL).

• Dans les manuels contenant le jeu d’instructions, un type de données en caractères gras indique un type de données optimal.

• Les instructions sont exécutées plus rapidement et consomment moins de mémoire si tous les opérandes de l’instruction utilisent :– le même type de données ;– un type de données optimal.

• Si vous combinez des types de données et utilisez des points qui ne sont pas du type de données optimal, l’automate convertit les données selon les règles suivantes.

– Certains des opérandes sont-ils des valeurs REAL ?

– Une fois l’instruction exécutée, le résultat (valeur DINT ou REAL) est converti au type de données de destination, si nécessaire.

• La conversion de données prenant plus de temps et de mémoire, vous pouvez augmenter les performances de vos programmes en :

– utilisant le même type de données dans toute l’instruction ;– minimisant l’utilisation des types de données SINT ou INT.

Autrement dit, n’utilisez que des points DINT ou des points REAL, ainsi que des valeurs immédiates, dans vos instructions.

Si les opérandes d’entrée (ex. source, point dans une expression, limite) sont convertis en

Oui REAL

Non DINT

Publication 1756-PM001E-FR-P - Août 2002

Page 418: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

42 Glossaire

• Le tableau suivant résume la façon dont l’automate convertit les données d’un type de données à un autre :

V valeur immédiate

Valeur réelle ou d’entier de 32 bits signé. Ce n’est pas un point qui stocke une valeur.

Conversion Résultat

grand nombre entier en nombre entier plus petit

L’automate coupe la partie supérieure du nombre entier élevé et crée un dépassement supérieur.

Par exemple :

Décimal Binaire

DINT 65,665 0000_0000_0000_0001_0000_0000_1000_0001

INT 129 0000_0000_1000_0001

SINT -127 1000_0001

SINT ou INT en REAL Aucune précision des données n’est perdue.

DINT en REAL Une certaine précision des données peut être perdue. Les deux types de données stockent les données dans 32 bits, mais le type REAL utilise une partie des 32 bits pour stocker la valeur de l’exposant. Si une certain précision est perdue, l’automate fait la coupure dans la portion la moins significative du DINT.

REAL en nombre entier L’automate arrondit la partie fractionnaire et coupe la partie supérieure de la partie non fractionnaire. Si des données sont perdues, l’automate active l’indicateur d’état de dépassement supérieur.

Les nombres sont arrondis ainsi :• Les nombres différents de x.5 sont arrondis au nombre le plus proche.• X.5 est arrondi au nombre pair le plus proche.

Par exemple :

REAL (source) DINT (résultat)

-2,5 -2

-1,6 -2

-1,5 -2

-1,4 -1

1,4 1

1,5 2

1,6 2

2,5 2

Publication 1756-PM001E-FR-P - Août 2002

Page 419: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Index

Aaction 5-17

ajouter 5-15attribuer l'ordre 5-20attribuer un qualificateur 5-16booléenne 4-18booléenne ou non booléenne 4-17configurer 5-16non booléenne 4-17programmation 5-18programmer 4-17qualificateur 4-21réinitialiser 4-37renommer 5-15stocker 4-37type de données 4-19utilisation du texte structuré 5-18utiliser une expression 5-17

action booléenne 4-18, 5-17programmer 4-18

activerforçage 18-2

adressepoint

diagramme de blocs fonctionnels 7-4logique à relais 8-8, 8-11

adresse indirecte 11-1attribuer 11-1effacement d'un défaut majeur 19-6

affectationnon rémanente 6-3rémanente 6-2

alarmegraphe de fonctionnement séquentiel 4-26, 5-11

aliascréer 10-3utiliser 10-1

arrêtgraphe de fonctionnement séquentiel 4-40type de données 4-42

arrêt immédiatautomate 20-1

arrêt immédiat de l'automate 20-1ASCII

attribution de texte structuré 6-4comparaison de caractères 17-4, 17-9configuration du port série 16-3configuration du protocole utilisateur 16-5connexion d'un équipement 16-2construction d'une chaîne 17-17conversion de caractères 17-11décodage d'un message 17-13écriture de caractères 16-14

extraction de caractères 17-2lecture de caractères 16-9manipulation de caractères 17-1organisation des données 16-8rechercher des caractères 17-4saisie de caractères 16-21

attributioncaractère ASCII 6-4

automatearrêt immédiat 20-1charger 13-3informations sur la mémoire 9-5mémoire non volatile 23-3mode 13-5modifier les propriétés 1-3

Bboucle de retour

diagramme de blocs fonctionnels 7-8boucle non résolue

diagramme de blocs fonctionnels 7-8branche

graphe de fonctionnement séquentiel 4-11, 5-4, 5-5logique à relais 8-2

branche de sélectionattribuer des priorités 5-7créer 5-5présentation 4-13

branche simultanée 4-15entrer 5-4forçage 18-9, 18-12passer par 18-9

bufferE/S 12-1

Ccarte CompactFlash industrielle 1784-CF64 23-4CASE 6-15chaîne

comparaison de caractères 17-4, 17-9conversion de caractères 17-11création 17-17écriture de caractères 16-14évaluation en texte structuré 6-8extraction de caractères 17-2lecture de caractères 16-9manipulation 17-1organisation des données 16-8rechercher dans un tableau de caractères 17-4saisie de caractères 16-21type de données 16-8

chargement d'un projet 23-8charger 13-3

Publication 1756-PM001E-FR-P - Août 2002

Page 420: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

ii Index

clé source 24-1code à barres

17-4caractères de test 17-4, 17-9extraction de caractères 17-2

codesdéfaut majeur A-1défaut mineur A-3

commande Programme/Opérateurprésentation 7-12

commentairestexte structuré 6-27

communicationautres automates 14-1

comparaisoncaractères ASCII 17-4, 17-9

condition de ligne 8-4configuration

chargement à partir de la mémoire non volatile 23-5,23-8

driver 13-1exécution d'un graphe de fonctionnement séquentiel

4-44port série pour ASCII 16-3protocole utilisateur pour ASCII 16-5sous-programme principal 2-12

configureraction 5-16alarme 5-11étape 5-10exécution d'un graphe de fonctionnement séquentiel

5-26conformité CEI 61131-3

définitions des données B-2introduction B-1jeu d'instructions B-4langage de programmation B-3portabilité des programmes B-4système d'exploitation B-2tableaux B-5

consommernombres entiers à partir de PLC-5C 14-9point 14-1

ControlNetconfiguration de driver 13-1produire et consommer des données 14-1

conversioncaractères ASCII 17-11

créationchaîne 17-17driver 13-1programme 2-10sous-programme 2-11tâche périodique 2-9

type de données STRING 16-8créer

alias 10-3fichier de projet 1-1point 3-9, 8-11

diagramme de blocs fonctionnels 7-20point à l'aide d'Excel 3-10structure 3-7tableau 3-9type de données défini par l'utilisateur 3-7

Ddéfaut

adresse indirecte 19-6codes de défaut majeur A-1codes de défaut mineur A-3développement d'un sous-programme pour effacer un

défaut 19-1développer un sous-programme pour effacer un défaut

22-2effacer 13-6, 19-1gestion des défauts mineurs 21-1pendant la pré-scrutation 19-6test d'un sous-programme de gestion des défauts 19-9

défaut défini par l'utilisateurcréation 20-1

défaut majeurcodes A-1développement d'un sous-programme de gestion des

défauts 19-1développer un sous-programme de gestion des défauts

22-2défaut mineur

codes A-3effacer 21-1logique 21-1

dernière scrutationgraphe de fonctionnement séquentiel 4-29

désactiverforçage 18-3, 18-13

descriptiontexte structuré 6-27

diagramme de bloc fonctionnelforcer une valeur 18-1

diagramme de blocs fonctionnelsafficher une borne 7-18ajouter un élément 7-16ajouter une page 7-16applications pour 2-5attribuer une valeur immédiate 7-22choisir des éléments 7-3connecter des éléments 7-19créer une temporisation de scrutation 7-10

Publication 1756-PM001E-FR-P - Août 2002

Page 421: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Index iii

masquer une borne 7-18ordre d'exécution 7-5organiser les pages 7-2renommer un bloc 7-21résoudre le flux de données entre des blocs 7-10résoudre une boucle 7-8, 7-19verrouillage des données 7-5

documentationafficher ou masquer dans un graphe de fonctionnement

séquentiel 5-24documenter

graphe de fonctionnement séquentiel 5-21texte structuré 6-27

donnéesASCII 16-8définitions B-2forçage 18-6, 18-8produire et consommer 14-1saisie de caractères ASCII 16-21

données systèmeaccéder 9-3

dossierfermer 2-7ouvrir 2-7

driverconfiguration 13-1

EE/S

buffer 12-1synchroniser avec la logique 12-1

écriturecaractères ASCII 16-14

effacerdéfaut majeur 13-6, 19-1défaut mineur 21-1mémoire non volatile 23-11

enregistrer 1-3enregistrer sous 1-3entrer

action 5-15adresse 8-11branche de sélection 5-5branche simultanée 5-4élément de bloc fonctionnel 7-16graphe de fonctionnement séquentiel 5-2ICON 7-23logique à relais 8-10OCON 7-23

envoyercaractères ASCII 16-14

étapeajouter une action 5-15

alarme 4-26attribuer un temps de présélection 5-10branche de sélection 4-13branche simultanée 4-15configurer 5-10configurer une alarme 5-11définition 4-6organisation dans un graphe de fonctionnement

séquentiel 4-11renommer 5-10séquence 4-13temporisateur 4-26type de données 4-8

étatforçage 18-4mémoire 9-5surveiller 9-1, 9-3

Ethernetconfiguration de driver 13-1produire et consommer des points 14-1

exécutiongraphe de fonctionnement séquentiel 4-45, 5-26

expressionexpression booléenne

graphe de fonctionnement séquentiel 4-24,5-13

texte structuré 6-4expression numérique

graphe de fonctionnement séquentiel 5-11,5-17

texte structuré 6-4ordre d'exécution

texte structuré 6-10texte structuré

fonctions 6-5opérateurs arithmétiques 6-5opérateurs de relation 6-7opérateurs logiques 6-8opérateurs sur bits 6-9présentation 6-4

expression booléennegraphe de fonctionnement séquentiel 4-24, 5-13texte structuré 6-4

expression numérique 5-11, 5-17, 6-4extraction

caractères ASCII 17-2

Ffenêtre d'organisation de l'automate

naviguer 2-7ouvrir un sous-programme 2-8

fichier de projet

Publication 1756-PM001E-FR-P - Août 2002

Page 422: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

iv Index

créer 1-1fonctions

texte structuré 6-5FOR…DO 6-18forçage

activer 18-2désactiver 18-3, 18-13graphe de fonctionnement séquentiel 18-9, 18-12options 18-5point 18-6, 18-8précautions de sécurité 18-2supprimer 18-3, 18-13surveiller 18-4voyant 18-4

Ggraphe de fonctionnement séquentiel

actionappeler un sous-programme 5-19attribuer l'ordre 5-20configurer 5-16entrer 5-15présentation 4-17programmer 5-18renommer 5-15utiliser une action booléenne 4-18

action booléenne 4-18afficher ou masquer la documentation 5-24appeler un sous-programme 5-19applications pour 2-5arrêt 4-40branche de sélection

attribuer des priorités 5-7créer 5-5présentation 4-13

branche simultanéecréer 5-4présentation 4-15

configurer l'exécution 5-26définition des tâches 4-5dernière scrutation 4-29documenter 5-21entrer un nouvel élément 5-2étape

configurer 5-10définition 4-6organisation 4-11présentation 4-6renommer 5-10

exécutionconfiguration 4-44

diagrammes 4-45pause 4-45

expression numérique 5-11, 5-17forcer un élément 18-1, 18-9, 18-12imbriquer 4-43liaison 4-16option de réinitialisation automatique 4-34option de réinitialisation par programme 4-32option don't scan (ne pas scruter) 4-31organisation d'un projet 4-6organisation des étapes 4-11passer par

branche simultanée 18-9transition 18-9

passer par une branche simultanée 18-9passer par une transition 18-9pause d'un SFC 4-45positionnement

SFC 4-43, 4-45qualificateur 4-21redémarrer 4-41réinitialisation

données 4-29SFC 4-41

retour à l'étape précédente 5-8séquence 4-13transition

présentation 4-22programmer 5-13renommer 5-13

zone de texte 5-23

IICON

ajouter 7-23choisir 7-3entrer 7-16

IF...THEN 6-12instruction de test

texte structuré 6-11instruction EOT 4-25instruction SFP 4-45instruction SFR 4-41, 4-43, 4-45IREF

choisir 7-3entrer 7-16pour attribuer une valeur immédiate 7-22verrouillage des données 7-5

Jjeu d'instructions B-4

Publication 1756-PM001E-FR-P - Août 2002

Page 423: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Index v

Llangage de programmation

choix 2-5conformité CEI 61131-3 B-3

lecturecaractères ASCII 16-9

liaisondiagramme de blocs fonctionnels 7-5, 7-8, 7-18graphe de fonctionnement séquentiel 4-16, 5-8

logiciel Security Server 24-12logiciel Security Server de RSI 24-12logique à relais

applications pour 2-5attribuer une valeur immédiate 8-13branche 8-2condition de ligne 8-4contourner une valeur 18-1développer 8-5entrer 8-10forcer une valeur 18-1organiser les instructions d'entrée 8-6organiser les instructions de sortie 8-7

Mmanipulation de chaîne 17-1marquer comme booléenne 5-17mémoire 9-5mémoire non volatile

automates acceptés 23-3carte CompactFlash industrielle 1784-CF64 23-4chargement d'un projet 23-8effacer 23-11options de chargement d'une image 23-5présentation 23-1stockage d'un projet 23-5vérification d'un chargement 23-10

messagedécodage d'une chaîne 17-13vers plusieurs automates 14-13vers un seul automate 14-11

modeautomate 13-5

mode d'exécution 13-5mode programme 13-5mode test 13-5

Nne pas scruter

graphe de fonctionnement séquentiel 4-31nom

nom du point 7-4, 8-8numéro d'emplacement 1-3

OOCON

ajouter 7-23choisir 7-3entrer 7-16

opérateursordre d'exécution

texte structuré 6-10opérateurs arithmétiques

texte structuré 6-5opérateurs de relation

texte structuré 6-7opérateurs logiques

texte structuré 6-8opérateurs mathématiques

texte structuré 6-5opérateurs sur bits

texte structuré 6-9option de réinitialisation par programme 4-32ordre d'exécution

diagramme de blocs fonctionnels 7-5expression en texte structuré 6-10

OREFchoisir 7-3entrer 7-16

organisationchaînes 16-8point 3-1structure 3-1tableau 3-1

outil de protection de la source de RSLogix 5000 24-1ouvrir

sous-programme 2-8

Ppage

ajouter 7-16connexion 7-23diagramme de blocs fonctionnels 7-2

passer parbranche simultanée 18-9transition 18-9

pause d'un SFC 4-45PLC-5C

partage des données 14-6, 14-7, 14-9poids

conversion 17-11point

attribuer 8-11diagramme de blocs fonctionnels 7-20

chaîne 16-8choisir un nom 7-4, 8-8créer 3-9, 8-11

Publication 1756-PM001E-FR-P - Août 2002

Page 424: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

vi Index

créer à l'aide d'Excel 3-10créer un alias 10-3entrer 8-11forçage 18-6, 18-8organisation 3-1organiser pour un message 14-11partager avec PLC-5C 14-6, 14-7, 14-9produire et consommer 14-1produire tableau de grande taille 15-1

positionner un SFC 4-43, 4-45post-scrutation

graphe de fonctionnement séquentiel 4-29texte structuré 6-3

prendre les données disponibles 7-8, 7-10, 7-19pré-scrutation

effacement d'un défaut majeur 19-6priorité

branche de sélection 5-7tâche périodique 2-3

produirepoint 14-1points pour PLC-5C 14-6, 14-7tableau de grande taille 15-1

programmecréation 2-10portabilité B-4sous-programme principal 2-12

programmeraction 4-17, 5-18action booléenne 4-18transition 5-13

projetchargement à partir de la mémoire non volatile 23-5,

23-8charger 13-3mémoire non volatile 23-1protection 24-1, 24-12restriction de l'accès 24-12stockage dans la mémoire non volatile 23-5transférer 13-6vérification 2-12

protectionprojet 24-1, 24-12sous-programme 24-1

protection de la source du sous-programme 24-1protocole utilisateur

configuration pour ASCII 16-5

Qqualificateur

attribuer 5-16choix 4-21

Rrechercher un code à barres 17-4redémarrer

graphe de fonctionnement séquentiel 4-41réinitialisation

SFC 4-41réinitialisation automatique

graphe de fonctionnement séquentiel 4-34réinitialiser

action 4-37renommer

action 5-15bloc fonctionnel 7-21étape 5-10transition 5-13

REPEAT…UNTIL 6-24RSLinx

configuration 13-1

Ssaisie

caractères ASCII 16-21saut

graphe de fonctionnement séquentiel 4-16sécurité

protection d'un projet 24-12protection d'un sous-programme 24-1

sériecâblage 16-2configuration du port pour ASCII 16-3connexion d'un équipement ASCII 16-2

sous-programmecomme transition 4-25configuration comme sous-programme principal 2-12création 2-11imbriquer dans le graphe de fonctionnement séquentiel

4-43ouvrir 2-8protection 24-1restriction de l'accès 24-1vérification 5-27, 7-24, 8-14

sous-programme principalutilisation d'un graphe de fonctionnement séquentiel 4-6

stockageprojet 23-5

stockeraction 4-37

structurecréer 3-7organisation 3-1SFC_ACTION 4-19SFC_STEP 4-8SFC_STOP 4-42

Publication 1756-PM001E-FR-P - Août 2002

Page 425: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Index vii

structure SFC_ACTION 4-19structure SFC_STEP 4-8structure SFC_STOP 4-42supprimer

forçage 18-3, 18-13surveiller les forçages 18-4symbole

créer 10-1système d'exploitation B-2

Ttableau

créer 3-9organisation 3-1parcourir 11-1produire tableau de grande taille 15-1

tableau de donnée 3-1tableaux de conformité B-5tâche

définition 2-4, 4-5tâche périodique

application pour 2-6, 4-5création 2-9

taille du châssis 1-3temporisation de scrutation

diagramme de blocs fonctionnels 7-10test d'un sous-programme de gestion des défauts 19-9texte structuré

affectation 6-2affectation non rémanente 6-3applications pour 2-5attribuer un caractère ASCII 6-4CASE 6-15commentaires 5-21, 6-27composants 6-1dans une action 5-18évaluation des chaînes 6-8expression 6-4expression numérique 6-4fonctions 6-5FOR…DO 6-18forcer une valeur 18-1IF...THEN 6-12instructions de test 6-11opérateurs arithmétiques 6-5

opérateurs de relation 6-7opérateurs logiques 6-8opérateurs sur bits 6-9REPEAT…UNTIL 6-24WHILE…DO 6-21

transférer 13-6transition

appeler un sous-programme 5-14choisir le mode de programmation 4-24définition 4-22expression booléenne 4-24forçage 18-9, 18-12instruction EOT 4-25passer par 18-9programmer 5-13renommer 5-13utilisation d'un sous-programme 4-25

type de données défini par l'utilisateurcréer 3-7

type de données STRINGcréation 16-8

Vvaleur immédiate

diagramme de blocs fonctionnels 7-22logique à relais 8-13

vérificationprojet 2-12sous-programme 5-27, 7-24, 8-14

verrouillage des donnéesdiagramme de blocs fonctionnels 7-5

voyantforçage 18-4

WWHILE…DO 6-21

Zzone de texte

afficher ou masquer dans un graphe de fonctionnementséquentiel 5-24

graphe de fonctionnement séquentiel 5-23

Publication 1756-PM001E-FR-P - Août 2002

Page 426: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

viii Index

Publication 1756-PM001E-FR-P - Août 2002

Page 427: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Codes des caractères ASCII

Caractère Déc. Hex.

[ctrl-@] NUL 0 $00

[ctrl-A] SOH 1 $01

[ctrl-B] STX 2 $02

[ctrl-C] ETX 3 $03

[ctrl-D] EOT 4 $04

[ctrl-E] ENQ 5 $05

[ctrl-F] ACK 6 $06

[ctrl-G] BEL 7 $07

[ctrl-H] BS 8 $08

[ctrl-I] HT 9 $09

[ctrl-J] LF 10 $l ($0A)

[ctrl-K] VT 11 $0B

[ctrl-L] FF 12 $0C

[ctrl-M] CR 13 $r ($0D)

[ctrl-N] SO 14 $0E

[ctrl-O] SI 15 $0F

[ctrl-P] DLE 16 $10

[ctrl-Q] DC1 17 $11

[ctrl-R] DC2 18 $12

[ctrl-S] DC3 19 $13

[ctrl-T] DC4 20 $14

[ctrl-U] NAK 21 $15

[ctrl-V] SYN 22 $16

[ctrl-W] ETB 23 $17

[ctrl-X] CAN 24 $18

[ctrl-Y] EM 25 $19

[ctrl-Z] SUB 26 $1A

ctrl-[ ESC 27 $1B

[ctrl-\] FS 28 $1C

ctrl-] GS 29 $1D

[ctrl-^] RS 30 $1E

[ctrl-_] US 31 $1F

ESPACE 32 $20

! 33 $21

“ 34 $22

# 35 $23

$ 36 $24

% 37 $25

& 38 $26

‘ 39 $27

( 40 $28

) 41 $29

* 42 $2A

+ 43 $2B

, 44 $2C

- 45 $2D

. 46 $2E

/ 47 $2F

0 48 $30

1 49 $31

2 50 $32

3 51 $33

4 52 $34

5 53 $35

6 54 $36

7 55 $37

8 56 $38

9 57 $39

: 58 $3A

; 59 $3B

< 60 $3C

= 61 $3D

> 62 $3E

? 63 $3F

@ 64 $40

A 65 $41

B 66 $42

C 67 $43

D 68 $44

E 69 $45

F 70 $46

G 71 $47

H 72 $48

I 73 $49

J 74 $4A

K 75 $4B

Caractère Déc. Hex.

L 76 $4C

M 77 $4D

N 78 $4E

O 79 $4F

P 80 $50

Q 81 $51

R 82 $52

S 83 $53

T 84 $54

U 85 $55

V 86 $56

W 87 $57

X 88 $58

Y 89 $59

Z 90 $5A

[ 91 $5B

\ 92 $5C

] 93 $5D

^ 94 $5E

_ 95 $5F

‘ 96 $60

a 97 $61

B 98 $62

C 99 $63

D 100 $64

E 101 $65

F 102 $66

g 103 $67

H 104 $68

I 105 $69

j 106 $6A

k 107 $6B

L 108 $6C

M 109 $6D

N 110 $6E

O 111 $6F

P 112 $70

q 113 $71

Caractère Déc. Hex.

R 114 $72

S 115 $73

T 116 $74

U 117 $75

v 118 $76

W 119 $77

X 120 $78

y 121 $79

z 122 $7A

{ 123 $7B

| 124 $7C

} 125 $7D

~ 126 $7E

DEL 127 $7F

Caractère Déc. Hex.

Page 428: Automate Logix5000™ - Procédures générales · Automate Logix5000™ - Procédures générales 1756-Lx, 1769-Lx, 17 89-Lx, 1794-Lx, PowerFlex 700 Manuel de programmation

Publication 1756-PM001E-FR-P - Août 2002 1 PN 957678-88Remplace la publication 1756-PM001D-FR-P – Novembre 2001 © 2002 Rockwell Automation. Tous droits réservés.

Assistance Rockwell Automation

Pour obtenir une assistance technique, appelez votre représentant Rockwell Automation local ou contactez Rockwell Automation de l’une des façons suivantes :

Quatrième de couverture

Allen-Bradley, ControlLogix, DH+, Logix5000, PLC-5, RSLogix 5000, RSLinx, RSNetWorx et SLC sont des marques commerciales de Rockwell Automation.

ControlNet est une marque commerciale de ControlNet International, Ltd.

Ethernet est une marque commerciale de Digital Equipment Corporation, Intel et Xerox Corporation.

Téléphone Etats-Unis/Canada 1.440.646.5800

Pour les autres pays

Vous pouvez obtenir le numéro de téléphone pour votre pays par Internet :

1. Allez sur le site http://www.ab.com.2. Cliquez sur le lien Product Support

(http://support.automation.rockwell.com).3. Sous la rubrique Support Centers, cliquez

sur Contact Information.

Internet ⇒ 1. Allez sur le site http://www.ab.com.2. Cliquez sur le lien Product Support

(http://support.automation.rockwell.com).