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.

NOTE : Aucune limite de taille n'est appliquée à cette section, mais parfois lors de l'attribution d'une grande quantité de valeurs littérales ou l'utilisation de certaines instructions spécifiques, une section peut générer une erreur de génération de code durant la génération de l'application. La solution consiste donc à diviser la section en plusieurs sections pour générer l'application.

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.