Arithmétique et logique des fichiers (File Arithmetic and Logic, FAL)

Cette instruction s’applique aux
Compact GuardLogix
automates 5370 et
Compact GuardLogix
 5380,
CompactLogix
 5370,
CompactLogix
 5380, et
ControlLogix
 5570,
ControlLogix
 5580, ControlLogix 5590, et
GuardLogix
 5570 et
GuardLogix
 5580.
Cette instruction FAL effectue des opérations de copie, arithmétiques, logiques et fonctionnelles sur les données mémorisées dans un tableau. Lorsque la condition d'entrée d'échelon de l'instruction FAL passe de faux à vrai, l'expression donnée est exécutée dans le mode spécifié d'itération.
Il existe des règles pour les opérateurs admissibles dans les opérations de sécurité. Référez-vous aux Opérateurs valides.
Langues disponibles
Diagramme à relais
File Arithmetic and Logic (FAL) (45)_v31
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
Cette instruction n'est pas disponible dans le texte structuré.
Opérandes
IMPORTANT: Une opération inattendue peut se produire dans les cas suivants :
  • Les opérandes de balise de sortie sont remplacés.
  • Les membres d'un opérande de structure sont remplacés.
  • Sauf lorsque cela est spécifié, les opérandes de structure sont partagés par plusieurs instructions.
Il existe des règles de conversion de données pour combiner des types de données numériques dans une instruction. Reportez-vous à la section Conversion des données.
Diagramme à relais
Opérande
Type de données
Automates
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370 et
GuardLogix
5570
Type de données
Automates
CompactLogix
 5380,
ControlLogix
 5580,
Compact GuardLogix
 5380
GuardLogix
 5580 et ControlLogix 5590
Format
Description
Control
CONTROL
CONTROL
Balise
Structure de contrôle de l’opération
Length
DINT
DINT
Immédiat
Ceci représente la structure CONTROL .LEN.
Position
DINT
DINT
Immédiat
Ceci représente la structure CONTROL .POS.
Mode
DINT
DINT
Immédiat
Montre comment distribuer cette opération.
Sélectionner INC ou ALL, ou saisir un nombre compris entre 1 et 2 147 483 647
Expression
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
Immédiat
Balise
Une expression comportant des étiquettes et/ou des valeurs immédiates séparées par des opérateurs.
Destination
SINT
INT
DINT
REAL
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
Balise
La valeur de cette expression va être mémorisée dans destination.
Longueur et Position (correspondant à .LEN et .POS dans la balise de contrôle) sont des pseudo-opérandes. Pour plus de détails, reportez-vous à Initialisation de pseudo-opérande.
Structure CONTROL
Mnémonique
Type de données
Description
.EN
BOOL
Le bit d’activation indique que l’instruction FAL est activée.
.DN
BOOL
Le bit de fin est défini lorsque l'instruction s'est exécutée sur le dernier élément (.POS = .LEN).
.ER
BOOL
Lorsqu’un débordement se produit, les deux plates-formes définissent .ER et arrêtent l’exécution de l’instruction.
Les automates suivants vont générer un débordement :
  • CompactLogix
    5370
  • ControlLogix
    5570
