L'éditeur IL (Instruction List) est un éditeur de table. La structure réseau des programmes FBD ou LD est également représentée dans un programme IL. En principe, un seul réseau suffit dans un programme IL, mais compte tenu des basculements entre les langages FBD, LD et IL, vous pouvez aussi utiliser des réseaux pour structurer un programme IL.
Activez le langage d'implémentation IP pour EcoStruxure Machine Expert dans la boîte de dialogue , categorie , onglet .
Les info-bulles contiennent des informations sur les variables ou les paramètres de boîte.
Reportez-vous à la section Utilisation de la vue de l'éditeur FBD et LD.
Les commandes d'utilisation de l'éditeur sont disponibles dans le menu
. Les commandes fréquemment utilisées sont également disponibles dans le menu contextuel.Les unités de programmation qui sont des éléments sont chacune insérées à la position actuelle du curseur via les commandes
, disponibles dans le menu .Vous pouvez faire glisser un élément Boîte à outils sur la flèche vers le haut ou vers le bas à gauche de l'éditeur. Un réseau est créé au-dessus ou au-dessous de l'élément existant.
de laVous pouvez utiliser les commandes Couper, Copier, Coller et Supprimer, disponibles dans le menu
, pour organiser les éléments.Reportez-vous aussi aux informations relatives au langage de programmation Liste d'instructions (IL, Instruction List).
Les opérateurs disposant de la fonctionnalité EN/ENO ne peuvent être insérés que dans les éditeurs FBD et LD.
Ce chapitre explique comment l'éditeur de table est structuré, comment naviguer dans celui-ci et comment utiliser les appels, les sauts et les opérandes complexes.
éditeur de table IL
Chaque ligne de programme est écrite dans une ligne de table, structurée en champs par les colonnes de table :
Colonne |
Contient |
Description |
---|---|---|
1 |
opérateur |
Ce champ contient l'opérateur IL (LD, ST, CAL, AND, OR, etc.) ou un nom de fonction.
En cas d'appel de bloc fonction, les paramètres correspondants sont également spécifiés ici. Entrez le champ de préfixe Pour plus d'informations, reportez-vous à la section Modificateurs et opérateurs dans IL. |
2 |
opérande |
Ce champ contient exactement un opérande ou une étiquette de saut. Si plusieurs opérandes sont requis (opérateurs multiples/extensibles AND A, B, C, ou appels de fonction avec plusieurs paramètres), écrivez-les sur les lignes suivantes et laissez vide le champ d'opérateur. Dans ce cas, ajoutez une virgule de séparation des paramètres. En cas d'appel de bloc fonction, de programme ou d'action, ajoutez les parenthèses d'ouverture et/ou de fermeture appropriées. |
3 |
adresse |
Ce champ contient l'adresse de l'opérande défini dans la partie de déclaration. Vous ne pouvez pas modifier ce champ. Utilisez l'option pour l'activer ou le désactiver. |
4 |
symbol comment |
Ce champ contient le commentaire défini pour l'opérande dans la partie de déclaration. Vous ne pouvez pas modifier ce champ. Utilisez l'option pour l'activer ou le désactiver. |
5 |
operand comment |
Ce champ contient le commentaire de la ligne actuelle. Il est modifiable et peut être activé ou désactivé via l'option . |
Flèches HAUT et BAS : Déplacement vers le champ du dessus ou du dessous.
TAB : Déplacement vers le champ situé à droite sur une ligne.
MAJ + TAB : Déplacement vers le champ situé à gauche sur une ligne.
Barre ESPACE : Ouvre le champ actuellement sélectionné en vue de le modifier. Vous pouvez aussi cliquer sur le champ. Le cas échéant, l'assistant de saisie sera disponible via le bouton
. Vous pouvez fermer un champ de modification ouvert en appuyant sur ENTREE pour confirmer les entrées actuelles ou en appuyant sur ECHAP pour annuler les entrées réalisées.CTRL + ENTRÉE : Insère une nouvelle ligne sous la ligne actuelle.
SUPPR : Supprime la ligne actuelle où vous avez sélectionné un champ.
, , : Pour copier une ou plusieurs lignes, sélectionnez au moins un champ de cette ou ces lignes et exécutez la commande . Pour couper une ligne, utilisez la commande . La commande insérera les lignes précédemment copiées/coupées avant la ligne où un champ est actuellement sélectionné. Si aucun champ n'est sélectionné, elles seront insérées à la fin du réseau.
CTRL + DEBUT permet de revenir au début du document et de marquer le premier réseau.
CTRL + FIN permet de passer à la fin du document et de marquer le dernier réseau.
La touche PG PRÉC permet de monter d'un écran et de marquer le rectangle situé tout en haut.
La touche PG SUIV permet de descendre d'un écran et de marquer le rectangle situé tout en haut.
Si le même opérateur est utilisé avec plusieurs opérandes, vous disposez de deux moyens de programmation :
Les opérandes sont saisis sur les lignes suivantes, séparés par des virgules. Par exemple :
LD 7
ADD 2,
4,
7
ST iVar
L'instruction est répétée sur les lignes suivantes. Par exemple :
LD 7
ADD 2
ADD 4
ADD 7
ST iVar
Si un opérande complexe doit être utilisé, entrez une parenthèse ouvrante avant celui-ci, puis utilisez les lignes suivantes pour les composants d'opérande spécifiques. Sous ceux-ci, sur une ligne séparée, entrez la parenthèse fermante.
Exemple : Rotation d'une chaîne de 1 caractère à chaque cycle.
Code ST correspondant :
stRotate := CONCAT(RIGHT(stRotate, (LEN(stRotate) - 1)), (LEFT(stRotate, 1)));
LD stRotate
RIGHT( stRotate
LEN
SUB 1
)
CONCAT( stRotate
LEFT 1
)
ST stRotate
Entre le nom de la fonction dans le champ d'opérateur. Placez le (premier) paramètre d'entrée comme un opérande dans une opération LD précédente. Si d'autres paramètres sont présents, placez le suivant sur la même ligne que le nom de fonction. Vous pouvez ajouter d'autres paramètres sur cette ligne, séparés par des virgules, ou sur les lignes suivantes.
La valeur de retour de fonction sera stockée dans l'accumulateur. La restriction suivante concernant la norme CEI s'applique.
Exemple : La fonction GeomAverage, qui a 3 paramètres d'entrée, est appelée. Le premier paramètre est donné par X7 dans une opération précédente. Le deuxième, 25, est donné avec le nom de fonction. Le troisième est donné par la variable tvar, sur la même ligne ou sur la ligne suivante. La valeur de retour est attribuée à la variable Ave.
Code ST correspondant :
Ave := GeomAverage(X7, 25, tvar);
Appel de fonction dans IL :
LD X7
GeomAverage 25
tvar
ST Ave
Utilisez l'opérateur CAL- ou CALC. Entrez le nom de l'instance de bloc fonction ou le nom de programme dans le champ d'opérande (deuxième colonne) suivi de la parenthèse ouvrante. Saisissez les paramètres d'entrée, chacun sur l'une des lignes suivantes :
Champ d'opérateur : Nom du paramètre
Champ de préfixe :
:=
pour les paramètres d'entrée
=>
pour les paramètres de sortie
Champ d'opérande : Paramètre actuel
Champ de suffixe :
,
si d'autres paramètres suivent
)
après le dernier paramètre
()
en cas d'appels sans paramètre
Exemple : Appel de POUToCAll avec 2 paramètres d'entrée et 2 paramètres de sortie.
Code ST correspondant :
POUToCall(Counter := iCounter, iDecrement:=2, bError=>bErr, wError=>wResult);
Appel de programme dans IL avec paramètres d'entrée et de sortie :
Il n'est pas nécessaire d'utiliser tous les paramètres d'un bloc fonction ou programme.
Pour être effectué comme un appel de bloc fonction ou programme, le nom de l'action doit être ajouté au nom de l'instance ou au nom du programme.
Exemple : Appel de ResetAction.
Code ST correspondant :
Inst.ResetAction();
Appel d'action dans IL :
CAL Inst.ResetAction()
Pour être effectué comme un appel de fonction, le nom de l'instance avec le nom de méthode ajouté doit être saisi dans la première colonne (opérateur).
Exemple : Appel de méthode Home
.
Code ST correspondant :
Z := IHome.Home(TRUE, TRUE, TRUE);
Appel de méthode dans IL :
LD TRUE
IHome.Home TRUE
TRUE
ST Z
Un saut est programmé par JMP
dans la première colonne (opérateur) et un nom d'étiquette dans la deuxième colonne (opérande). L'étiquette doit être définie dans le réseau cible du champ d'étiquette.
La liste d'instructions qui précède le saut inconditionnel doit se terminer par l'une des commandes suivantes : ST, STN, S, R, CAL, RET ou autre JMP.
Cela n'est pas le cas pour un saut conditionnel. L'exécution du saut dépend de la valeur chargée.
Exemple : Instruction de saut conditionnel ; si bCallRestAction
a la valeur TRUE, le programme doit sauter vers le réseau étiqueté avec Cont
.
Instruction de saut conditionnel en langage IL :
LDN bCallResetAction
JMPC Cont