Fio banner fr 1 1

Formation automatisme en ligne 3

Tutoriel language Structured Text ou texte structuré ( ST )

Quand et pourquoi choisir le langage Structured text ou texte structuré ou encore littéral structuré ?

Pour programmer des automates,on dispose de 5 languages de programmation standards: le Grafcet,le ladder,le List,le FBD et le ST (structured text ,litteral structuré ou encore texte structuré).Le ladder ou diagramme à échelle est de loin le plus facile à utilisé idéal aussi bien pour les informaticiens que pour les électriciens.Cependant même si le schéma à contacts (LD) est un langage de programmation facile pour les débutants, il peut être très difficile à lire et à comprendre si on réalise de grands projet:on peut facilement se retrouver avec plusieurs pages qui peuvent être fastidieux à décoder. Ainsi,dans ces cas de figure,il peut être important de se tourner vers d'autres langages de programmation évolués et de haut niveau comme le structured text.C'est l'objet de ce tutoriel.

Cours structured text ou texte structure

C'est quoi le structured Text?

Le Texte structuré ou structured Text  est un langage de programmation d'automate  défini par la PLCOpen dans la norme CEI 61131-3. Le langage de programmation est basé sur du texte,comparé au ladder qui est graphique.Au début, il peut sembler préférable d'utiliser un langage de programmation graphique pour la programmation d'automate. Cependant cela reste idéal surtout pour les petits programme. En utilisant le langage structured text, votre programme prendra moins d'espace, et sera plus facile à lire et à comprendre.Un autre avantage est que vous pouvez combiner les différents langages de programmation. Vous pouvez même avoir des blocs fonctionnels contenant des fonctions écrites en texte structuré.
 

Le structured text : un language de programmation haut niveau

Si vous êtes déjà familier avec les langages de programmation comme le C, Python et  Java, le texte structuré sera familier pour vous. La syntaxe du texte structuré ressemble beaucoup au syntaxe des languages de haut niveau avec des boucles, des variables, des conditions etc..Le structured Text ressamble beaucoup au language Pascal.Mais d'autre part, si vous n'avez jamais vu un langage de programmation haut niveau, le texte structuré peut être une excellente introduction à ces types de langages.Avant de lire ce tutoriel, je vous recommande de regarder  ce programme automate écrit en texte structuré. Essayez de voir si vous pouvez comprendre la fonction de ce programme. Ainsi,le Texte structuré est-il  familier pour vous?

Tutoriel structured text

La première chose que vous devez apprendre est la syntaxe du texte structuré.Une fois que vous comprenez la structure, vous comprendrez comment concevoir un programme.A partir de l'exemple ci-dessus, vous pouvez voir que l'ensemble du programme commence avec PROGRAM et se termine avec END_PROGRAM. Tout le reste constitue le programme. Ces deux mots sont les mots-clés délimitant pour les déclarations de programme. Nous verrons ces  mots-clés plus tard.Ne soyez pas confus au sujet de l'END_PROGRAM, parce que votre programme ne sera pas complètement fin ici. Lorsque l'automate atteint la END_PROGRAM le cycle de l'automate recommencera, et votre programme va se répéter.

Cours structured text

Le schéma ci-dessus symbolise la structuration d'un programme texte structuré,comme le ladder ou les autres langages de programmation d'automate,le programme se répétera encore et encore.Si vous êtes habitué à la programmation des microcontrôleurs,cela se traduira comme une boucle infinie en C.

NOTE:
Une chose à ajouter ici est que, lorsque vous programmez en texte structuré, vous aurez souvent pas besoin d'utiliser les instructions PROGRAMM / END_PROGRAM. Ils seront déjà fait par le logiciel de programmation de l'API, vous aurez juste à ajouter votre programme.En text structuré,les instructions sont exécutées ligne par ligne.

La syntaxe du texte structuré

La syntaxe d'un langage de programmation est la définition de la façon dont il est écrit. Comme vous pouvez le voir dans l'exemple, le texte structuré est plein de deux points, virgules et autres symboles. Tous ces symboles ont une signification et sont utilisés pour représenter quelque chose. Certains d'entre eux sont des opérateurs, certains sont des fonctions, des déclarations ou des variables.

