ASCII_TO_STRING : conversion de type
Traduction de la notice originale
Description de la fonction
Cette fonction copie le contenu (valeurs ASCII) du tableau INT à l'entrée (sans conversion) dans la sortie de type données STRING.
Cette fonction permet de transférer des valeurs ASCII (16#01...16#FF). La seule exception est 16#00 (Valeur 0), qui est utilisée pour terminer l'opération de copie.
Etant donné que chaque valeur ASCII nécessite 1 octet, il est possible de transférer vers la sortie 2 valeurs ASCII pour chaque élément de type entier du tableau d'entrée. La séquence de transfert suit le principe un octet de poids fort, un octet de poids faible.
Si un nombre impair de valeurs ASCII est transféré en sortie, seul l'octet de poids fort du dernier élément est en principe nécessaire. Néanmoins, comme l'élément complet est toujours transféré, la valeur 0 doit dans ce cas être entrée dans l'octet de poids faible (voir Exemple 2).
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 AsciiValueArray
ASCII_TO_STRING 
ST StringOutput
Représentation en ST
Représentation :
StringOutput := ASCII_TO_STRING (AsciiValueArray) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
AsciiValueArray
ARRAY [n..m] OF INT
Tableau d'entiers avec des valeurs ASCII
Description des paramètres de sortie :
Paramètre
Type de données
Description
StringOutput
Chaîne de caractères ASCII
Erreur d'exécution
Si la taille des variables de chaîne en sortie est insuffisante pour représenter toutes les valeurs ASCII du tableau 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, 4 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Cette opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, 3 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. 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
Dans l'exemple, 4 valeurs ASCII doivent être transférées dans une chaîne de 8 caractères. Cette opération nécessite un tableau d'entiers avec 2 éléments. Dans ce cas, les 4 caractères inutiles en sortie restent vides.
Exemple 4
Dans l'exemple, les 4 premières valeurs ASCII d'un tableau d'entiers avec 8 éléments doivent être transférées dans une chaîne de 4 caractères. L'octet de poids fort du troisième élément du tableau d'entiers doit contenir la valeur 0 pour marquer la fin des caractères à transférer. Toutes les autres valeurs ASCII ne sont plus prises en compte.
Exemple 5
Dans l'exemple, 16 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Comme la chaîne de sortie est trop petite, ENO est défini sur 0 et le bit système %S15 sur 1.