Tri de fichier (File Sort, SRT)
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 SRT trie une série de valeurs dans une dimension (Dim to vary) du tableau dans un ordre ascendant.
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
SRT(Array,Dimtovary,Control);
Opérandes
Diagramme à relais
Opérande | Type | Format | Description |
|---|---|---|---|
Array | SINT INT DINT REAL | Balise de tableau | tableau à trier spécifier le premier élément du groupe d’éléments à trier |
Dimension to vary | DINT | Immédiat (0, 1, 2) | de quelle dimension se servir l’ordre des dimensions est le suivant : array[0,1,2] |
Control | CONTROL | Balise | structure de contrôle de l’opération |
Length | DINT | Immédiat | nombre d’éléments du tableau à trier |
Position | DINT | Immédiat | élément actuel du tableau valeur initiale typique : 0 |
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.
Texte structuré
Opérande | Type | Format | Description |
|---|---|---|---|
Array | SINT INT DINT REAL | Balise de tableau | tableau à trier spécifier le premier élément du groupe d’éléments à trier |
Dimension to vary | DINT | Immédiat (0, 1, 2) | de quelle dimension se servir l’ordre des dimensions est le suivant : array[0,1,2] |
Control | CONTROL | Balise | structure de contrôle de l’opération |
Length | DINT | Immédiat | Nombre d’éléments du tableau à trier. L’accès aux valeurs spécifiées de Length et de Position se fait depuis les membres .LEN et .POS de la structure CONTROL. |
Position | DINT | Immédiat | élément actuel du tableau valeur initiale typique : 0 L’accès aux valeurs spécifiées de Length et de Position se fait depuis les membres .LEN et .POS de la structure CONTROL. |
Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Structure CONTROL
Mnémonique | Type de données | Description |
|---|---|---|
.EN | BOOL | Le bit d’activation indique que l’instruction SRT est activée. |
.DN | BOOL | Le bit de fin est défini lorsque l’instruction a agi sur le dernier élément du Tableau. |
.ER | BOOL | Le bit d’erreur est défini lorsque .LEN < 0 ou lorsque .POS < 0. En outre, l’une ou l’autre de ces conditions déclenche un défaut majeur. Lorsque le bit .ER est défini, cette instruction n’effectue pas d’exécution. |
.LEN | DINT | Le mot de longueur spécifie le nombre d’éléments du tableau sur lesquels opère cette instruction. |
.POS | DINT | Le mot de position identifie l’élément actuel auquel cette instruction est en train d’accéder. |
Description
L’instruction SRT trie une série de valeurs dans une dimension (Dim to vary) du Tableau dans un ordre ascendant.
IMPORTANT:
Vous devez tester et confirmer que l’instruction ne modifie pas des données dont vous ne souhaitez pas la modification.
L’instruction SRT agit sur une mémoire de données contiguës. Pour uniquement, la portée de cette instruction est limitée par la balise de base. L’instruction SRT ne va pas écrire des données en dehors de la balise de base, mais peut traverser les limites de membres. Lorsque vous spécifiez un tableau qui est membre d’une structure et lorsque la longueur dépasse la taille de ce tableau, vous devez tester et confirmer que l’instruction SRT ne modifie pas des données que vous ne souhaitez pas modifier.
Automates
CompactLogix
5370, ControlLogix
5570, Compact GuardLogix
5370 et GuardLogix
5570Dans les, les données sont limitées par le membre spécifié.
Automates
CompactLogix
5380, ControlLogix
5580, Compact GuardLogix
5380 GuardLogix
5580 et ControlLogix 5590Dans cette instruction de transition, le logique à relais fait basculer la condition d'entrée d'échelon de faux à vrai afin de permettre l’exécution de cette instruction.
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 |
Dimension to vary > nombre de dimensions | 4 | 20 |
Length > fin de tableau | 4 | 20 |
Reportez-vous à la section
Attributs communs
pour plus d'informations sur les défauts liés aux opérandes.Exécution
Diagramme à relais
Condition/État | Action entreprise |
|---|---|
Préscrutation | N/A. |
La condition d'entrée d'échelon est égale à faux | Le bit .EN est défini sur faux Le bit .EN est défini sur faux Le bit .DN est défini sur faux |
La condition d'entrée d'échelon est égale à vrai | L’instruction s’exécute |
Post-scrutation | N/A. |
Texte structuré
Condition/État | Action entreprise |
|---|---|
Préscrutation | Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais |
Exécution normale | Étant donné que cette instruction a besoin d’une transition pour son exécution, cette exécution est d’abord fausse puis vraie. Reportez-vous au table de Diagramme à relais pour plus de détails. |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Diagramme à relais. |
Exemples
Exemple 1
Trier DINT_array, qui est DINT[4,5].

Diagramme à relais

Texte structuré
IF sort1 then
control_1.LEN := 4;
control_1.POS := 0;
SRT(DINT_array[0,2],0, control_1);
END_IF;
Exemple 2
Trier DINT_array, qui est DINT[4,5].

Diagramme à relais

Texte structuré
ctrl.LEN := 4;
ctrl.POS := 0;
SRT(DINT_array[0,2],0, ctrl);
Fournir une réponse