Discussions au sujet de NI LabVIEW

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

Vitesse écriture variable partagée

Résolu !
Accéder à la solution

Bonjour à tous,

Dans une application, je souhaite enregistrer les données dans un graph lors d'une validation par appui sur un boutton poussoir. J'ai d'abord voulu faire cela du coté RT mais le processus prend trop de temps.

J'ai donc décider de le faire coté PC en passant les données à l'aide d'une variable partagée. Quand je n'enregistre pas les données, ma boucle RT tourne à 5ms comme je le souhaite mais lorsque je veux écrire les données dans une variable partagée, la boucle ralentit à 120ms.

Je me doutais qu'un ralentissement apparaiterai mais pas autant... Existe-t-il un moyen de rendre l'écriture plus rapide ?

 

Cordialement,

Nathan

0 Compliments
Message 1 sur 12
5 048 Visites

Tu peux montrer le code que tu utilises pour écrire tes données dans ta VP (côté RT). Tu écris bcp de données?

Attention aussi à bien paramétrer les VP, les paramètres par défauts ne vont pas pour toutes les utilisations, je crois que par défaut le buffering est activé, et ça peut être un gros piège.

 

De manière générale j'essaie d'éviter les VP pour transférer des données rapide en continu et j'utilise plutôt les network stream pour ça, je crois que c'est la méthode la plus adaptée.

https://forums.ni.com/t5/Example-Code/Using-Network-Streams-for-Data-Transfer-in-Real-time/ta-p/3528...

https://www.ni.com/en/shop/labview/lossless-communication-with-network-streams--components--archite....

https://www.ni.com/docs/en-US/bundle/labview/page/streaming-data-between-applications.html


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 2 sur 12
5 045 Visites

Je te remercie pour ta réponse si rapide.

Voilà le code coté RT, les données transmise peuvent etre assez concéquente.

A ce que j'ai vu la VP n'as pas le buffering d'activé quand aux autres paramètres, je ne sais pas vraiment lesquels sont les plus adaptés.

 

Pour les network stream je ne vois pas quelle partie de code va de quel coté (RT ou PC), je vais regarder les exemples mais si jamais tu en a un sous le bras ça m'interresse.

 

Cordialement,

Nathan

0 Compliments
Message 3 sur 12
5 043 Visites

Tu peux juste mettre un screenshot de ton VI, j'ai pas Lv 2013... juste 2012

 

Pour ce qui est du network stream, l'envoie (écriture) se fait du côté RT et la réception (lecture) du côté PC.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 4 sur 12
5 039 Visites

Voilà la partie qui écris dans la variable, en général je réceptionne des paquet d'environs 1000 données.

 

 

0 Compliments
Message 5 sur 12
5 037 Visites

?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 6 sur 12
5 032 Visites

Sans.JPG

 

Désolé, je sais pourquoi, ça a bugger ^^

0 Compliments
Message 7 sur 12
5 030 Visites

pourquoi un timeout de 5 secondes?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 8 sur 12
5 028 Visites

Pourquoi pas?

Si j'ai pas de réponse au bout de 5s ça stop le processus.

0 Compliments
Message 9 sur 12
5 017 Visites

c'est pas la boucle qui contient ça qui doit tourner à 5ms?


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Compliments
Message 10 sur 12
5 015 Visites