Tous les détails de la syntaxe seront expliquées tout au long de ce tutoriel. Mais il ya quelques règles générales pour la syntaxe du texte structuré que vous devriez connaître. Vous n'êtes pas dans l'obligation de mémoriser toutes les règles de syntaxe pour le moment,vous allez vous familiarisé au fur et à mesure que vous pratiquez.

   
- Toutes les déclarations sont terminées par des points-virgules
   
- Le Texte structuré n'est pas sensible à la casse
  

Ce qui est vraiment important de comprendre ici est que, lorsque vous écrivez un programme automate en texte structuré, votre ordinateur va  traduire le programme dans une langue que l'automate peut comprendre.Lorsque vous téléchargez le programme dans l'automate, le logiciel de programmation que vous utilisez se chargera de compiler votre programme. Cela signifie qu'il  traduira le code en une sorte de code machine qui peut être exécuté par l'automate.Le compilateur utilise la syntaxe du langage de programmation et effectuera la traduction au fur et à mesure.Par exemple: A chaque fois que le compilateur voit un point-virgule, il saura que c'est la fin de l'instruction en cours. Le compilateur va donc tout lire jusqu'à ce qu'il atteigne un point-virgule, puis exécuter l'instruction.

 

La syntaxe des commentaires


Dans les langages de programmation textuels vous avez la possibilité d'écrire un texte qui ne soit pas exécuté. Cette fonction est utilisée pour faire des commentaires dans votre code.
Les commentaires sont utilies, et en tant que débutant, vous devriez toujours commenter votre code. Il est plus facile de comprendre votre code plus tard.En texte structuré, vous pouvez soit faire un commentaire de ligne ou plusieurs commentaires en ligne.

Tutoriel litteral structure 1

Tutoriel litteral structure 2

Les  instructions en texte structuré

Une instructuction en texte structuré permet de dire à l'automate ce qu'il doit faire.prenons un example:

Instruction st

Le compilateur va lire cela comme une instruction, parce que quand il atteint le point-virgule, il sait que c'est la fin de l'instruction. Rappelez-vous, les la règle que j'ai énoncé avant :les instructions sont séparées par des points-virgules. Dans cette instruction, vous dites à l'API de créer une variable appelée X et cette variable est de type BOOL.

Les variables en structured text

Revenons maintenant sur les mots-clés je l'ai mentionné auparavant. Comme vous pouvez le voir, la variable X est défini entre deux autres mots clés  VAR et END_VAR.Les mots clés PROGRAMM / END_PROGRAM et VAR / END_VAR délimitent une certaine zone dans votre programme.Le Programm comporte le corps du programme, et la construction  VAR est l'endroit où vous définissez les variables.Tous les quatre sont appelés mots-clés, parce qu'ils sont des mots réservés. Vous ne pouvez pas utiliser ces mots pour autre chose lorsque vous programmez en texte structuré. Par exemple le nom de votre programme ne peut pas être PROGRAMM ou même programm (Le ST est pas sensible à la casse).

Une variable est un endroit où vous pouvez stocker des données.Selon le type de données que vous voulez stocker, il existe plusieurs types de variables disponibles.Par exemple, si vous avez une variable où vous souhaitez stocker un bit avec des valeurs vraie ou fausse, vous pouvez déclarer comme un type booléen. Lorsque vous définissez une variable dans la construction de VAR, vous commencez par donner un nom à votre variable.

Instruction st

