LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reference Trigger VI and pretriggering

Hello,
 
With LabVIEW 8 (my API is NIDAQmx), I would like to acquire some analog data and I would like to make this task be triggered : I need to keep the data which are acquired after the trigger. And I also need to keep an amount of data which are acquired JUST before the trigger.
 
I have read many messages about triggering and pretiggering. I wonder weather I could use a Reference Trigger VI to perform the pretrigger. But I have a doubt about this VI. What I understand by reading the VI help (in french, maybe the translation is not very good) is that the pretrigger samples are acquired as soon as the task starts. Then, when the specified amount of pretrigger samples has been acquired, the task stops. And then, when the trigger level is reached, the task restarts to acquire the specified amount of trigger samples. Is it really what the VI does ?
 
If so, that is not what I want to do. As I said, what I want to do is keeping data which are acquired after the trigger (for instance : 1000 samples), and I also want to keep the data which are acquired JUST before the trigger (for instance : the 3000 samples being prior the trigger). How could I do that with NIDAQmx functions please ?
 
Thank you very much in advance !
 
Julien
0 Kudos
Message 1 of 9
(3,985 Views)

Hello

The reference VI is the right.

The pretrigger sample are acquired as soon as the task starts but the samples are overwrited and you have only the samples that you want.

Best regards

VéroniqueD
NI France
0 Kudos
Message 2 of 9
(3,959 Views)

Bonjour,

Tout d'abord merci pour le coup de main. Vous voulez dire que les premiers points échantillonnés lors du démarrage de la tâche sont remplacés au fur et à mesure par les nouvelles données acquises et que par conséquent, au final ne resteront dans le buffer que les points précédant le trigger (points JUSTE avant le trigger) (et ceux suivant le trigger bien entendu) ? Je préfère reposer la question en français dans la mesure où je serai certain que ma question n'était pas mal posée en anglais !   🙂

Si je pose la question, c'est parce que je ne peux pas faire le test pour le moment (je n'ai pas encore reçu la carte).

0 Kudos
Message 3 of 9
(3,959 Views)
Oui vous avez parfaitement compris. Les échantillons non désirés sont écrasés au fur et à mesure.
Il ne vous restera plus que les points avant le trigger et après le trigger.
Cordialement
VéroniqueD
NI France
0 Kudos
Message 4 of 9
(3,951 Views)
Merci beaucoup !
 
Julien
0 Kudos
Message 5 of 9
(3,949 Views)

Bonjour,

J'ai reçu la carte d'acquisition, et le Reference Trigger VI fonctionne très simplement en effet. Mais j'ai tout de même une autre petite question. Au niveau de mon IHM, j'ai un bouton "Acquisition" qui permet de configurer et démarrer la tâche d'acquisition avec trigger et pretrigger. Mais j'ai aussi un bouton "Annuler" : j'aimerais que l'utilisateur puisse annuler la tâche d'acquisition au moyen de ce bouton. Le problème, c'est qu'une fois la tâche démarrée (clic sur "Acquisition"), je ne vois pas comment je peux l'interrompre car mon application attend que le trigger ait lieu. Et les 2 seules choses qui semblent pouvoir mettre fin à la tâche sont un dépassement du seuil de déclenchement bien sûr, ou un timeout. Existe-t-il un moyen d'interrompre ma tâche d'acquisition en appuyant sur "Annuler" alors que le seuil de déclenchement n'a pas encore été dépassé (et que le déclenchement n'a donc pas encore eu lieu) ???

Merci d'avance,

Julien

0 Kudos
Message 6 of 9
(3,919 Views)

Je précise que la gestion du bouton "Annuler" devient possible si le trigger est réalisé par soft (exemple de labview 8.2 : Cont Acq&Graph Voltage-Analog SW Trigger). Mais la fonction réalisée par le VI Analog SW Trigger n'est pas strictement équivalente à celle réalisée par le Reference Trigger VI.

En effet, si j'utilise le VI Cont Acq&Graph Voltage-Analog SW Trigger, je retrouverai bien le nombre d'échantillons de pre-trigger spécifié. En revanche, je ne retrouverai pas forcément le nombre d'échantillons de post-trigger spécifié ! (si le nombre de points lus à chaque tour de boucle est de 4096 avec un pre-trigger de 410 points, je retrouverai donc bien mes 410 points de pre-trigger, mais je n'aurai parfois que 1500 échantillons de post-trigger par exemple, alors que j'en voudrais 4096 - 410 = 3686).

Ma question est donc la suivante : Dans l'éventualité ou gérer le bouton "Annuler" serait impossible avec le Reference Trigger VI, savez-vous comment je pourrais modifier le VI Analog SW Trigger pour qu'il se comporte exactement comme le Reference Trigger VI (pas de perte des échantillons de post-trigger) ?

0 Kudos
Message 7 of 9
(3,914 Views)
J'en aurai ch.. mais j'ai trouvé ! Ca peut intéresser qqn alors je mets le VI à disposition ! Par contre je recommande à quiconque serait tenté de l'utiliser d'y jeter un oeil avant. Notamment parce que le fait de manipuler des portions de courbes peut conduire à quelques petites erreurs en terme d'indices de tableaux (+/- 1). Si vous repérez une erreur de ce genre, ce serait gentil de me le faire savoir...
0 Kudos
Message 8 of 9
(3,911 Views)
CE VI EST CORRECT !!! Celui joint dans mon post précédent n'est pas fonctionnel ! Mea culpa...
0 Kudos
Message 9 of 9
(3,846 Views)