FFU (déchargement FIFO)

L’instruction FFU décharge des données 8 bits, 16 bits, 32 bits ou 64 bits d'un tableau unidimensionnel créé par l'utilisateur et appelé pile FIFO (First In First Out, premier entré, premier sorti) dans le même ordre que les données ont été chargées avec l'instruction FFL.
Détails de l'opération :
  • Instruction FFU - Mode sans exécution à mode d'exécution :
    • Lorsque l'exécution passe de FAUX à VRAI :
      • Les conditions d'erreur FFU sont vérifiées.
      • Décharge le contenu de la pile FIFO en position zéro si la Position est supérieure à zéro et inférieure ou égale à la Longueur.
      • Les éléments restants sont décalés d'une position vers zéro, les éléments les plus élevés de la pile FIFO sont définis sur zéro, et la Position est diminuée de un.
      • Vide est défini sur VRAI si la Position est égale à zéro.
      • Done est défini lorsque l'instruction s'exécute correctement.
    • Lorsque l'exécution passe de VRAI à FAUX :
      • Error, Done et ErrorID sont définis sur FALSE.
      • Vide est défini sur VRAI si la Position est égale à zéro.
      • Complet est défini sur VRAI si la Longueur est égale à la Position. Complet est défini sur FAUX si la Position est inférieure ou égale à zéro, et inférieure à la Longueur.
      • Les conditions d'erreur FFU ne sont pas vérifiées.
    • Lorsque l'exécution passe de VRAI à VRAI :
      • Aucune opération de déchargement n'est effectuée.
      • Vide est défini sur VRAI si la Position est égale à zéro.
      • Complet est défini sur VRAI si la Longueur est égale à la Position.
      • Les conditions d'erreur FFU ne sont pas vérifiées.
    • Lorsque l'exécution passe de FAUX à FAUX :
      • Error, Done et ErrorID sont définis sur FALSE.
      • Vide est défini sur VRAI si la Position est égale à zéro.
      • Complet est défini sur VRAI si la Longueur est égale à la Position. Complet est défini sur FAUX si la Position est inférieure ou égale à zéro, et inférieure à la Longueur.
      • Les conditions d'erreur FLU ne sont pas vérifiées.
  • Instruction FFU - Mode d'exécution à mode sans exécution :
    • Error, Done et ErrorID, Empty et Full conservent l'état du mode d'exécution.
  • Pour créer un seul élément pour le paramètre FIFO :
    • Non-tableau :
      • Une adresse basée sur la variable (comme Fifo1) est autorisée pour FIFO.
      • La longueur doit être définie sur 1.
    • Tableau unidimensionnel :
      • Une adresse basée sur la variable (comme Fifo1 ou Fifo1[0]) est autorisée pour FIFO.
      • La longueur doit être définie sur 1.
Langages pris en charge : Diagramme de bloc de fonctions, diagramme de schéma à relais et texte structuré.
Cette instruction s'applique aux contrôleurs
Micro820
L20E,
Micro850
L50E et
Micro870
L70E.
FFU
FFU
Paramètres FFU
Paramètre
Type de paramètre
Type de données
Description
Execute
Entrée
BOOL
Activation du bloc d'instruction.
  • TRUE : Si le front montant est détecté, l'opération FFU commence.
  • FALSE : Front montant non détecté.
Dest
Entrée
ANY_ELEMENTARY
Conserve la valeur qui existe dans la pile FIFO.
Les types de données élémentaires pris en charge pour Dest sont les suivants :
  • DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • La chaîne n'est pas prise en charge.
  • Prend uniquement en charge les tableaux à une dimension, comme Array[1] ou Array[Index].
DestOffset
Entrée
UINT
Décalage de l'élément de destination.
Décaler l'élément si le type de données de la destination est Tableau unidimensionnel. Sinon, le décalage doit être défini sur 0.
Pour le type de données Tableau, le décalage doit être défini sur 0 afin de décharger le premier élément.
FIFO
Entrée
ANY_ELEMENTARY
L'adresse de début de la pile. FIFO doit être configuré de la même façon dans les instructions FFL et FFU.
  • Les types de données élémentaires pris en charge pour FIFO sont les suivants :
    DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • La chaîne n'est pas prise en charge.
  • Seuls les tableaux unidimensionnels sont pris en charge pour FIFO.
