Milieu de chaîne (Middle String, MID)

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 MID copie un nombre précis de caractères ASCII d'une chaîne et les enregistre dans une autre chaîne.
Langues disponibles
Diagramme à relais
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
MID(Source,Qty,Start,Dest);
Opérandes
Il existe des règles de conversion de données pour les types de données mixtes dans une instruction. Reportez-vous à la section Conversions de données.
Un diagramme à relais et texte structuré
Opérande
Type
Format
Description
Remarques
Source
ANY_STRING
Balise
La chaîne à partir de laquelle les caractères doivent être copiés
Il existe différents types de chaînes :
Par défaut, le type de données STRING a une longueur de 82 caractères maximum pour la chaîne.
Tout nouveau type de chaîne créé avec une longueur de caractères configurable pour la chaîne.
Quantity
SINT
INT
DINT
Immédiat
balise
Le nombre de caractères à copier
La somme de Start et Quantity doit être inférieure ou égale à la taille de la longueur de Source plus 1.
Start
SINT
INT
DINT
Immédiat
balise
La position du premier caractère à copier
Entrez un numéro entre 1 et la taille DATA de Source.
Destination
ANY_STRING
Balise
La chaîne dans laquelle les caractères doivent être copiés
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Description
L'instruction MID copie un groupe de caractères de Source et place le résultat dans Destination.
  • La position Start et Quantity définit les caractères à copier.
  • À moins que Source et Destination ne soient la même balise, Source reste inchangée.
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Un défaut mineur surviendra si :
Type de défaut
Code de défaut
La valeur LEN de l’étiquette de la chaîne de Source est supérieure à la taille DATA de l’étiquette de la chaîne de Source.
4
51
La longueur de l’étiquette de la chaîne de sortie est supérieure à la taille DATA de l’étiquette de la chaîne de destination.
4
52
La valeur Démarrage ou Quantité n'est pas valide.
4
56
Exécution
Diagramme à relais
Condition
Action de logique à relais
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
L'instruction s'exécute.
Post-scrutation
N/A
Texte structuré
Condition
Action
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
Exemple
Sur le tapis roulant à bagages d'un aéroport, un code barre est attribué à chaque valise. Les caractères 9 à 17 du code barre représentent le numéro de vol et l'aéroport de destination de la valise. Une fois le code barre lu (bag_read.EM défini), l'instruction MID copie le numéro de vol et l'aéroport de destination dans la chaîne bag_flt_and_dest. Les échelons suivants utilisent bag_flt_and_dest pour déterminer où la valise doit être acheminée.
Diagramme à relais
Texte structuré
IF bag_read.EM THEN
MID(bag_barcode,9,9,bag_flt_and_dest);
bag_read.EM := 0;
END_IF;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal