Script variable string dan vijeo

Partie du forum pour tout ce qui concerne les interfaces homme machine ou IHM. Forum, conseil, astuce et entraide sur les interface homme machine ou IHM tels que les magelis, KEP, proface, XBT, .
Avatar de l’utilisateur
steph31
Forcené des structures
Forcené des structures
Messages : 177
Inscription : 20 oct. 2015, 19:17
Localisation : Toulouse

Script variable string dan vijeo

Message par steph31 »

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.
Script.JPG
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Script variable string dan vijeo

Message par itasoft »

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
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
Bruce33
Créateur de langage
Créateur de langage
Messages : 716
Inscription : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Script variable string dan vijeo

Message par Bruce33 »

Avec cette histoire de string, tu ne serais pas en train de nous faire un script tease, itasoft ?! :oops:
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Script variable string dan vijeo

Message par itasoft »

Bruce33 a écrit : 23 févr. 2021, 00:09 Avec cette histoire de string, tu ne serais pas en train de nous faire un script tease, itasoft ?! :oops:
-----
MDR
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Script variable string dan vijeo

Message par itasoft »

itasoft a écrit : 22 févr. 2021, 22:15 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
exemple:
String TXT=TInfo.getStringValue();
//Extrait les caracteres de 0 à 9
String Tbase=TXT.substring(0,9);
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
steph31
Forcené des structures
Forcené des structures
Messages : 177
Inscription : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Script variable string dan vijeo

Message par steph31 »

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.
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Script variable string dan vijeo

Message par itasoft »

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
Automaticien privé (de tout)
itasoft@free.fr
Avatar de l’utilisateur
steph31
Forcené des structures
Forcené des structures
Messages : 177
Inscription : 20 oct. 2015, 19:17
Localisation : Toulouse

Re: Script variable string dan vijeo

Message par steph31 »

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.
Capture2.JPG
Code de ma carte
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Script variable string dan vijeo

Message par itasoft »

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
Automaticien privé (de tout)
itasoft@free.fr
Répondre