STRING_TO_ASCII : conversion de type
Traduction de la notice originale
Description de la fonction
La fonction copie la chaîne à partir du type de données STRING en entrée (sans conversion) sous forme de valeurs ASCII dans le tableau INT en sortie.
Cette fonction est utilisée pour transférer différents caractères (correspondant tous à des valeurs ASCII de 16#01 à 16#FF). La seule exception est 16#00 (Valeur 0), qui est utilisée pour remplir des bits vides (non utilisés).
Etant donné que chaque caractère ASCII n'a besoin que de 1 octet, il est possible de transférer 2 caractères ASCII pour chaque élément de type entier du tableau de sortie. La séquence de transfert suit le principe un octet de poids fort, un octet de poids faible.
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0 (voir Exemple 3).
L'opération de copie se termine lorsque :
EN et ENO sont projetés en tant que paramètres supplémentaires.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD StringInput
STRING_TO_ASCII 
ST AsciiValueArray
Représentation en ST
Représentation :
AsciiValueArray := STRING_TO_ASCII (StringInput) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
StringInput
Chaîne de caractères ASCII
Description des paramètres de sortie :
Paramètre
Type de données
Description
AsciiValueArray
ARRAY [n..m] OF INT
Tableau d'entiers avec des valeurs ASCII
Erreur d'exécution
Si la taille des variables de tableau en sortie est insuffisante pour représenter tous les caractères ASCII de la chaîne d'entrée, ENO est défini sur 0 et le bit système %S15 est défini sur 1.
Exemple 1
Dans l'exemple, une chaîne de 4 caractères ASCII doit être transférée dans un tableau d'entiers. Cette opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, une chaîne de 3 caractères ASCII doit être transférée dans un tableau d'entiers. Cette opération nécessite un tableau d'entiers avec 2 éléments ; l'octet de poids faible du deuxième élément n'est pas obligatoire et contient donc la valeur 0.
Exemple 3
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0.
Exemple 4
Lorsqu'une chaîne vide est transférée, les éléments du tableau d'entiers sont remplis avec la valeur 0.
Exemple 5
Dans l'exemple, 8 caractères ASCII doivent être transférés. Comme le tableau de sortie est trop petit, ENO est défini sur 0 et le bit système %S15 sur 1.