Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

detecting changes in digital I/O lines

Hello Ryan,

I think the "Register For Events" node in  DAQmx 8.0 is the perfect solution to my  problem. I already have  procured the LV8.0 upgrade kit but have been holding back the migration from LV 7.1 - not  have had the time to read the neccessities for the changeover.  I do hope the changeover will be smooth ?

I also presume that I will have DAQmx8.0 when I upgrade to LV8.0 ? ( There is no other way to know what version of DAQmx that you are running )

There was a query as to what  kind of timings I was able to achieve.

When running Timed loops, I always  wire the "Finished  Late "  node to a LED on the front panel and observe if it comes on. This way  I have reached timings of  5ms without  problems. ( Pentium IV @ 2.5GHz and 256 Mb ram ) But  the case is different if I have to do some operations to the disk ( read / write )  and in such cases  the time is anywhere between 50 and 100ms. Anything less and the LED remains permanently ON.

Thanks

Raghunathan.R


Raghunathan
LabVIEW to Automate Hydraulic Test rigs.
0 Kudos
Message 11 of 14
(2,522 Views)
Raghunathan,

You will actually need to install the latest version of NI-DAQmx after upgrading LabVIEW to utilize this functionality. Currently, the latest is 8.1 and it can be downloaded here. You can find your current version of DAQmx in MAX under the Software tree.

As for your coding question, I would perform my time critical acquisition/control in a separate loop from my logging and or UI code. You may want to look at one of the LabVIEW design templates, such as the Producer / Consumer pattern.

Hope this helps,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
0 Kudos
Message 12 of 14
(2,512 Views)
Hello Ryan,
I was reading the threads about digital line detection change and came upon this one. I use CVI 8.2 and CVI Real-time module 8.2 for my real time application. The target hardware is a PXI8196 with a PXI6225 card. I use the ChangeDetectionTiming with HWTimedSinglePoint as the sampling mode and use RegisterSignalEvent with ChangeDetection as the triggered event. In the event callback function, I would call the DIReadScalarU32 to determine the state of the input line and then call the DOWrite function to output to another line to replicate the input TTL signal.  The reponse time was around 40uS, but my jitter time is quite large, around 100us to 150us. I am just wondering if you've ever done any time response profiling for these particular functions.  Thanks in advance.

Mike
0 Kudos
Message 13 of 14
(2,183 Views)
Hello Mike,

I do not have any specific benchmarks for your particular board and how fast it can use change detection.  However, 100us sounds about right.  This is the same speed that many of our digital I/O cards run at when using change detection.  You can read more about the change detection of the digital I/O cards in their help file here.  If you have any more questions please let me know.

Have a good day,

Brian P.
Application Engineer
0 Kudos
Message 14 of 14
(2,162 Views)