Effacement de chaîne (String Delete, DELETE)

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 DELETE supprime des caractères ASCII d'une chaîne.
Langues disponibles
Diagramme à relais
Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
DELETE(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
L’étiquette contenant la chaîne dont vous souhaitez supprimer des caractères
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 à supprimer
La somme de Start et Quantity doit être inférieure ou égale à la longueur de Source plus 1.
Start
SINT
INT
DINT
immédiat
balise
La position du premier caractère à supprimer
Entrez un numéro entre 1 et la taille DATA de Source.
Destination
Type de chaînes
balise
L’étiquette dans lequel le résultat est enregistré
Reportez-vous à Syntaxe du texte structuré pour plus d’informations concernant la syntaxe des expressions dans le texte structuré.
Description
L'instruction DELETE supprime (retire) un ou plusieurs caractères de Source et place les caractères restants dans Destination.
  • La position Start et Quantity définissent les caractères à supprimer.
  • A moins que Source et Destination ne soient la même étiquette, Source A 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
Reportez-vous à la section Attributs courants pour plus d’informations sur les défauts liés aux opérandes.
Exécution
Diagramme à relais
Condition/état
Action
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/état
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.
Exemples
Informations ASCII provenant d'un terminal et contenant un caractère d'en-tête. Une fois les données lues par l'automate (term_read.EM s'affiche), l'instruction DELETE supprime le caractère d'en-tête. L’automate peut alors utiliser le texte du message ou le transmettre à un autre appareil.
Diagramme à relais
Texte structuré
IF term_read.EM THEN
DELETE(term_input,1,1,term_text);
term_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