Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx read

Hi,
i am using a PCI-6601 to perform edge counting. I try to use the "count digital events-pause trigger.vi", as mentionned in several threads, but how to read the last value incremented in the counter register when it pauses, and how to reset for an other counting operation.
Thanks


0 Kudos
Message 1 of 7
(4,628 Views)
Hi,
There is a pause trigger example in LabView.
Go to Help > Find examples > and enter "pause" in the search Tabulation.

If you want to read the last value before the pause, you have to determine  when you make a pause (low or high level of the pause digital source. An idea is to make a continuous acquisition of this signal) and at this time call the Read function to read the counter value.

To reset a counter, refer to this link.
http://digital.ni.com/public.nsf/websearch/65E3DBC715998C3286256E900075B7F8?OpenDocument

Johan G.
NIF
 
0 Kudos
Message 2 of 7
(4,610 Views)
OK, thank you for this tip. What kind of timing should I use : sample clock, implicit, handshaking?....
The implicit timing gives me an error : trigger mode invalid for this channel : error 200300
The sample clok timing can not be used when a trigger property node is configured : error 200145
There is three other types of timing functions, but they are absolutely unclear to me, newbie in LV...
Could you please have a look at the attached vi and tell me what's wrong with it?
Thank you for any help...
Fredni
0 Kudos
Message 3 of 7
(4,590 Views)

I don't have LV on my network PC so I can't look at the code.  However, I wanted to ask a different question: are you sure that pause-triggered counting is what you want?  There's some software polling involved in your approach that is less reliable than performing the measurement with the hardware.

A different technique would be to measure buffered pulse widths.  In this mode, the hardware will count during a signal's high time and when the signal goes low, the count value will be buffered and then reset to 0.  On the next transition to high, the count starts over again from 0, buffering the next high time when the signal transitions back to low again.  Using this technique, the storage and reset are done at a low level by the hardware and/or driver.

-Kevin P.

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 4 of 7
(4,585 Views)
I Kevin, still on line?
I just answered you in this other thread (http://forums.ni.com/ni/board/message?board.id=40&message.id=3843&jump=true#M3843); Sorry for posting everywhere....
No, a pause-trigger measurement task is definitively not what I want to do. A buffer period (or pulse width?)  measurement is I think a good solution. I've seen that there is a also a buffered semi-period measurement possible? Is it twice faster?
Fredni
0 Kudos
Message 5 of 7
(4,581 Views)

Fred,

Assuming this is all for the same app, I'll reply in the other thread where there's more info already present.  Based on the description in that thread, it sounds like you should measure periods, not semi-periods or pulse widths.

-Kevin P.

Message Edited by Kevin Price on 07-27-2006 11:53 AM

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 6 of 7
(4,571 Views)

I don't know if I want to make a period or semi-period measurement. For me, there's not a big difference beetwen both, except that in a semi-period measurement you can count both on high and low semi-period, so it could be twice faster than a period measurement.
Well, anyway, I am waiting for your help in the thread you mentioned. I am so impatient...
Thank you
Fred.
0 Kudos
Message 7 of 7
(4,562 Views)