Permutation d'octets (Swap Byte, SWPB)

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.
L'instruction SWPB réorganise l'ordre des octets de Source. Elle place le résultat dans Destination.
Langues disponibles
Diagramme à relais
SWPB_LD_avail_v31
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
SWPB(Source, Order Mode, Dest);
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
.
Un diagramme à relais et texte structuré
Opérande
Type de données
Format
Description
Source
INT
DINT
balise
Étiquette qui contient les octets à réorganiser.
Order Mode
élément de liste
Cet opérande précise les principes de la réorganisation. Reportez-vous au tableau Mode d'ordonnancement.
Dest
INT
DINT
balise
Étiquette de mémorisation des octets dans un ordre différent. Reportez-vous au tableau Dest.
En cas de sélection du mode d'ordonnancement HIGH/LOW, entrez cette option au format HIGHLOW (sans tiret). Reportez-vous à Syntaxe du texte structuré pour plus d'informations concernant la syntaxe des expressions dans le texte structuré.
Order Mode
Si Source est :
Si vous souhaitez changer l'ordre des octets en fonction de ce modèle (chaque lettre représente un octet différent)
Vous devez choisir
INT
AB => BA
N’importe quelle option
DINT
ABCD => DCBA
REVERSE
ABCD =>CDAB
WORD
ABCD => BADC
HIGH/LOW
Dest
Si Source est :
Par conséquent, Destination doit être un
INT
INT, DINT
Si la destination est un DINT, le résultat s'accompagne d'un signe après la permutation des octets.
DINT
DINT
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la section Indexer via les tableaux pour consulter les défauts d'index par tableau.
Exécution
Diagramme à relais
Condition/état
Action entreprise
Préscrutation
N/A
La condition d'entrée d'échelon est égale à faux
N/A
La condition d'entrée d'échelon est égale à vrai
Cette instruction réorganise les octets spécifiés.
Post-scrutation
N/A
Texte structuré
Condition/état
Action entreprise
Préscrutation
Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais.
Exécution normale
Reportez-vous à la condition d’entrée d’échelon est vraie dans le tableau Diagramme à relais.
Post-scrutation
Reportez-vous à Post-scrutation dans le tableau Diagramme à relais.
Exemples
Exemple 1 - Permutation des octets d’une étiquette DINT
Les trois instructions SWPB réorganisent les octets de DINT_1 en fonction d’un autre mode d’ordonnancement. Le style d'affichage est ASCII et chaque caractère représente un octet. Chaque instruction place les octets dans un nouvel ordre et à une Destination différente.
Diagramme à relais
SWPB_LD_ex1_v31
Exemple 2 - Permutation des octets dans tous les éléments d’un tableau
Diagramme à relais
SWPB_LD_ex2_#1_v31
SWPB_LD_ex2_#2_[index]_v31
SWPB_LD_ex2_#3_v31
Exemple 3 : SWPB sur texte structuré
Texte structuré
index := 0;
SIZE (array[0],0,array_length);
REPEAT
SWPB(array[index],REVERSE,array_bytes_reverse[index]);
index := index + 1;
UNTIL(index >= array_length)END_REPEAT;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal