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.
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.
le 04-03-2018 03:34 AM
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 !!
le 04-03-2018 05:07 AM
- 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" ?
04-03-2018 05:13 AM - modifié 04-03-2018 05:14 AM
La deuxième methode c'est la fonction Producer / Consumer entre les deux boucles.
Oui je voulais dire très lentement.
le 04-03-2018 05:20 AM
"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.
le 04-03-2018 06:20 AM
Désole mon Français n'est pas très bon,
Alors c'est quoi le problème du code ?
le 04-03-2018 07:40 AM
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,
le 04-03-2018 07:49 AM
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é.
le 04-03-2018 08:03 AM
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à.
le 04-03-2018 08:14 AM
Comment je peux déterminer le temps d'exécution des boucles , il y'a une fonction qui fait cela ?
04-03-2018 10:24 AM - modifié 04-03-2018 10:27 AM
Tu peux t'inspirer de ces pages :
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019NzxSAE
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.