FIFOCon
Entrée
FF_LF_CON
Configuration et contrôle FIFO. La même configuration doit être définie pour les instructions FFL et FFU.
Utilisez le type de données FF_LF_CON pour configurer la Position et la Longueur.
Done
Sortie
BOOL
Indique quand l'opération FFU est terminée.
  • TRUE : L'opération s'est terminée avec succès.
  • FALSE : L'opération a rencontré une erreur, ou l'instruction FFU ne s'exécute pas.
Full
Sortie
BOOL
Indique quand la pile FIFO est complète.
  • TRUE : Lorsque la Longueur est égale à la Position.
  • FALSE : Lorsque la Position est supérieure à zéro, et inférieure à la Longueur.
Empty
Sortie
BOOL
Indique quand la pile FIFO est vide.
  • TRUE : Lorsque la Position est égale à 0.
  • FALSE : Lorsque la Position n'est pas égale à 0.
Error
Sortie
BOOL
Indique l'existence d'une condition d'erreur.
  • TRUE : L'opération a rencontré une erreur.
  • FALSE : L'opération s'est terminée avec succès ou l'instruction ne s'exécute pas.
ErrorID
Sortie
USINT
Valeur numérique unique permettant d'identifier l'erreur. Les erreurs sont définies dans les codes d'erreur FFU.
Type de données FF_LF_CON
Paramètre
Type de données
Description
Length
UINT
Nombre d'éléments utilisés pour l'opération FIFO. La limite maximale est 1024.
Position
USINT
Détermine le prochain emplacement disponible dans le FIFO pour l'entrée ou la suppression Src. La position est le décalage du tableau.
  • Exemple 1 :
    Tableau configuré par l'utilisateur, arr[0..5]. La position initiale est définie sur 1. Les données sont poussées dans le tableau arr[1] et la position est incrémentée de +1.
  • Exemple 2 :
    Tableau unidimensionnel configuré par l'utilisateur, arr[1..5]. La position initiale est définie sur 1. Les données sont poussées dans le tableau arr[2] et la position est incrémentée de +1.
Codes d'erreur FFU
Code d'erreur
Description de l'erreur
0
Aucune erreur.
1
Le type de données Src FFL n'est pas pris en charge.
2
Le type de données Dest FFU n'est pas pris en charge.
3
Le type de donnée FIFO n'est pas pris en charge.
4
Les types de données Src et Dest ne correspondent pas au type de données FIFO.
Action corrective :
Le type de données des paramètres FFL Src et FFU Dest doivent correspondre au type de données du tableau FIFO.
5
FIFO : La dimension du tableau n'est pas prise en charge.
Action corrective :
FIFO prend uniquement en charge les tableaux unidimensionnels.
6
La longueur de contrôle FIFOCon ne peut pas dépasser la taille du tableau FIFO.
Action corrective :
La longueur de contrôle FIFOCon ne peut dépasser la taille du tableau FIFO.
7
La longueur FIFOCon dépasse la longueur maximale.
8
La longueur FIFOCon est zéro.
9
La position FIFOCon dépasse la longueur FIFOCon.
10
La longueur de contrôle FFL et la position sont égales.
11
La position de contrôle FFU est zéro.
12
La dimension du tableau FFL ou FFU n'est pas prise en charge.
Action corrective :
FFL et FFU prennent uniquement en charge les tableaux unidimensionnels.
13
FFL ou FFU DestOffset dépasse la taille du tableau Dest.

Exemples FFU

Exemple de diagramme de bloc de fonctions FFU
Exemple de diagramme de bloc de fonctions FFU
Exemple de schéma à relais FFU
Exemple de schéma à relais FFU
Exemple de texte structuré FFU
Exemple de texte structuré FFU
Résultats
Résultats
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal