le 08-19-2014 03:39 AM
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
Résolu ! Accéder à la solution.
le
08-19-2014
03:58 AM
- dernière modification le
05-14-2025
07:20 PM
par
Content Cleaner
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://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
le 08-19-2014 04:27 AM
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
le 08-19-2014 04:42 AM
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
le 08-19-2014 04:50 AM
Voilà la partie qui écris dans la variable, en général je réceptionne des paquet d'environs 1000 données.
le 08-19-2014 05:03 AM
?
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus
le 08-19-2014 05:04 AM
Désolé, je sais pourquoi, ça a bugger ^^
le 08-19-2014 05:12 AM
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
le 08-19-2014 06:12 AM
Pourquoi pas?
Si j'ai pas de réponse au bout de 5s ça stop le processus.
le 08-19-2014 06:25 AM
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