Présentation
Le langage de texte structuré (ST) permet notamment d'appeler des blocs fonction, d'exécuter des fonctions et des attributions, d'exécuter des instructions conditionnelles et de répéter des tâches.
Expression
Le langage ST utilise ce que l'on appelle des « expressions ».
Les expressions sont des constructions composées d'opérateurs et d'opérandes qui fournissent une valeur lors de leur exécution.
Opérateur
Les opérateurs sont des symboles représentant les opérations à exécuter.
Opérande
Les opérateurs sont utilisés sur les opérandes. Les opérandes sont des variables, des valeurs littérales, des entrées/sorties FFB, etc.
Procédure
Les instructions permettent d'attribuer les valeurs renvoyées par des expressions à des paramètres réels et de structurer et contrôler les expressions.
Représentation d'une section ST
Représentation d'une section ST :

Taille de la section
La taille d'une ligne d'instruction est limitée à 300 caractères.
La longueur d'une section ST n'est pas limitée dans l'environnement de programmation. La longueur d'une section ST est en général limitée par la taille de la mémoire de l'automate.
Syntaxe
Les identificateurs et les mots clés ne sont pas sensibles à la casse.
Exception : les caractères d'espacement et de tabulation ne sont pas autorisés dans :
mots-clés
valeurs littérales
valeurs
identificateurs
variables
combinaisons [par exemple:
(*
pour les commentaires)]
Ordre de l'exécution
L’interprétation d’une expression consiste à appliquer les opérateurs aux opérandes, selon l'ordre défini par le rang des opérateurs (voir Tableau des opérateurs). L’opérateur de rang le plus élevé dans l'expression est exécuté en premier, l’opérateur de rang inférieur suivant est ensuite exécuté, etc. jusqu’à la fin de l'interprétation. Les opérateurs de même rang sont exécutés de gauche à droite, tels qu'ils sont écrits dans l’expression. Cet ordre peut être modifié avec l'utilisation de parenthèses.
Si, par
exemple, A
, B
, C
et D
ont les valeurs 1, 2, 3 et 4, et sont calculés
comme suit :
A+B-C*D
Le résultat est -9.
Pour le calcul suivant :
(A+B-C)*D
Le résultat sera 0.
Si un opérateur a deux opérandes, l'opérande gauche est exécutée en premier. Par exemple, dans l'expression
SIN(A)*COS(B)
L'expression SIN(A)
est calculée en premier, puis COS(B)
est calculé, et enfin le produit est calculé.
Fonctionnement en cas d'erreur
Les conditions suivantes seront traitées comme des erreurs lors de l'exécution d'une expression :
Division par 0.
Les opérandes n'ont pas le type de données correct pour l'opération.
Le résultat d'une opération numérique dépasse la plage de valeurs de son type de données.
En cas d'erreur lors de l'exécution d'une opération, le bit système correspondant (%S) est activé (si cela est pris en charge par l'automate utilisé).
Conformité CEI
Pour plus d'informations sur la conformité CEI du langage ST, voir Conformité CEI.