.LEN
DINT
La longueur spécifie le nombre d’éléments du tableau sur lesquels opère l’instruction FAL.
.POS
DINT
La position est initialisée à 0 lorsque l’instruction démarre et est incrémentée chaque fois que la boucle fonctionne.
La valeur de cette expression est mémorisée dans l’étiquette de destination spécifiée. Lorsqu'un dépassement se produit, cela définit le bit ER et arrête l'exécution. Dès que FAL a terminé toutes les itérations configurées, le bit .DN est défini.
Sélectionner le mode de fonctionnement
En ce qui concerne les instructions FAL, le mode indique à l’automate comment distribuer l’opération sur le tableau.
Si :
Sélectionnez ce mode :
Opérant sur tous les éléments spécifiés dans un tableau avant de passer à l’instruction suivante.
Toutes
Répartition de l’opération de tableau sur un certain nombre de scrutations.
Saisir le nombre d'éléments par scrutation sur lesquels procéder à l'exécution (1-2 147 483 647)
Numérique
Manipuler un élément du tableau à chaque fois que EnableIn passe de faux à vrai.
Incrémentiel
Mode Tous
En mode Tous, cette instruction agit sur tous les éléments spécifiés du tableau avant de passer à l’instruction suivante. Cette opération commence lorsque l’option EnableIn d’activation de l’instruction passe de faux à vrai. La valeur de la position (.POS) de la structure de contrôle indique l'élément du tableau qu'utilise en ce moment cette instruction. Cette opération s'arrête lorsque la valeur .POS est égale à la valeur .LEN ou la dépasse et lorsqu'un dépassement se produit dans l'expression et lorsque le bit .ER est défini sur vrai.
FAL_All Mode
Le diagramme temporel suivant montre les rapports entre les bits d'état et l'exécution de l'instruction. Lorsque l'exécution de l'instruction est terminée, le bit .DN est égal à vrai. Le bit .DN, le bit .EN et la valeur .POS sont mis à zéro lorsque EnableIn est faux. Ce n'est qu'à ce moment-là qu'une autre exécution de cette instruction peut être déclenchée par une transition d'EnableIn de faux à vrai.
FAL_All Mode 2
Mode Numérique
Le mode Numérique répartit l’opération de tableau sur un certain nombre de scrutations. Ce mode s'utilise lorsqu'on travaille avec des données qui ne sont pas critiques sur le plan temporel ou avec des volumes importants de données. Entrer le nombre d'éléments sur lesquels va agir chaque scrutation, ce qui permet de réduire la durée des scrutations.
Cette exécution se déclenche lorsque l'option EnableIn passe de faux à vrai. Dès que cette instruction se déclenche, elle est exécutée chaque fois qu'elle fait l'objet d'une scrutation et pendant le nombre de scrutations qui s'avèrent nécessaires pour exploiter la totalité du tableau. Dès que l'option EnableIn se déclenche, elle peut changer de manière répétée, sans interrompre l'exécution de cette instruction.
FAL_numerical mode
Éviter l'utilisation des résultats d'une instruction de fichier opérant en mode Numérique tant que le bit .DN n'est pas défini.
Le diagramme temporel suivant montre les rapports entre les bits d'état et l'exécution de l'instruction. Lorsque l'exécution de l'instruction est terminée, le bit .DN est défini.
FAL numerical mode 2
Si l'option EnableIn est définie sur vrai lors de l'exécution, les bits .EN et .DN sont définis sur vrai jusqu'à ce que l'option EnableIn passe à faux. Lorsque l’option EnableIn devient fausse, ces bits sont mis à zéro, de même que la valeur de .POS.
Si, à la fin de cette exécution, l’option EnableIn d'activation de l’entrée est fausse, le bit .EN est immédiatement mis à zéro. Une scrutation après mise à zéro du bit .EN entraîne la mise à zéro du bit .DN et celle de la valeur .POS.
Mode Incrémentiel
Le mode Incrémentiel manipule un élément du tableau chaque fois que l’option EnableIn de l’instruction passe de faux à vrai.
FAL_Incremental Mode
Le diagramme temporel suivant montre les rapports entre les bits d'état et l'exécution de l'instruction. L'exécution n’a lieu que lors d’une scrutation durant laquelle l’option EnableIn passe de faux à vrai. Chaque fois que cela se produit, un seul élément du tableau est manipulé. Si l'option EnableIn reste définie sur vrai pendant plusieurs scrutations, l'exécution de cette instruction n'a lieu que lors de la première scrutation.
FAL_Incremental Mode 2
Le bit .EN est défini lorsque EnableIn est vrai. Le bit .DN est défini lorsque le dernier élément du tableau a été manipulé. Après la manipulation du dernier élément et après que EnableIn soit passé à faux, le bit .EN, le bit .DN et la valeur de .POS sont mis à zéro.
La différence entre le mode Incrémentiel et le mode Numérique, au rythme d’un élément par scrutation, est la suivante :
Dans le mode Numérique, quel que soit le nombre d'éléments par scrutation, il faut une seule transition de faux à vrai de l'option EnableIn pour lancer l'exécution. L'exécution de cette instruction se poursuit afin de réaliser le nombre spécifié d'éléments lors de chaque scrutation jusqu'à leur achèvement final, quel que soit l'état de l'option EnableIn.
Lors du mode Incrémentiel, l'option EnableIn doit au préalable passer de faux à vrai afin de manipuler un élément du tableau.
Expressions de formats
Pour chaque opérateur que vous utilisez dans le cadre d'une expression, vous devez fournir un ou deux opérandes (points ou valeurs immédiates). Utiliser le tableau suivant pour formater les opérateurs et opérandes au sein d'une expression.
Pour les opérateurs qui opèrent sur :
Utiliser ce format :
Exemple
Un opérande
operator(operand)
ABS(tag)
Deux opérandes
operand_a operator operand_b
tag_b + 5
tag_c AND tag_d
(tag_e**2) MOD (tag_f / tag_g)
Définir l'ordre des opérations
Les opérations de l'expression sont exécutées par l'instruction dans un ordre prédéfini qui n'est pas nécessairement leur ordre d'apparition dans l'expression. L’ordre des opérations peut être spécifié en regroupant certains termes dans des parenthèses, obligeant ainsi l’instruction à exécuter les opérations entre parenthèses avant les autres.
Les opérations de rang égal sont exécutées de gauche à droite.
Ordre
Fonctionnement
1
( )
2
ABS, ACOS, ASIN, ATAN, COS, DEG, BCD_TO, LN, LOG, RAD, SIN, SQRT, TAN, TO_BCD, TRUNC
3
**
4
- (négation), NOT
*, /, MOD
6
- (soustraction), +
7
AND
8
XOR
9
OR
Affecte les indicateurs d'état mathématique
Automates
Affecte les indicateurs d'état mathématique
Automates
CompactLogix
 5380,
