le 03-21-2016 05:06 AM
Bonjour ,
Actuellement en projet de fin d'étude je doit à partir d'une carte reliée en connexion série et qui envoie des series de nombres aléatoires récuperer ces données et les traiter
Mon problème étant le suivant :
Je reçois bien les séries de nombres à partir de ma carte Arduino et arrive à les mettre dans un tableau 1D , cependant il faudrait que je puisse à partir de mon Msb qui est constament le nombre 255 recréer un tableau à partir de mon premier tableau afin que mon deuxième tableau commence constament par le nombre 255 et que je puisse de ce fait connaitre la position des éléments.
Ex: Ce que j'ai dans mon premier tableau
28
1
255
30
1
255
..
..
Ce que j'aimerais obtenir dans mon deuxième tableau:
255
30
1
255
..
..
Pour info tout le cablage de mon VI est actuellement en rose (Chaine) je ne sais pas si une fonction existe ayant essayé à peu prés toute les fonctions que je pensais potentiellement possibles
Merci pour votre aide
Résolu ! Accéder à la solution.
le 03-21-2016 05:20 AM
Bonjour ATom78,
Il y a plusieurs solutions, l'une d'entre elle est d'utiliser la fonction de recherche dans les tableaux 1D avec la fonction sous-ensemble d'un tableau.
Bon courage
le 03-21-2016 05:21 AM
Salut ATom78,
Alors, il s'agit uniquement du reclassage d'un tableau si je comprends bien. Je ne comprends pas exactement la logique de reclassage, peux-tu revenir dessus s'il te plaît ?
Tu souhaites que ton tableau reclassé commence par 255, c'est ça ? Mais le reste des chiffres du tableau non classé a-t-il une importance particulière ? Pour reprendre ton exemple : si je décidais de reclasser ton tableau en
255
255
30
28
1
serait-ce convenable ?
(Si oui, il suffit de transformer ton tableau de chaine en tableau de nombre puis d'utiliser les deux VI natifs "Classer un tableau 1D" qui classe le tableau dans l'ordre croissant suivi d'"inverser un tableau 1D" pour classer dans l'ordre décroissant...)
Ps: Ce n'est pas étonnant que tu bosses sur des Chaînes, par défaut la fonction VISA-Read (très utile pour la lecture d'une liaison UART) sort une chaîne. Cependant, si tu es embêté, sache qu'il existe des fonctions natives sous LabVIEW permettant der changer des chaînes (décimales, hexadécimales ou octales) en nombres (Clic droit sur un diagramme -> Chaîne -> Nombre/Chaîne).
le 03-21-2016 05:55 AM
Merci à vous deux la solution se trouve dans vos deux réponses ,
La méthode que j'ia utilisé est donc la suivante :
-Conversion de ma chaine en nombre puis utilisation des fonctions de recherche dans un tableau 1D avec Sous ensemble de tableau.
Merci encore de votre aide
Thomas
le 03-21-2016 06:01 AM
Super, bien joué ATom78.
N'hésite pas à passer le topic en résolu (en "choisissant comme solution" les messages qui t'ont aidés sur le fil de la conversation).
Bye !
le 07-08-2016 04:38 AM
Bonjour,
Je suis actuellement en stage et je me demande si c'est possible chercher plusieurs elements dans un tableau 2D de chaine.
Le but est de chercher et separer les personnes avec les colonnes qui correspond à chacune des personnes (identification, designation, contructeur , etc...) et de les separer dans differents tableaux, pour la fonction chercher tableau j'utilise la bibliothèque Open G mais je peux utiliser une autre aussi.
Je vous transmet un capture d'écran de mon VI.
Merci d'avance.
Cordialement.
Jolvera
07-08-2016 04:48 AM - modifié 07-08-2016 04:49 AM
Salut Jolvera,
Je te conseille d'ouvrir un nouveau topic, ça permet de rendre le forum bien plus clair et d'éviter d'avoir 4 questions différentes sous un seul sujet.
D'autre part, pense à mettre ton .vi (voire un snippet, en sélectionnant la partie de code qui t'intéresse sur ton diagramme, puis en cliquant sur Edit -> Create VI Snippet from selection (Edition -> Créer un extrait de VI à partir de la sélection)) en PJ de ta question, et pouqruoi pas le fichier CSV aussi. N'hésite pas à "enregistrer le VI pour une version précédente" (Fichier -> Enregistrer pour une version précédente) dans le cas ou tu as une version LabVIEW très récente.