From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet des autres produits NI

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Gros problémes avec les Tableaux sous Labview

Bonjour tout le monde,

J'ai fait de nombreuses recherches dans le forum mais je n'ai trouvé aucune réponse à mon probléme ou alors elle m'a échappé.

En résumé je fais chaques secondes une acquisition de 5 valeurs que j'ai affiché dans mon tableau 1D de 5 lignes.

Maintenant ce que je voudrais c'est que ces valeurs soit dans un tableau comprenant toutes les valeurs réunies.

Exemple : quand j'ai acquis 5 points dans mon premier Tableau 1D, je veux envoyer C informations sur le tableau général qui commence a l'indice 0
la seconde suivante les 5 nouvelles valeurs soient ajoutées a la suite des 5 précédentes et ceci tant que l'acquisition est enclenché.

J'ai beaucoup cherché mais je suis perdu et c'est comme toujours dans ces cas la un travaul urgent.

Merci a tous pour vos réponses.
0 Compliments
Message 1 sur 19
4 715 Visites
Il suffit d'utiliser la fonction append et un registre à décalage, comme dans les exemples suivants.
Vous pouvez concatener les données pour créer soit un tableau 1D, soit un tableau 2D.
Vous pouvez aussi remplacer le registre à décalage par un feedback node (noeud de rétroaction ?).
 

Message Edité par chilly charly le 10-31-2007 01:59 AM

Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...
        
Message 2 sur 19
4 711 Visites
Chilly Charly a encore frappé Smiley clignant de l'œil!

C'est ce qu'on appelle une réponse exhaustive.

A+

Raoul Chodziesner-Bonne
Ingénieur Instrumentation
CRIL TECHNOLOGY - Groupe ALYOTECH

"Celui qui pose une question peut paraitre idiot sur le moment, celui qui n'en pose pas le reste toute sa vie!"
Message 3 sur 19
4 702 Visites
Merci pour essayé de m'avoir aidé mais ce que tu m'as montré je l'avais deja essayé et ca ne fonctionne pas, il me mets les valeurs uniquement dans les 5 premieres cases au lieu de les ajouté les unes à la suite des autres.

Je vous mets un jpeg de ce que je fais avec mon Vi

allrs dans le tableau transition G des temps situés entres 0 et 999 ms, a chaqun de ces temps G une valeur booléen 1 ou 0 que j'ai dans le tableau data.

Ensuite je trie mes données pour n'avoir que les temps ou la data était a 1 que je mets dans mon tableau transition retenues. Ensuite avec C 10 valeurs car j'en ai toujours 10 je fé la valeur de la 1ere cas moins la 2e puis la 3e moins la 4 etc.

Ces soustraction etant éffectuée je les inseres dans le tableau Delta t

TOUT CA MARCHE TRES BIEN

ce que je veux juste c'est mettre dans un tableau ou je ne connais pas le nombre de ligne Les 5 valeurs calculé en 1sec, mon prob est qu'il insere toujours les valeurs aux 5 premieres cases alors que moi j'aimerai un historique car je dois traité ces données dernieres.

Je sais pas si j'étais clair, je l'éspére merci pour votre Aide
0 Compliments
Message 4 sur 19
4 695 Visites
Il vaudrait mieux nous envoyer une image de ton code, ça nous aiderai plus a comprendre ton PB.

Parce que vu ce que tu explique, la réponse de Charly est la bonne.

A+

Raoul Chodziesner-Bonne
Ingénieur Instrumentation
CRIL TECHNOLOGY - Groupe ALYOTECH

"Celui qui pose une question peut paraitre idiot sur le moment, celui qui n'en pose pas le reste toute sa vie!"
Message 5 sur 19
4 680 Visites
Bonjour,

Des solutions proposées par Chilly Charly, celle présentée en haut à droite vous permet d'avoir un tableau 1D avec toutes vos valeurs; à l'aide d'un clic droit sur la fonction Construire un tableau, vous pourrez activer la concaténation des entrées. En clair, les différent tableaux présents en entrée de la fonction seront mis bout à bout. Le noeud de rétroaction (traduction de feedback node - bien vu Chilly) vous permet de conserver le résultat d'une itération à l'autre de la boucle pour agrandir à chaque fois votre tableau de 5 valeurs.

Si au contraire, vous souhaitez garder ligne par ligne les 5 valeurs de chaque acquisition, n'utilisez par la concaténation; la fonction construire un tableau rajoutera un ligne au tableau 2D présent en entrée. N'hésitez pas à postez un VI simplifié qui reproduit votre problème (et uniquement le problème), il sera alors plus facile de vous aider.

Dernière chose; vous aurez sans doute remarqué que le language SMS n'a pas cours sur ce forum. Sachez qu'il n'y a pas - à ma conaissance - de limitation en termes de caractère par message...

Cordialement,
Message 6 sur 19
4 676 Visites
C vrai désolé voila une image d'un bout du code on voit a la sortie de ma boucle for que je récupere un tableau de 5 lignes avec mes 5 soustractions
Ce que je veux c'est inserer ces valeurs dans un autre tableau dont je ne connais pas le nombre de ligne mais ke les premieres valeurs soient aux 5 premieres cellules puis les 5 suivantes  se mettent à la suite dans le tableau etc.

en sachant ke G 5 points par sec et que la mesure dure environ 60 sec

Merci pour la réactivité de vos réponses C'est génial ce forum
0 Compliments
Message 7 sur 19
4 673 Visites
Câblez l'index de la fonction Remplacer un élément du tabelau, cela devrait arranger les choses...

D'autre part vous utilisez un tableau initialisé vide en entrée; si vous ne connaissez pas la taille finale de votre tableau, utilisez la fonctions présentée par Chilly Charly. La fonction de remplacement est plus adaptée au remplissage d'un tableau dont on connait la dimension à l'avance (avant d'entrer dans la boucle).

Cela semble être votre cas puisque vous utilisez une boucle For. Vous pourriez donc utiliser la valeur fournie au terminal N de votre boucle pour initialiser un tableau, avant d'en remplacer les élements, en utilisant pour l'index de l'élément à remplacer le terminal i de la boucle.

Message Edité par Mathieu R. le 10-31-2007 11:05 AM

0 Compliments
Message 8 sur 19
4 673 Visites
Merci pour votre réponse mais vous entendez quoi par indexer le tableau ?
Je commence à me perdre un peu la alors qu'au début je trouvais l'approche de Labview et les tableaux assez cohérente
0 Compliments
Message 9 sur 19
4 663 Visites

(index = indice)

Indexer un tableau : extraire un/des éléments d'un tableau X(i) en utilisant la valeur de l'indice i.

Rien à voir avec LabVIEW, c'est la même chose dans tous les langages de programmation...

et S'IL VOUS PLAIT, abandonnez le langage SMS !!!

Message Edité par chilly charly le 10-31-2007 12:05 PM

Chilly Charly    (aka CC)

         E-List Master - Kudos glutton - Press the yellow button on the left...
        
Message 10 sur 19
4 660 Visites