ControlLogix
 5580,
Compact GuardLogix
 5380
GuardLogix
 5580 et ControlLogix 5590
Non
Automates
CompactLogix
5370,
ControlLogix
5570,
Compact GuardLogix
5370 et
GuardLogix
5570
Oui
Défauts majeurs/mineurs
Un défaut majeur se produira si :
Type de défaut
Code de défaut
.POS < 0 ou .LEN < 0
4
21
Reportez-vous à Indexer via des tableaux pour consulter les défauts d'indexation par tableau.
Exécution
Diagramme à relais
Condition/État
Action entreprise
Préscrutation
N/A
La condition d'entrée d'échelon est égale à faux
Définir la condition de sortie d’échelon sur la condition d’entrée d’échelon.
Reportez-vous à l'organigramme FAL (condition de sortie d'échelon égale à faux)
La condition d'entrée d'échelon est égale à vrai
Définir la condition de sortie d’échelon sur la condition d’entrée d’échelon.
Reportez-vous à l'organigramme FAL (condition de sortie d'échelon égale à vrai)
Post-scrutation
N/A
Organigramme FAL (condition de sortie d'échelon est fausse)
FAL FLOW CHART ENABLEIN IS FALSE
Organigramme FAL (condition de sortie d'échelon est vraie)
FAL Flow Chart EnableIn is True
Organigramme FAL (Mode Tous)
AllModeFlowChart
Organigramme FAL (Mode Numérique)
NumModeFlowChart
Organigramme FAL (Mode Incrémentiel)
IncModeFlowChart
Exemples
Exemple 1
Tableau à tableau.
Diagramme à relais
File Arithmetic and Logic (FAL) (54)_v31
En cas d'activation, l’instruction FAL copie chaque élément de array_2 à la même position dans array_1.
FAL_example 1_array
Exemple 2
Copie élément à tableau.
Diagramme à relais
File Arithmetic and Logic (FAL) (56)_v31
En cas d’activation, l’instruction FAL copie value_1 aux 10 premières positions de la deuxième dimension de array_2.
FAL_example 2_array
Exemple 3 :
Copie tableau à élément.
File Arithmetic and Logic (FAL) (58)_v31
Chaque activation de l'instruction FAL entraîne la copie par cette dernière de la valeur actuelle de array_1 sur value_1. L'instruction FAL utilise le mode Incrémentiel et, de ce fait, une seule valeur de tableau est copiée lors de chaque activation de cette instruction. Lors de l'activation suivante de cette instruction, cette dernière remplace value_1 par la valeur suivante du array_1.
FAL_example 3_array
Exemple 4 :
Opération arithmétique : tableau/tableau à tableau
File Arithmetic and Logic (FAL) (60)_31
Lorsqu'elle est activée, l'instruction FAL divise la valeur dans la position actuelle du array_2 par la valeur dans la position actuelle du array_3 et mémorise le résultat dans la position actuelle du array_1.
FAL_example 4
Exemple 5 :
Opération arithmétique : tableau/tableau à tableau
File Arithmetic and Logic (FAL) (62)_v31
Lorsqu’elle est activée, l’instruction FAL additionne value_1 et value_2 et mémorise le résultat dans la position actuelle d’array_1.
RSLogix500 Linked Icons PNG File Template
Exemple 6 :
Opération arithmétique : tableau + élément à tableau
File Arithmetic and Logic (FAL) (64)_v31
Lorsqu'elle est activée, l'instruction FAL ajoute la valeur dans la position actuelle du array_1 à value_1 et mémorise le résultat dans la position actuelle du array_3. Cette instruction doit être exécutée à 10 reprises avant d'obtenir la manipulation de la totalité du array_1 et du array_3.
FAL_example 6
Exemple 7 :
Opération arithmétique : (élément + tableau) à élément
File Arithmetic and Logic (FAL) (66)_v31
Chaque activation de l'instruction FAL, ajoute value_1 à la valeur actuelle du array_1 et mémorise le résultat dans value_2. L'instruction FAL utilise le mode Incrémentiel et, de ce fait, une seule valeur de tableau vient s'ajouter à value_1 lors de chaque activation de cette instruction. Lors de l'activation suivante de cette instruction, cette dernière remplace value_2.
FAL_example 7
Exemple 8 :
Opération arithmétique : (tableau * tableau) à élément
File Arithmetic and Logic (FAL) (68)_v31
Lorsqu'elle est activée, l'instruction FAL multiplie la valeur actuelle du array_1 par la valeur actuelle du array_3 et mémorise le résultat dans value_1. L'instruction FAL utilise le mode Incrémentiel et, de ce fait, une seule paire de valeurs de tableau est multipliée lors de chaque activation de cette instruction. Lors de l'activation suivante de cette instruction, cette dernière remplace value_1.
L5K_FAL_example 8
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal