Chaîne vers DINT (String to DINT, STOD)
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 Chaîne vers DINT (String to DINT, STOD) convertit la représentation ASCII d'un entier en entier ou en valeur REAL.
Langues disponibles
Diagramme à relais

Bloc fonctionnel
Cette instruction n'est pas disponible dans le bloc fonctionnel.
Texte structuré
STOD(Source,Dest);
Opérandes
Il existe des règles de conversion de données pour combiner des types de données dans une instruction. Reportez-vous à la section
Conversion des données
.Un diagramme à relais et texte structuré
Opérande | Type | Format | Description | Remarques |
|---|---|---|---|---|
Source | Type de chaînes | Balise | L'étiquette contenant la valeur en ASCII | Il existe différents types de chaînes :
|
Destination | SINT INT DINT | Balise | L'étiquette dans laquelle la valeur entière est enregistrée | Si la valeur Source est un nombre à virgule flottante, l'instruction ne convertit que la partie non fractionnelle du nombre (quel que soit le type de données de destination). |
Reportez-vous à
Syntaxe du texte structuré
pour plus d'informations concernant la syntaxe des expressions.Description
L'instruction STOD convertit Source en entier et place le résultat dans Destination.
- L’instruction convertit des nombres positifs et négatifs.
- Si la chaîne Source contient des caractères non-numériques, l'instruction STOD convertit le premier ensemble de nombres contigus :
L'instruction ignore tous les caractères de commande initiaux ou non numériques, sauf le signe moins précédant un nombre.
Si la chaîne contient plusieurs groupes de nombres séparés par des délimiteurs (ex. : /), l'instruction ne convertit que le premier groupe de nombres.
Affecte les indicateurs d'état mathématique
En diagrammes à relais uniquement. Reportez-vous à la section
Indicateurs d'état mathématique
.Défauts majeurs/mineurs
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. | Vérifier qu’aucune instruction n’est écrite dans le membre LEN de la balise de type de chaîne. Dans la valeur LEN, entrez le nombre de caractères que la chaîne contient. |
4 | 53 | Le numéro de sortie se situe au-delà des limites du type de données de destination. |
|
Reportez-vous à la section
Attributs communs
pour connaître les défauts liés aux opérandes.Exécution
Diagramme à relais
Condition | 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 | L'instruction s'exécute. Destination est effacée L’instruction convertit Source. |
Post-scrutation | N/A |
Texte structuré
Condition | Action |
|---|---|
Préscrutation | Reportez-vous à Pré-scrutation dans le tableau Diagramme à relais précédent |
Exécution normale | Reportez-vous à Condition d'entrée d'échelon est vraie dans le tableau Diagramme à relais précédent. |
Post-scrutation | Reportez-vous à Post-scrutation dans le tableau Diagramme à relais précédent |
Exemple
Lorsque MV_read.EM est défini, l'instruction STOD convertit le premier ensemble de caractères numériques présent dans MV_msg en valeur entière. L'instruction ignore le caractère de commande initiale ($06) et s'arrête au délimiteur (\).
Diagramme à relais

Texte structuré
IF MV_read.EM THEN
STOD(MV_msg,MV_msg_nmbr);
MV_read.EM := 0;
END_IF;
Fournir une réponse