Script variable string dan vijeo
- steph31
- Forcené des structures
- Messages : 177
- Inscription : 20 oct. 2015, 19:17
- Localisation : Toulouse
Script variable string dan vijeo
Bonjour
Je reçois via le port série une variable « TInfo » string d’une longueur de 33 caractères. Celle-ci comporte que des chiffres.
J’essaye d’écrire un script pour extraire 5 variables de cette variable string de 33 caractères, la je patauge dans la semoule.
La première chaine « Tbase » dois comporter les 9 premier caractères de TInfo.
La seconde chaine « Thp » dois comporter les 9 caractères suivants qui suive Tbase de TInfo
La troisième chaine « Thc » dois comporter les 9 caractères suivant qui suive Thp de TInfo.
La quatrième variable « Tinst » dois comporter les 3 caractères suivant qui suive Thc de TInfo.
La dernière variable Timax dois comporter les 3 dernier caractères de TInfo.
Je dois avoir 3 variables de 9 caractères et 2 variables de 3 caractères.
Comment je dois faire
En vous remerciant de votre aide.
Je reçois via le port série une variable « TInfo » string d’une longueur de 33 caractères. Celle-ci comporte que des chiffres.
J’essaye d’écrire un script pour extraire 5 variables de cette variable string de 33 caractères, la je patauge dans la semoule.
La première chaine « Tbase » dois comporter les 9 premier caractères de TInfo.
La seconde chaine « Thp » dois comporter les 9 caractères suivants qui suive Tbase de TInfo
La troisième chaine « Thc » dois comporter les 9 caractères suivant qui suive Thp de TInfo.
La quatrième variable « Tinst » dois comporter les 3 caractères suivant qui suive Thc de TInfo.
La dernière variable Timax dois comporter les 3 dernier caractères de TInfo.
Je dois avoir 3 variables de 9 caractères et 2 variables de 3 caractères.
Comment je dois faire
En vous remerciant de votre aide.
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Script variable string dan vijeo
slts,
il faut utiliser dans un script les méthodes STRING, chercher les fonctions dans l'aide en ligne "méthodes string"
substring pour extraire des caractères dans une chaine
il faut utiliser dans un script les méthodes STRING, chercher les fonctions dans l'aide en ligne "méthodes string"
substring pour extraire des caractères dans une chaine
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- Bruce33
- Créateur de langage
- Messages : 716
- Inscription : 28 oct. 2015, 06:54
- Localisation : Pas-de-Calais
Re: Script variable string dan vijeo
Avec cette histoire de string, tu ne serais pas en train de nous faire un script tease, itasoft ?!
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Script variable string dan vijeo
exemple:
String TXT=TInfo.getStringValue();
//Extrait les caracteres de 0 à 9
String Tbase=TXT.substring(0,9);
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- steph31
- Forcené des structures
- Messages : 177
- Inscription : 20 oct. 2015, 19:17
- Localisation : Toulouse
Re: Script variable string dan vijeo
Bonsoir
Merci pour votre aide vous êtes un génie.
j'ai dit une connerie, ma variable TInfo n'est pas une chaîne, mai un tableaux de 33 bytes.
j'ai écrit:
String TXT = new String(TInfo);
au lieux de:
String TXT=TInfo.getStringValue();
ça fonctionne mais avec un décalage de caractères.
La cause: c'est que ma carte envoie "123456" au lieu de "000123456" pour les 9 premier caractères ce qui me décale tout sur la trame de réception.
je vair revoir mon code de ma carte.
Merci pour votre aide vous êtes un génie.
j'ai dit une connerie, ma variable TInfo n'est pas une chaîne, mai un tableaux de 33 bytes.
j'ai écrit:
String TXT = new String(TInfo);
au lieux de:
String TXT=TInfo.getStringValue();
ça fonctionne mais avec un décalage de caractères.
La cause: c'est que ma carte envoie "123456" au lieu de "000123456" pour les 9 premier caractères ce qui me décale tout sur la trame de réception.
je vair revoir mon code de ma carte.
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Script variable string dan vijeo
slts,
si dans l'automate tu reçois la chaine de caracteres dans des mots %MW exemple %MW100 sur une longueur de 16 mots
le mieux est dans IHM de déclarer la variable externe TInfo de type String longueur 32 à l'adresse absolue %MW100
si dans l'automate tu reçois la chaine de caracteres dans des mots %MW exemple %MW100 sur une longueur de 16 mots
le mieux est dans IHM de déclarer la variable externe TInfo de type String longueur 32 à l'adresse absolue %MW100
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- steph31
- Forcené des structures
- Messages : 177
- Inscription : 20 oct. 2015, 19:17
- Localisation : Toulouse
Re: Script variable string dan vijeo
C’est plus compliqué que ça. C’est sur un projet personnel.
L’IHM et un XBTGT2130 mono. Un IHM assez ancien.
Les infos reçu sur le port comm, provienne d’une carte avec un microcontrôleur que j’ai réalisé.
Ma carte envoie c’est 4 variables au format uint32_t, ce qui correspond a 4 Dword.
La trame est composée de 16 bytes.
Dans mon script Vijéo, je dois plutôt utiliser un tableau de 4 Dword au lieux de 4 variables string.
Dans mon script, je dois copier les 4 premier byte de TInfo dans un double mot, et ainsi de suite. Si c’est possible.
Dans ma carte, je peux modifier le code pour envoyer un caractère de fin de trame si besoin.
Code de ma carte
L’IHM et un XBTGT2130 mono. Un IHM assez ancien.
Les infos reçu sur le port comm, provienne d’une carte avec un microcontrôleur que j’ai réalisé.
Ma carte envoie c’est 4 variables au format uint32_t, ce qui correspond a 4 Dword.
La trame est composée de 16 bytes.
Dans mon script Vijéo, je dois plutôt utiliser un tableau de 4 Dword au lieux de 4 variables string.
Dans mon script, je dois copier les 4 premier byte de TInfo dans un double mot, et ainsi de suite. Si c’est possible.
Dans ma carte, je peux modifier le code pour envoyer un caractère de fin de trame si besoin.
Code de ma carte
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Script variable string dan vijeo
slts,
si ça arrive sur le port COM1 via le pilote de script, c'est obligatoirement des Bytes, donc comme tu as fait c'est bon
si ça arrive sur le port COM1 via le pilote de script, c'est obligatoirement des Bytes, donc comme tu as fait c'est bon
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr