Insertion d'une chaîne (Insert String, INSERT)
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.Utilisez l'instruction INSERT pour ajouter des caractères ASCII à un emplacement précis dans une chaîne.
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Texte structuré
INSERT (SourceA,SourceB,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. L'instruction INSERT utilise les opérandes suivants.
Un diagramme à relais et texte structuré
Opérande | Type | Format | Description | Remarques |
|---|---|---|---|---|
Source A | Type de chaînes | Balise | Chaîne à laquelle les caractères sont ajoutés | Les types de chaîne sont, par défaut, des types de données STRING ou tout nouveau type de chaîne créé par vos soins |
Source B | Type de chaînes | Balise | Chaîne contenant les caractères à ajouter | |
Start | SINT DINT INT | Balise immédiate | Position dans la Source A à laquelle les caractères sont ajoutés | Entrez un numéro entre 1 et la taille DATA de Source. |
Destination | Type de chaînes | Balise | Chaîne dans laquelle 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 INSERT ajoute les caractères dans Source B à la position désignée dans Source A et place le résultat dans Destination.
- Start définit l'endroit auquel Source B est ajoutée dans Source A.
- 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
Conditions de défaut
Type | Code | Cause | Méthode de récupération |
|---|---|---|---|
4 | 51 | La valeur LEN de la balise de la chaîne est supérieure à la taille DATA de la balise de la chaîne. |
|
4 | 52 | La chaîne de sortie est plus grande que la destination. | Créer un nouveau type de chaîne suffisamment grand pour la chaîne de sortie. Utiliser le nouveau type de chaîne comme type de données pour la destination. |
4 | 56 | La valeur Démarrage ou Quantité n'est pas valide. | Vérifiez que la valeur Démarrage se situe entre 1 et la taille DATA de la Source. |
Exécution
Diagramme à relais
Condition | Action de logique à relais |
|---|---|
Préscrutation | La condition de sortie d’échelon est définie sur faux. |
La condition d'entrée d'échelon est égale à faux | La condition de sortie d’échelon est définie sur faux. |
La condition d'entrée d'échelon est égale à vrai | L'instruction s'exécute. La condition de sortie d’échelon est définie sur vrai. |
Post-scrutation | La condition de sortie d’échelon est définie sur faux. |
Exécution
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
Lorsque
temp_high
est défini, l'instruction INSERT ajoute les caractères dans string_2
à la position 2 dans string_1
et place le résultat dans string_3
.Diagramme à relais

Texte structuré
IF temp_high THEN
INSERT(string_1,string_2,2,string_3);
temp_high := 0;
END_IF;
Fournir une réponse