Recherche et comparaison de fichier (File Search and Compare, FSC)

Ces informations s’appliquent aux automates
CompactLogix
 5370,
ControlLogix
 5570,
Compact GuardLogix
 5370,
GuardLogix
 5570,
Compact GuardLogix
 5380,
CompactLogix
 5380,
ControlLogix
 5580,
GuardLogix
 5580 et ControlLogix 5590. Les différences entre les automates sont signalées, le cas échéant.
L'instruction FSC compare les valeurs d'un tableau, élément par élément.
Langues disponibles
Diagramme à relais
File Search and Compare (FSC) (1)_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 Conversions de 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
STRING
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
String type
Immédiat
Balise
Une expression composée d’étiquettes et/ou de valeurs immédiates séparées par des opérateurs
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 à la section Initialisation des pseudo-opérandes.
Structure CONTROL
Mnémonique
Type de données
Description
.EN
BOOL
Le bit d’activation indique que l’instruction FSC 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
Le bit d'erreur n'est pas modifié.
.IN
BOOL
Le bit d'inhibition indique que l'instruction FSC a détecté une vraie comparaison. Vous devez effacer ce bit pour poursuivre la recherche.
.FD
BOOL
Le bit de détection indique que l'instruction FSC a détecté une vraie comparaison.
.LEN
DINT
La longueur indique le nombre d'éléments du tableau sur lesquels l'instruction s'exécute.
.POS
DINT
La position contient la position de l'élément actuel auquel l'instruction est en train d'accéder.
Description
Lorsque EnableIn de l'instruction FSC passe de faux à vrai, l'expression est évaluée pour le mode d'itération spécifié.
Si le résultat de l'évaluation est vrai, l'instruction définit le bit .FD, et la valeur .POS reflète la position dans tableau où l'instruction a détecté la vraie comparaison. L'instruction définit le bit .IN pour empêcher toute itération ultérieure.
Sélectionner le mode de fonctionnement
Pour les instructions FSC, le mode indique à l'automate comment distribuer le fonctionnement du tableau.
Si vous voulez :
Sélectionnez ce mode :
Procéder à l'exécution sur tous les éléments spécifiés d'un tableau avant de passer à l'instruction suivante.
Toutes
Distribuer le fonctionnement du 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
Dans le mode Tous, tous les éléments spécifiés dans le tableau sont exploités 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. L’opération s’arrête lorsque les deux conditions suivantes sont présentes. Lorsque la valeur .POS est égale ou supérieure à la valeur .LEN ET lorsque l'expression correspond à vrai.
File Search and Compare (FSC) (2)
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.
All Mode_2_v31
Mode Numérique
Le mode Numérique répartit l’opération de tableau sur un certain nombre de scrutations. Ce mode est utile lorsqu’on travaille avec des données qui ne sont pas critiques sur le plan temporel ou avec des volumes importants de données. Vous entrez 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.
Numerical Mode
Évitez l’utilisation des résultats d’une instruction de fichier opérant dans le mode Numérique tant que le bit .DN ou .IN n’est pas vrai.
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.
FSC_Numerical Mode
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.
FSC_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.
Incremental Mode_2
Le bit .EN est défini lorsque la condition d'entrée d'échelon est vraie. 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 la condition d'entrée d'échelon soit devenue fausse, 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 que vous rédigez dans l’expression sont exécutées par l’instruction dans un ordre bien précis, qui n’est pas forcément l’ordre dans lequel vous les avez rédigées. Vous pouvez outrepasser l'ordre de réalisation de cette opération en regroupant plusieurs termes entre parenthèses, ce qui oblige cette instruction à exécuter une opération entre parenthèses avant les autres opérations.
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
- (negate), NOT, !
5
*, /, MOD
6
- (soustraction), +
7
AND
8
XOR
9
OR
10
<, <=, >, >=, =, <>
11
&&
12
^^
13
||
Utiliser des chaînes dans une expression.
Pour utiliser des chaînes de caractères ASCII dans une expression, observer ces lignes directrices :
Une expression vous permet de comparer deux étiquettes de chaînes.
Vous ne pouvez pas entrer des caractères ASCII directement dans cette expression.
Seuls les opérateurs suivants sont autorisés :
Opérateur
Description
=
Égal
<
Inférieur à
<=
Inférieur à ou égal
>
Supérieur à
>=
Supérieur à ou égal
<>
Différent
Les chaînes sont égales si leurs caractères correspondent.
Les caractères ASCII sont sensibles à la casse. Le A majuscule ($41) n’est pas égal au a minuscule ($61).
Les valeurs hexadécimales des caractères permettent de définir si une chaîne est plus ou moins longue qu’une autre.
Lorsque deux chaînes sont triées comme dans un annuaire téléphonique, l'ordre des chaînes détermine celle qui est supérieure.
FSC_use strings in an expression
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 à la section Attributs communs pour plus d'informations sur les défauts liés aux opérandes. 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
Reportez-vous à l'organigramme FSC (condition de sortie d'échelon égale à faux)
La condition d'entrée d'échelon est égale à vrai
Reportez-vous à l'organigramme FSC (condition de sortie d'échelon égale à vrai)
Post-scrutation
N/A
Organigramme FSC (condition de sortie d'échelon est fausse)
FSC Flow Chart EnableIn is False
Organigramme FSC (condition de sortie d'échelon est vraie)
FSC Flow Chart EnableIn is True
Organigramme FSC (sous-flux commun FSC)
FSC Flow Chart (FSC Common Subflow)
Organigramme FSC (sous-flux commun d'exception FSC)
FSC Flow Chart FSC Common Exception Subflow
Exemples
Exemple 1
Procéder à des recherches entre deux tableaux DINT afin d’identifier les éléments qui sont inégaux.
Diagramme à relais
File Search and Compare (FSC)_Example1_v31
Lorsque la fonction FSC est activée, elle compare chacun des 10 premiers éléments d’array_1 aux éléments correspondants d’array_2. Lorsqu'un élément différent est identifié, les bits FD et IN sont définis. POS identifie l'emplacement des éléments différents. Mettre le bit IN à zéro pour continuer ces recherches sur le reste du tableau.
FSC_example clear the bit
Exemple 2
Rechercher une chaîne dans un tableau STRING.
Lorsqu’elle est activée, l’instruction FSC compare les caractères du code à 10 éléments de code_table.
Lorsqu’une chaîne de code_table correspondant au code est trouvée, les bits FD et IN sont définis. La POS identifie l’emplacement des chaînes correspondantes. Mettre le bit IN à zéro pour continuer ces recherches sur le reste du tableau.
File Search and Compare (FSC)_Example3_v31
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal