QUESTION:
Je souhaite convertir un nombre entier en ASCII avec un script WinCC. Comment dois-je procéder ?
REPONSE:
Utilisez la routine String I/O "sprintf()".
Vous trouverez, ci-joint, un projet WinCC qui vous montre cette conversion. Dans le gestionnaire de variable de WinCC, deux variables internes ont été créées avec les propriétés suivantes :
|
Nom |
Type de données |
|
inint |
Valeur 32 bits signée |
|
outstr |
Variable de type texte 16 bits |
Lorsque vous démarrez le Runtime, la fenêtre suivante apparaît :
Dans le champ "input integer", vous indiquez la valeur entière et vous cliquez ensuite sur le bouton "convert". Dans le champ "output string", apparaît alors la valeur entière sous la forme d'une chaîne. Le script en C qui se trouve derrière le bouton "convert" et permettant de convertir un entier en une chaîne de caractères ressemble à :
DWORD Val;
char TmpStr[64];
Val = GetTagDWord("inint");
sprintf (TmpStr, "%u", Val);
SetTagChar ("outstr", TmpStr);
printf("\"%s\"\r\n",TmpStr);
Le projet WinCC se trouve dans l'archive zip ci-jointe. Le projet a été créé avec WinCC V5.0. Copiez le fichier sur votre disque dure et décompactez l'archive par un double-clic.
int2str_1.exe ( 1833 KB )
|