le 10-17-2012 08:17 AM
Bonjour,
J'ai besoin de votre aide concernant mon application. Je fais plusieurs acquisitions en parallèles (carte CAN, Thermocouple, BNC), je récupère les points et je les mets dans des files d'attentes (producteur-consommateur). Dans ma boucle consommatrice, je jécupère le premier élément de chaque file, je fais une mise à l'échelle et je fais l'affichage dans cinq graphs. Petit problème, lors de la visualisation de mes graphs, il y a des trous et puis au bout de quelques secondes les courbes disparaissent complètement.
Le design globale de mon application est une state machine. Dois-je changer le design de mon code?? J'ai entendu parler de la programation orienté objet, est-ce une solution??
Pouvez vous m'aider. Le code pour ouvrir le diagramme est : nationalinstrument
Cordialement.
le 02-13-2013 07:50 AM
Bonjour,
Je n'ai pas la dernière version installée sur mon poste.
Aurais-tu la possibilité d'enregistrer ton projet en version 2011 ou 2010 ou encore faire un imprimé écran de ton diagramme?
le 02-13-2013 08:18 AM
YES, c'est ça qu'est bon! Ca faisait longtemps que j'avais pas vu un diagramme qui tient pas dans mon écran, faut dire, depuis que j'ai du 1920*1200...
Pardon pour cette remarque un peu grinçante, mais je te conseille de faire l'effort de garder des diagrammes qui tiennent dans une taille "raisonnable" - c'est à dire inférieure à 1200*1000 - en plus d'éviter de scroller ça force à modulariser le code.
Bon, je commence à commenter ton code maintenant : je comprends pas pourquoi tu utilises des queues pour tes données (ça c'est plutôt bien) et tu utilises des locales pour synchroniser tes boucles d'acquisitions? D'ailleurs pourquoi avoir autant de boucle? Celles qui tournent à la même cadence pourrait être fusionnées, je crois que ça simplifierait bcp ton code.
Pour tes trous dans tes courbes, je pense que ton problème est dans ce sous VI :
Je crois que tu te simplifierais grandement la vie si tu faisait en sorte de mettre tes données sous forme de waveform à l'acquisition et non pas dans la boucle d'affichage.
Bon courage
We have two ears and one mouth so that we can listen twice as much as we speak.
Epictetus