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 de NI LabVIEW

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

Passage de données entres deux boucles while

Bonjour,

je veux passer un signal en temps réel entre deux boucles while,

la deuxième boucle reçoit le signal de la première boucle, j'ai utilisé la structure Producer Consumer et la structure Notificateurs mais avec les deux méthodes les données passe mais trais longuement !! 

 

0 Compliments
Message 1 sur 11
3 218 Visites

- ton code fait 2 écrans de haut, 2 écrans de large, plein de vide et d'escaliers, pas trop propre ... difficile d'être motivé.

- tu parles de "deux méthodes" .... la 1ere étant via un Notifier ... quelle est la seconde ?

- que veux-tu dire par "trais longuement" ... s'agirait-il de "très lentement" ?

0 Compliments
Message 2 sur 11
3 199 Visites

La deuxième methode c'est la fonction Producer Consumer entre les deux boucles. 

Oui je voulais dire très lentement.

0 Compliments
Message 3 sur 11
3 191 Visites

"producteur-consommateur" n'est pas une méthode pour passer des infos entre deux boucles, c'est une Architecture .... Architecture dans laquelle il faudra choisir la façon de passer les infos ... Notifier, Queue (le plus souvent), même via des Events c'est possible. "très longtemps" ... ok, tu veux probablement dire "très lentement" ("longtemps", c'est une durée, "lentement" c'est une vitesse, c'est pas la même chose ... mais ok, compris.

0 Compliments
Message 4 sur 11
3 188 Visites

Désole mon Français n'est pas très bon,

Alors c'est quoi le problème du code  ?

0 Compliments
Message 5 sur 11
3 176 Visites

Pourrais-tu stp nous en dire plus sur l'architecture globale de ton application ?

Telle que je la vois pour le moment, j'ai l'impression que tu récupères des infos du FPGA pour les renvoyer vers le FPGA. Pourquoi revenir vers la partie RT ou ton PC pour transférer des données internes au FPGA ?

 

Merci,

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 6 sur 11
3 167 Visites

Oui c'est ca l'idée, je récupéré un signal analogique , j'envoi le signal vers le HOST , je vais faire une atténuation de ce signal.

Je teste 2 méthodes pour cela , ensuite je vais renvoyer le signal vers la cible FPGA pour le récupérer sur un output.

Mais sur l'exemple que j'ai mis ici , j'ai relié le signal directement entre les FIFO juste pour essayer de résoudre le passage de signal entre les deux boucles. Mais en réalité , je vais passé le signal filtré.  

0 Compliments
Message 7 sur 11
3 163 Visites

Je vais sûrement dire une bêtise car a priori le FPGA tourne assez vite, mais es-tu sûr que ce ne sont pas les FIFO qui bloquent tes boucles ? L'une qui serait vide ou pleine ?

Je serais toi, je vérifierai le temps d'exécution des tes boucles sans les notificateurs avant d'aller plus loin. Histoire de vérifier que tout roule de ce côté là.

CLAMaxime -- Kudos are a great way to say thank you
Message 8 sur 11
3 154 Visites

Comment je peux déterminer le temps d'exécution des boucles , il y'a une fonction qui fait cela ?

0 Compliments
Message 9 sur 11
3 149 Visites

Tu peux t'inspirer de ces pages :

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019NzxSAE

https://forums.ni.com/t5/Example-Programs/Simple-Code-Performance-Benchmark-Using-LabVIEW/ta-p/35124...

 

Il faudra remplacer les VI de gestion du temps par ceux de la palette FPGA ou RT selon le cas d'utilisation.

 

De mémoire, si tu utilises des boucles cadencées, tu as moyen de connaître la durée exacte de ton itération précédente (info à récupérer dans le nœud de propriété situé en haut à gauche). Mais je peux me tromper.

CLAMaxime -- Kudos are a great way to say thank you
0 Compliments
Message 10 sur 11
3 137 Visites