Présentation

Le langage de programmation de type Liste d’instructions (IL) vous permet par exemple d’appeler des fonctions et des blocs fonction de façon conditionnelle ou inconditionnelle, de lancer des affectations et d’exécuter des sauts conditionnels ou inconditionnels au sein de la section.

Procédure

Une liste d’instructions se compose d’une chaîne d’instructions.

Chaque instruction commence sur une nouvelle ligne et comprend :

Si plusieurs opérandes sont utilisés, ceux-ci sont séparés par des virgules. Un libellé peut être placé au début de l'instruction. Ce libellé est suivi du signe deux points. Un commentaire peut suivre l'instruction.

Exemple :

Structure du langage de programmation

IL est un langage de programmation dit orienté accumulateur, ce qui signifie que chaque instruction utilise ou modifie le contenu de l’accumulateur (une sorte de mémoire temporaire). La norme CEI 61131 désigne cet accumulateur comme le « résultat ».

Pour cette raison, une liste d'instructions doit toujours commencer par l'opérande LD (Charger en commande accumulateur).

Exemple d’ajout :

Commande

Signification

LD 10

La valeur 10 est chargée dans l'accumulateur.

ADD 25

25 est ajouté au contenu de l’accumulateur.

ST A

Le résultat est stocké dans la variable A.

Le contenu de la variable A et de l'accumulateur est 35. Toute instruction supplémentaire fonctionne avec le contenu de l'accumulateur « 35 » s'il ne commence pas par LD.

Les opérations de comparaison se rapportent toujours à l’accumulateur. Le résultat booléen de la comparaison est stocké dans l’accumulateur et devient ainsi son contenu actuel.

Exemple de comparaison :

Commande

Signification

LD B

La valeur B est chargée dans l'accumulateur.

GT 10

Le contenu de l’accumulateur est comparé à 10.

ST A

Le résultat de la comparaison est stocké dans la variable A.

Si B est inférieur ou égal à 10, la valeur de la variable A et du contenu de l'accumulateur est 0 (FALSE). Si B est supérieur à 10, la valeur de la variable A et du contenu de l'accumulateur est 1 (TRUE).

Taille de la section

La taille d'une ligne d'instruction est limitée à 300 caractères.

La longueur d'une section IL n'est pas limitée au sein de l'environnement de programmation. La longueur d'une section IL 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.

Les caractères d’espacement et de tabulation n’ont aucune influence sur la syntaxe et ils peuvent être utilisés librement.

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'exécution des instructions s'effectue ligne par ligne, du haut vers le bas. 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 :

LD A
ADD B
SUB C
MUL C
ST E

le résultat dans E sera 0.

Pour le calcul suivant :

LD A
ADD B
SUB(
LD C
MUL D
)
ST E

le résultat dans E sera -9.

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.

Conformité CEI

Pour la description de la conformité CEI du langage IL, voir Conformité CEI.