J'ai un problème de compréhension sur l'indexage des variables.
Voici un bout de programme qui permet d'écrire des messages sur un afficheur de marque Siebert.
Code : Tout sélectionner
(* Présence Alarme avec Variables *)
Ecran_index:=FIND_EQ_ARINT(CW50,Walmpre);
(* Affectation d'un numéro de message *)
IF Ecran_index=-1 THEN
Ecran_Ligne3:=Walmpre;
ELSE
Ecran_Ligne3:=CW70[Ecran_index]+%MW0[CW90[Ecran_index]]-1;
END_IF;
Ecran_index est un INT (%MW661)
CW50 est un ARRAY OF INT 0..19 (non localisé)
CW70 est un ARRAY OF INT 0..19 (non localisé)
CW90 est un ARRAY OF INT 0..19 (non localisé)
Walmpre est un INT (%MW90)
Ecran_ligne3 est un INT (%MW651)
Donc selon moi :
Ecran_index recherche dans CW50 une valeur égale à Walmpre. Dans mon programme CW50 n'est jamais écris.
Quand Ecran_index trouve une valeur identique, il prend la valeur de la rangée ou il y à égalité.
Ensuite Ecran_ligne3 est égale à = %MW(valeur de Ecran index) + %MW(valeur de Ecran index) - 1.
Ai-je bien compris ?