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

Paramètre | Type de paramètre | Type de données | Description |
|---|---|---|---|
Execute | Entrée | BOOL | Activation du bloc d'instruction.
|
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 :
|
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.
|
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.
|
Full | Sortie | BOOL | Indique quand la pile FIFO est complète.
|
Empty | Sortie | BOOL | Indique quand la pile FIFO est vide.
|
Error | Sortie | BOOL | Indique l'existence d'une condition d'erreur.
|
ErrorID | Sortie | USINT | Valeur numérique unique permettant d'identifier l'erreur. Les erreurs sont définies dans les codes d'erreur FFU. |
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.
|
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 schéma à relais FFU

Exemple de texte structuré FFU

Résultats

Fournir une réponse