le 06-06-2023 03:54 AM
Bonjour à tous,
Je travail actuellement sur un programme qui fait l'acquisition et qui trace en temps réel le graph d'un capteur de pression. Mon problème est le suivant, sur le tracé l'axe des temps ne correspond pas au temps écoulé dans la vrai vie, exemple : je lance une acquisition pendant deux jours et quand je reviens l'axe des temps m'indique 10h d'écoulé.
Je n'ai vraiment aucune idée d'où le problème pourrait venir, si vous avez des pistes des idées ou des solutions je suis preneur.
Cordialement
le 06-06-2023 04:40 AM
Bonjour,
Ce serait plus simple de te répondre si l'on pouvait consulté le code en question.
Plusieurs pistes :
- Comment est-ce que tu réalises le cadencement de ton acquisition ?
- Quel type de matériels d'acquisition utilises-tu ? (DAQmx, Drivers VISA ?)
- Comment penses-tu faire la mesure du temps ?
- Quel type de données est-ce que tu manipules ? (Tableau 1d, 2d, waveform ?)
- Est-ce que tu n'afficherait pas des données indexé par nombre de points dans un graphique qui t'affiche un temps ?
Loïc
le 06-06-2023 05:13 AM
Je n'ai pas la réponse à toute vos question, je vous met le programme ci-joint, en revanche j'utilise DAQmx et ce sont des données waveform il me semble.
le 06-06-2023 07:29 AM
Indépendamment de la question du temps :
- Le nom du vi est probablement mal choisit étant donné que le code est enregistré avec une version de LabVIEW 2017 et non 2015
- Je ne sais pas a quel point tu es responsable du code mais il y a plusieurs ressource documentaires qui pourrai t'être utile :
- Using a Queued Message Handler in LabVIEW - NI
- Create a Message Handling Loop in LabVIEW Queued Message Handler Template - NI
- Ainsi que le modèle de projet "Acquisition Continue avec enregistrements"
Ces ressource donne des éléments de clefs pour la construction d'application avec plusieurs boucle qui s'exécute en parallèle.
Via notamment l'utilisation de "File d'attente" plutôt que des variables local.
J'essayerais de regarder ton code plus tard. D'ici si tu as l'opportunité de joindre ton code avec son projet LabVIEW cela sera plus simple aussi. Cela permettra d'embarquer tous les sous VI manquant.
Loïc
le 06-06-2023 07:48 AM
Je suis en stage en labo pour optimiser certains paramètre du programme, j'ai essayé de voir si ce n'etait pas un de mes ajouts qui avait pus provoquer ce problème, de plus j'ai changé le pc sur lequel le programme tourne, je ne sais pas si cela peut engendré un problème.
Des avis que j'ai eu il y a surement une tâche qui fais prendre du retard au programme mais étant donné le nombre de vi et sous vi c'est plutot dur de trouver si l'un d'entre eux occasionne ce problème.
Enfin le nom 2015 est seulement l'année ou le programme à vu le jours.
Je vous met les sous vi qui s'occupe des graphes problèmatique en pièce jointe, je ne peux pas tout mettre car il y a plus de 10 pièces.
Cordialement
le 06-07-2023 08:37 AM
Est ce certain que la gestion du temps était exact et que lorsque 2 jours s'écoulent, 2 jours sont affichés sur le graphe ?
Voir la durée qui s'écoule entre deux mesures et si cette durée est constante serait un point de départ (via un log de fichier .txt ou autre).
le 06-07-2023 08:50 AM
D'après ce qu'on ma dit avant que je ne change l'ordi et que je modifie le programme l'affichage fonctionné et lorsque deux jours passé, le graphe affiché bien 48h.
Et pour votre proposition comment puis je faire pour voir la durée qui s'écoule entre deux mesures ?
De mon côté j'essaye de faire tourner le programme en ne gardant que la partit qui traitre le graph pour voir si ce sont les autres boucles while qui pause problème.
06-08-2023 02:45 AM - modifié 06-08-2023 02:47 AM
Le snippet ci joint en example crée 10 mesures consécutives et calcule le temps entre 2 mesures (la première soustraction est à écarter puisqu'il n'y a pas d'antécédent).
Toute la partie avec le cluster d'erreur est pour le dataflow et se dire qu'à la place de la focntion que j'ai créée, n'importe quel sous vi avec une sortie d'erreur peut être utilisé.
Si le temps à estimer est le temps de la mesure alors il faut mettre le départ de temps avant le Sous vi de mesure puis après et soustraire les deux.
le 06-08-2023 03:45 AM
Super merci beaucoup j'essaye ça.