Cette déclaration va créer une variable appelée X, avec un type de données BOOL.Soyez conscient que lorsque vous programmez avec certains logiciels comme STEP 7 Siemens ou Rockwell vous ne pourrez pas utiliser le VAR / END_VAR pour déclarer des variables.Sur Step 7, les variables sont souvent appelés tags ou symboles,si vous programmez en texte structuré, vous déclarez votre variable au niveau de la table des variables (comme dans l'image ci-dessous).

Tutoriel tia portal

Extrait formation en ligne TIA Portal :

Les Types de données en texte structuré

Selon la marque de l'automate que vous utilisez, vous aurez  différents types de données disponibles. Dans un automate Siemens vous avez des types de données dans STEP 7 disponibles qui sont similaires à celles du standard de la CEI 61131-3. Mais vous aurez également d'autres types de données uniquement utilisés dans SIEMENS PLC comme le S5TIME.Tous les types de données standard sont définis par l'Organisation PLCOpen et ils font partie des langues de programmation des APIs. Chaque logiciel de programmation d'API avec texte structuré a inclus ces types de données. Dans la norme IEC les types de données
sont divisés en deux catégories: les types de données élémentaires et les types de données dérivés.

Integers:

IEC Data Type Format Range
SINT Short Integer -128 127
INT Integer -32768 32767
DINT Double Integer -2^31 2^31-1
LINT Long Integer -2^63 2^63-1
USINT Unsigned Short Integer 0 255
UINT Unsigned Integer 0 2^16-1
LDINT Long Double Integer 0 2^32-1
ULINT Unsigned Long Integer 0 2^64-1

 

Floating points:

IEC Data Type Format Range
REAL Real Numbers
±10^±38
LREAL Long Real Numbers ±10^±308

 

Time:

IEC Data Type Format Use
TIME Duration of time after an event T#10d4h38m57s12ms
TIME#10d4h38m
DATE Calendar date D#1989-05-22
DATE#1989-05-22
TIME_OF_DAY Time of day TOD#14:32:07
TIME_OF_DAY#14:32:07.77
DATE_AND_TIME Date and time of day DT#1989-06-15-13:56:14.77
DATE_AND_TIME#1989-06-15-13:56:14.77

 

Les types dérivés

  • Structured data types
  • Enumerated data types
  • Sub-ranges data types
  • Array data types

 

Les types de données dérivés sont vos propres types de données personnalisés. Tous les types de données dérivés sont construits en faisant une construction du type de mots-clés et END_TYPE.

Les opérateurs en structured text

Les opérateurs arithmétiques

  • + (addition)
  • (soustraction)
  • * (multiplication)
  • ** (exposant)
  • / (division)
  • MOD (modulo)

 

Les opérateurs de comparaison

  • = (egal)
  • < (inférieur)
  • <= (inférieur ou égal)
  • > (supérieur)
  • >= (supérieur ou égal)
  • <> (différent)

 

Tuto language st

Les opérateurs logiques

  • & ou AND
  • OR
  • XOR
  • NOT

 

L'instruction d'affectation

Cette instruction permet de mettre la variable B dans A.Le symbloe : = symbole est appelé opérateur d'affectation.
 

Affectation st

Une erreur courante consiste à utiliser l'opérateur d'égalité (=) au lieu de l'opérateur d'affectation (: =). Mais même si elles ressemblent à l'autre, il ya une énorme différence.La première  est une expression donc cela permet d'évaluer la ligne et de voir si c'est vraie ou fausse alors que la deuxième est une affectation.

Les conditions IF/ELSE en texte structuré

Condition langage st

La ligne 3 ne sera exécuté que si A est égal à 0.

If else st

Si l'expression booléenne sur la ligne 1 est FAUX, les instructions ci-dessous pourront tout simplement pas être exécutées. Au lieu de cela le compilateur va vérifier l'expression booléenne après le mot clé ELSIF.

If else structure


Les conditions avec Case

La deuxième façon de faire des conditions en texte structuré est avec les instructions CASE

Case structured text

Case langage st

 

Les itérations en langage ST

La boucle For

Boucle for langage st

La boucle While

Boucle while langage st

La boucle Repeat

Il fonctionne à l'inverse de la boucle while. Cette boucle cessera de répéter quand l'expression booléenne est TRUE.

Boucle repeat langage st

Contactez-nous pour vous inscrire à notre formation sur TIA Portal :

Affiche formation tia 30 jours pour vaincre

language structured text st texte structuré langage de programmation

3 votes. Moyenne 2.33 sur 5.

Ajouter un commentaire

Code incorrect ! Essayez à nouveau

 

Cliquez ici pour s'inscrire à la formation TIA Portal

Its plc profesionnal edition 1