Description de la fonction
Cette fonction copie le contenu (valeurs ASCII) du tableau à l'entrée (sans conversion) dans la sortie de type données .
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 :
-
la fin du tableau d'entrée est atteinte ;
-
la valeur 0 (16#00) est transférée ;
-
la fin de la chaîne de sortie est atteinte.
et sont projetés en tant que paramètres supplémentaires.
Représentation :
Représentation :
Représentation :
LD AsciiValueArray
ASCII_TO_STRING
ST StringOutput
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
|
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
|
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.
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.
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.
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.
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.
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.