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
STOD_LD_avail_v31
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 :
  • Type de données STRING par défaut
  • Tout nouveau type de chaîne que vous créez
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.
  • Réduire la taille de la valeur ASCII ou
  • Utiliser un type de données de destination plus grand
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
STOD_LD_ex_v31
Texte structuré
IF MV_read.EM THEN
STOD(MV_msg,MV_msg_nmbr);
MV_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