L9_FOUT : premier sorti
(Traduction du document original anglais)
Convention de dénomination
Nom dans l'éditeur LL984
Nom du bloc fonction
Nom de l'instruction 984 héritée
Nom dans d'autres outils et éditeurs comme :
  • Navigateur bibliothèque de types
  • Editeur de données
  • Tables d'animation
  • Résultats de recherche
Description de la fonction
La procédure L9_FOUT doit être associée à une procédure L9_FIN pour créer une file d'attente de type FIFO (premier entré/premier sorti). Elle déplace le profil finaire du mot mémoire situé en bas d'une file d'attente pleine vers une séquence booléenne 16 bits cible.
NOTE : Veillez à placer la procédure L9_FOUT avant votre procédure L9_FIN dans votre séquence FIFO. Ainsi, les données les plus anciennes sont supprimées d'une file d'attente pleine avant l'ajout de nouvelles données. En revanche, si la procédure L9_FIN est placée avant la procédure L9_FOUT, votre tentative d'insertion de nouvelles données dans une file d'attente pleine sera ignorée.
La valeur de LENGTH détermine le nombre de mots inclus dans la file d'attente source. Le paramètre QUEUE définit l'emplacement mémoire %MW du pointeur de file d'attente. Ce pointeur contient le nombre de mots remplis dans la file d'attente. Le mot contigu au pointeur et situé après ce dernier est le premier mot (haut) de la file d'attente. Le mot source de la procédure L9_FOUT est le dernier mot (bas) de la file d'attente remplie. Le paramètre DEST définit l'emplacement mémoire %M ou %MW (selon la procédure) du premier élément booléen dans la séquence booléenne 16 bits cible.
L'opération commence lorsque l'entrée de la broche ENABLE est activée. La valeur initiale du pointeur de file d'attente doit être égale à la valeur de LENGTH, indiquant que la file d'attente est pleine. Les données source sont toujours retirées du mot mémoire situé en bas de la file d'attente. Le pointeur se décrémente de 1 dès que l'opération L9_FOUT aboutit.
L9_FOUT peut activer 3 sorties. La sortie OUT est activée lorsque l'opération a abouti. La sortie FULL est activée lorsque la file d'attente est pleine. La sortie EMPTY est activée lorsque la file d'attente est vide.
NOTE : la procédure L9_FOUT n'écrit ni ne modifie l'état d'une variable BOOL qui a été forcée dans la table d'animation Control Expert.
Illustration
Paramètres
Broche d'entrée
Nom
Type de données
Plage d'adresses
Signification
Haut
ENABLE
L'opération est lancée lorsque l'état passe de OFF à ON.
Nœud
Type de nœud
Nom
Type de données
Plage d'adresses
Signification
Haut
IN
QUEUE
ANY_ARRAY_UINT
%MW
Pointeur de file d'attente suivi du tableau de la file d'attente déclaré comme ARRAY[1..(1+LENGTH] OF UINT
(1+LENGTH est représenté sous la forme d'une constante.
La valeur située à la fin de la file d'attente (position haut) est celle à lire et à insérer dans la destination.
Milieu
IN/OUT
DEST
ANY_ARRAY_UINT ou ANY_ARRAY_EBOOL
%M, %MW
Données cibles à entrer dans la file d'attente. La source peut être un mot de type UINT ou un tableau ARRAY[1..16] OF BOOL.
Bas
IN
LENGTH
UINT
1...100
Nombre de mots à inclure dans la file d'attente.
Plage valide : 1 à 100.
Broche de sortie
Nom
Type de données
Plage d'adresses
Signification
Haut
OUT
BOOL
Activé = indique que l'opération a réussi. (Echo à l'état de l'entrée ENABLE)
Milieu
FULL
BOOL
La valeur ON indique que la file d'attente est pleine.
Bas
EMPTY
BOOL
La valeur ON indique que la file d'attente est vide.