DOUBLE INTEGER non signé en STRING
La fonction UDINT_TO_STRING convertit une valeur du type de données UDINT en une valeur du type de données STRING.
Il en résulte une chaîne de caractères en format hexadécimal qui est alignée à droite. Cette chaîne est complétée par des zéros placés à gauche afin d’atteindre le nombre maximum de caractères défini pour la chaîne.Entrée
Sortie
Si vous utilisez le type de données STRING avec des petits automates tels que FP-e ou FP0, veillez à ce que la longueur de la chaîne, résultat de la conversion, soit égale ou supérieure à celle de la chaîne de départ.
Fonction utilisée |
String1 définie en tant que |
Résultat |
---|---|---|
String1:= UDINT_TO_STRING(-12345678) |
STRING[2] |
'78' |
STRING[4] |
'5678' |
|
STRING[6] |
'345678' |
|
STRING[8] |
'12345678' |
|
STRING[10] |
![]() |
|
STRING[12] |
'
![]() ![]() |
|
et ainsi de suite... |
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
input_string: UDINT:=12345678;
(*example value*)
result_string: STRING[11]:='';
(*result: here '12345678'*)
END_VAR
La variable d’entrée input_value du type de données UDINT est initialisée par la valeur 12345678. La variable de sortie result_string est du type de données STRING[11]. Elle peut enregistrer un maximum de 11 caractères. A défaut d’utiliser la variable input_value, vous pouvez aussi entrer une constante directement au contact d’entrée de la fonction, dans le corps.
La variable input_value du type de données DINT est convertie en STRING[11]. La valeur convertie est écrite dans result_string. Lorsque la variable input_value = 12345678, result_string affiche '12345678'.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,UDINT_TO_STRING!,,14,1,24,3,,?D?C);
B(B_VARIN,,input_string,12,1,14,3,);
B(B_VAROUT,,result_string,24,1,26,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:=UDINT_TO_STRING(input_value);