Télécharger Imprimer la page

Publicité

Liens rapides

Texte structuré des automates
Logix5000
Manuel de programmation
1756 ControlLogix,
(Références
1769 CompactLogix, 1789 SoftLogix,
1794 FlexLogix, PowerFlex 700S
avec DriveLogix
)

Publicité

loading

Sommaire des Matières pour Rockwell Automation Logix5000 1756 ControlLogix

  • Page 1 Texte structuré des automates Logix5000 Manuel de programmation 1756 ControlLogix, (Références 1769 CompactLogix, 1789 SoftLogix, 1794 FlexLogix, PowerFlex 700S avec DriveLogix...
  • Page 2 équipements électroniques, les personnes qui en sont responsables doivent s’assurer de l’acceptabilité de chaque application. La société Rockwell Automation, Inc. ne saurait en aucun cas être tenue pour responsable ni être redevable des dommages indirects ou résultant de l’utilisation ou de l’application de cet équipement.
  • Page 3 Table des matières Préface Objet de ce manuel....... . 5 Conventions utilisées dans ce manuel .
  • Page 4 Table des matières Publication 1756-PM007B-FR-P – Juillet 2008...
  • Page 5 Préface Objet de ce manuel Ce manuel indique comment programmer les automates Logix5000 à l’aide du langage de programmation en texte structuré. Il fait partie d’un ensemble de manuels relatifs aux procédures communes de programmation et d’exploitation des automates Logix5000. Pour connaître la liste complète des manuels de procédures communes, reportez-vous à...
  • Page 6 Préface Notes : Publication 1756-PM007B-FR-P – Juillet 2008...
  • Page 7 Chapter Programmation en texte structuré Introduction Le texte structuré est un langage de programmation textuel qui utilise des déclarations pour définir ce qui doit être exécuté. • Le texte structuré n’est pas sensible à la casse. • Utilisez des tabulations et des retours chariot (lignes séparées) pour faciliter la lecture de votre texte structuré.
  • Page 8 Programmation en texte structuré Chapitre1 Terme Définition Exemples Instruction Une instruction est une déclaration autonome. instruction(); (voir page 18) Une instruction utilise des parenthèses pour contenir ses opérandes. Selon l’instruction, il peut y avoir zéro, une ou plusieurs opérandes. instruction(opérande); Lorsqu’elle est exécutée, une instruction peut générer une ou plusieurs valeurs appartenant à...
  • Page 9 Chapitre1 Programmation en texte structuré Affectations Utilisez une affectation pour modifier la valeur stockée dans un point. La syntaxe d’une affectation est la suivante : point := expression; où : Elément Description point Représente le point qui reçoit la nouvelle valeur. Le point doit être de type BOOL, SINT, INT, DINT ou REAL.
  • Page 10 Programmation en texte structuré Chapitre1 Spécification d’une affectation non rémanente L’affectation non rémanente est différente de l’affectation standard décrite précédemment car le point d’une affectation non rémanente est remis à zéro chaque fois que l’automate : • passe en mode d’exécution ; •...
  • Page 11 Chapitre1 Programmation en texte structuré Attribution d’un caractère ASCII à une chaîne de caractères Utilisez l’opérateur d’affectation pour attribuer un caractère ASCII à un élément du membre de données d’un point de chaîne. Pour attribuer un caractère, spécifiez la valeur du caractère ou spécifiez le nom du point, le membre de données et l’élément du caractère.
  • Page 12 Programmation en texte structuré Chapitre1 En texte structuré, vous utilisez deux types d’expression : Expression booléenne : une expression qui produit la valeur booléenne 1 (vrai) ou 0 (faux). • Une expression booléenne utilise des points booléens, des opérateurs relationnels et logiques pour comparer des valeurs ou vérifier si des conditions sont vraies ou fausses.
  • Page 13 Chapitre1 Programmation en texte structuré Utilisation des opérateurs et des fonctions arithmétiques Vous pouvez combiner de nombreux opérateurs et fonctions dans des expressions arithmétiques. Les opérateurs arithmétiques calculent de nouvelles valeurs. Pour : Utilisez cet opérateur Type de données optimal additionner DINT, REAL soustraire/inverser...
  • Page 14 Programmation en texte structuré Chapitre1 Par exemple : Utilisez ce format Exemple Dans cette situation Vous écririez valeur1 opérateur valeur2 Si gain_4 et gain_4_adj sont des points DINT et gain_4_adj := gain_4+15; que votre spécification indique : « Ajouter 15 à gain_4 et stocker le résultat dans gain_4_adj ».
  • Page 15 Chapitre1 Programmation en texte structuré Par exemple : Utilisez ce format EXEMPLE Dans cette situation Vous écririez valeur1 opérateur valeur2 Si temp est un point DINT et que votre IF temp<100 THEN... spécification dit : « Si temp est inférieur à 100° alors…»...
  • Page 16 Programmation en texte structuré Chapitre1 Utilisation des opérateurs logiques Les opérateurs logiques vous permettent de contrôler si de multiples conditions sont vraies ou fausses. Le résultat d’une opération logique est une valeur booléenne. Si la comparaison est Le résultat est Vraie Fausse Utilisez ces opérateurs logiques :...
  • Page 17 Chapitre1 Programmation en texte structuré Utilisation des opérateurs sur bits Les opérateurs sur bits manipulent les bits inclus dans une valeur en fonction de deux valeurs. Pour Utilisez cet opérateur Type de données optimal ET sur bits &, AND DINT OU sur bits DINT Ou exclusif sur bits...
  • Page 18 Programmation en texte structuré Chapitre1 Instructions Les déclarations de texte structuré peuvent aussi être des instructions. Une instruction de texte structuré s’exécute chaque fois qu’elle est scrutée. Une instruction de texte structuré incluse dans une instruction de test s’exécute chaque fois que les conditions de l’instruction de test sont vraies.
  • Page 19 Chapitre1 Programmation en texte structuré l’instruction en texte structuré. Utilisez un monostable pour déclencher l’exécution. osri_1.InputBit := point_xic; OSRI(osri_1); IF (osri_1.OutputBit) THEN ABL(0,contrôle_série); END_IF; Instructions de test Les instructions de test peuvent être programmées isolément ou imbriqués à l’intérieur d’autres instructions de test. Si vous voulez Utilisez cette instruction de test...
  • Page 20 Programmation en texte structuré Chapitre1 IF...THEN Utilisez IF…THEN pour effectuer des actions si ou quand des conditions spécifiques se produisent. Opérandes : Texte structuré IF expression_booléenne THEN Opérande Type Format Entrer <déclaration>; Expression_ BOOL Point point ou expression boléen(ne) qui END_IF;...
  • Page 21 Chapitre1 Programmation en texte structuré Ce tableau résume les combinaisons de IF, THEN, ELSIF et ELSE. Si vous voulez Alors utilisez cette instruction de test effectuer une action si ou quand des ne pas effectuer d’action quand les IF…THEN conditions sont vraies conditions sont fausses effectuer une autre action si les IF…THEN…ELSE...
  • Page 22 Programmation en texte structuré Chapitre1 Exemple 3 : IF…THEN…ELSE Si vous voulez ceci Saisissez ce texte structuré Si le détecteur domino bas = bas (On) et que le détecteur IF Domino.Bas & Domino.Haut THEN domino haut = non haut (On) alors vanne entrée = ouvert (On) Domino.Entrée [:=] 1;...
  • Page 23 Chapitre1 Programmation en texte structuré CASE...OF Utilisez CASE pour choisir l’action à effectuer en fonction d’une valeur numérique. Opérandes : texte structuré CASE expression_numérique OF Opérande Type Format Entrer sélecteur1: déclaration; expression_ SINT Point point ou expression qui génère un sélecteurN: déclaration;...
  • Page 24 Programmation en texte structuré Chapitre1 La syntaxe de saisie des valeurs de sélection est : Quand le sélecteur est Entrer une valeur valeur : déclaration plusieurs valeurs distinctes valeur1, valeur2, valeurN : <déclaration>; Utilisez une virgule (,) pour séparer chaque valeur. une plage de valeurs valeur1...valeurN : <déclaration>;...
  • Page 25 Chapitre1 Programmation en texte structuré Exemple Si vous souhaitez ceci Saisissez ce texte structuré Si numéro de recette = 1 alors CASE numéro_recette OF Ingrédient A sortie 1 = ouverte (1) Ingrédient_A.Sortie_1 :=1; Ingrédient B sortie 4 = ouverte (1) Ingrédient_B.Sortie_4 :=1;...
  • Page 26 Programmation en texte structuré Chapitre1 FOR…DO Utilisez la boucle FOR…DO pour exécuter quelque chose un nombre de fois spécifique avant de faire autre chose. Opérandes : texte structuré FOR comptage:= valeur_initiale TO Opérande Type Format Description valeur_finale BY incrément DO <déclaration>;...
  • Page 27 Chapitre1 Programmation en texte structuré Description : La syntaxe est : FOR comptage := valeur_initiale TO valeur_finale Facultatif { BY incrément Si vous n’indiquez pas d’incrément, la boucle s’incrémente de 1. <déclaration >; IF expression_booléenne THEN EXIT; Si vous voulez quitter la boucle prématurément sous certaines conditions, Facultatif END_IF;...
  • Page 28 Programmation en texte structuré Chapitre1 Exemple 1 : Si vous voulez ceci Saisissez ce texte structuré effacer les bits 0 – 31 dans un tableau de booléens : FOR indexage:=0 TO 31 BY 1 DO tableau[indexage] := 0; 1. Initialiser le point d’indexage à 0. END_FOR;...
  • Page 29 Chapitre1 Programmation en texte structuré WHILE…DO Utilisez la boucle WHILE…DO pour continuer de faire quelque chose tant que certaines conditions sont vraies. Opérandes : Texte structuré WHILE expression_booléenne DO Opérande Type Format Entrer <déclaration>; Expression_ BOOL Point Point ou expression booléen qui génère END_WHILE;...
  • Page 30 Programmation en texte structuré Chapitre1 Ces schémas montrent comment une boucle WHILE...DO s’exécute et comment une déclaration EXIT permet de quitter la boucle prématurément. Expression Expression Fausse Fausse booléenne booléenne Vraie Vraie déclaration 1 déclaration 1 déclaration 2 déclaration 2 déclaration 3 déclaration 3 Reste du sous-programme...
  • Page 31 Chapitre1 Programmation en texte structuré Exemple 2 : Si vous voulez ceci Saisissez ce texte structuré Déplacer des caractères ASCII depuis un tableau SINT vers un numéro_élément := 0; point de chaîne. (Dans un tableau SINT, chaque élément SIZE(tableau_SINT, 0, taille_tableau_SINT); contient un caractère).
  • Page 32 Programmation en texte structuré Chapitre1 REPEAT…UNTIL Utilisez la boucle REPEAT…UNTIL pour continuer à effectuer une action jusqu’à ce que les conditions soient vraies. Opérandes : texte structuré REPEAT Opérande Type Format Entrer <déclaration>; Expression_ BOOL Point point ou expression booléen qui génère UNTIL expression_booléenne booléenne une valeur booléenne (expression...
  • Page 33 Chapitre1 Programmation en texte structuré Ces schémas montrent comment une boucle REPEAT...UNTIL s’exécute et comment une déclaration EXIT permet de quitter la boucle prématurément. déclaration 1 déclaration 1 déclaration 2 déclaration 2 déclaration 3 déclaration 3 Vraie Expression booléenne Fausse Vraie Expression booléenne Reste du sous-programme...
  • Page 34 Programmation en texte structuré Chapitre1 Exemple 2 : Si vous voulez ceci Saisissez ce texte structuré Déplacer des caractères ASCII depuis un tableau SINT vers un numéro_élément := 0; point de chaîne. (Dans un tableau SINT, chaque élément SIZE(tableau_SINT, 0, taille_tableau_SINT); contient un caractère).
  • Page 35 Chapitre1 Programmation en texte structuré Commentaires Pour faciliter l’interprétation de votre texte structuré, ajoutez-y des commentaires. • Les commentaires vous permettent d’utiliser un langage clair pour décrire le fonctionnement de votre texte structuré. • Les commentaires n’affectent pas l’exécution du texte structuré. Les commentaires de texte structuré...
  • Page 36 Programmation en texte structuré Chapitre1 Par exemple : Format EXEMPLE //commentaire Au début d’une ligne //Contrôler le sens de déplacement du convoyeur IF sens_convoyeur THEN... A la fin d’une ligne ELSE //Si le convoyeur ne se déplace pas, activer le voyant d’alarme voyant := 1;...
  • Page 40 Pour les autres Contactez votre représentant Rockwell Automation pour savoir pays comment procéder. Publication 1756-PM007B-FR-P – Juillet 2008 Remplace la publication 1756-PM007A-FR-P – Juillet 2007 Copyright © 2008 Rockwell Automation, Inc. Tous droits réservés. Imprimé aux Etats-Unis.