Description de la fonction
La fonction copie le contenu (valeurs ASCII) du tableau en entrée (sans conversion) dans la sortie de type de 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 faible, un octet de poids fort.
Si un nombre impair de valeurs ASCII est transféré en sortie, seul l'octet de poids faible du dernier élément est en principe requis. 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 fort (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_INV
ST StringOutput
Représentation :
StringOutput := ASCII_TO_STRING_INV (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.