LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Lire une fréquence variable, parfois nulle

Bonjour,

Je voudrais lire une fréquence avec DAQmx, sur une carte PCI 6624 (compteurs).
J'arrive à le faire simplement avec le DAQ Express, mais le problème est que cette fréquence varie au cours du temps, et peut, dans certains cas, être nulle. Quand elle est nulle, j'ai une erreur comme quoi le timeout est dépassé.
Comment puis-je faire pour résoudre ce problème ? Avec les noeuds de propriété ?
Je voudrais pouvoir lire la fréquence en permanence, et savoir quand elle est nulle, sans avoir d'erreur...

Merci d'avance.
0 Kudos
Message 1 of 5
(2,878 Views)
Reliez le VI que j'avais posté ici  à la sortie du cluster d'erreur de votre VI Express en définissant son entrée Erreur à annuler selon l'erreur en cas de fréquence nulle (-200474 si je ne m'abuse). Alternativement, le même résultat peut être obtenu en utilisant General Error Handler.vi en définissant ses entrées de la manière suivante :
  • exception action : cancel error on match
  • exception code : code de l'erreur à ignorer
La capture d'écran ci-dessous illuste les deux variantes :



Donnez-moi des nouvelles si le VI Express devait tout de même afficher une boîte de dialogue avec l'erreur et je vous indiquerai alors les opérations suivantes à réaliser.



Message Edité par JB le 04-07-2008 10:11 AM
Message 2 of 5
(2,873 Views)

Hi,
I saw you posted in the French forum and maybe to have a better public exposure you posted here as well. But here it is the English one. Please write you post in English.

    Benjamin R.


Senior LabVIEW Developer @Neosoft


0 Kudos
Message 3 of 5
(2,856 Views)
Hello,
Even if it's a english forum, i will answer in French, in order to don't break the thread.

Le problème que vous rencontrez est que par définition une carte compteurs est faite pour compter des fronts TTL. Le fait qu'un compteur puisse être utilisé dans une mesure de fréquence n'est qu'une conséquence de ceci. Le problème c'est que pour avoir une mesure de fréquence, il faut que la carte compteur ait des fronts sur lesquels faire des mesures. Or dans le cas d'un signal à fréquence nulle, soit de niveau ou de niveau bas, c'est que aucun front ne peut, par définition, être détecté par l'entrée compteur, donc aucun calcul de fréquence non plus d'où votre erreur de Timeout.
 De même , en génération d'impulsion avec une carte DAQmx, il n'est pas possible de générer un signal de fréquence nulle, c'està-dire avec un rapport cyclique de 0 ou 1....
Voila, pour mesurer une fréquence de PWMs, il faut pouvoir mesurer au moins une période d'un signal ... donc au moins deux fronts soit montants soit descendnats.
Cordialement,


Message Edité par pierreR le 04-07-2008 03:49 AM
Pierre R...

Certified LabVIEW Developer
Message 4 of 5
(2,849 Views)

J'ai bien compris que l'on ne pouvait pas générer ou lire des signaux continus à l'état haut ou état bas avec des compteurs.
Je cherche cependant à me rapprocher le plus possible d'une application ou je pourrais lire une fréquence continuellement, quitte à annuler l'erreur (grâce au tuyau de JB que je remercie) quand elle est nulle.

Merci beaucoup à tous pour vos réponses rapides !

0 Kudos
Message 5 of 5
(2,835 Views)