Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI-6509 Intermittent Port Reads

I'm using nearly all I/O on my PXI-6509.  I've set my PXI-6509 so that ports 7-11 (starting from port 0) are all TTL sensor inputs.  I've set my VI so that when I read the sensor ports I update button text and colour on the VI's front panel.  Every once in a while I've noticed all the buttons for port 7 will suddenly change state and then resume correct operation.  I put some traps in the code and apparently port 7 returns all zeroes at the time this occurs.  It is very brief and extremely intermittent making it hard to debug.  I've noticed it four times in the last 3 months.  So far I've only seen this occur on port 7 not ports 8-11.

 

There is the possibility this is a hardware issue, possibly a ground connection that is not secure or is resistive.  I did read on ni.com that DAQmx v8.8 addressed a bug "reading ports on fast computers".  Since I'm using a dual core 2.33 GHz system I figured this might just do the trick, but after upgrading I've seen it once.  I'm just wondering if anyone else has seen this problem or if there are some recommendations for my VI.

0 Kudos
Message 1 of 6
(4,192 Views)

Hi Fluf,

 

Your '=0?' code would return a true with an 8 bit analog input of 11111111.  The 6509 has an optional digital filter that eliminates glitches on input data.  Page 7 of the 6509 User Guide and Specifications explains this filter in more detail.  It's possible that the root issue is a grounding problem.  The easiest way to verify if the issue is with the card or your hardware is to unplug the card from your hardware and plug the inputs into a known pattern (10101010) and then run your code and see if 1111111 is ever actually returned. 

-John Sullivan
Problem Solver
0 Kudos
Message 2 of 6
(4,173 Views)

Correct - I've wired the port with active low inputs.  In the case of my setup "all zeroes" on the output side of the inverter in the VI means the port suddenly went inactive which could not possibly happen since other electrical changes (such as power being taken away from a device) would occur if that were true.

 

Based on the link you provided the digital filter idea sounds interesting and easy to implement.  Perhaps the port is going metastable during sampling.  Unfortunately, I did not see where or how to configure digital filtering only that it can be configured on the 6509.  I opened MAX but all I see is greyed out boxes on the "Triggering" and "Advanced Timing" tabs under my DAQmx tasks; when I select Properties under NI-DAQmx Devices in MAX the only window that opens is the Power-Up State panel.  A brief search through the forums for "digital", "filter" and "6509" did not show anything specific.  BTW, I am using a PXI-6509, in case there is a diff between PCI, USB and any other model of 6509.  Is digital filtering a VI feature?  I presumed it would be a control panel within MAX.

 

The fixed pattern is also a good idea.

0 Kudos
Message 3 of 6
(4,154 Views)

Hey Fluf,

 

Take a look at "How Do I Enable Digital Filtering on My PCI-6509?"  This applies to all NI-6509 products.

-John Sullivan
Problem Solver
0 Kudos
Message 4 of 6
(4,141 Views)

This is good information -- the VI is especially helpful but I gotta say it took some work to get here.  Not exactly intuitive (for me and maybe the person that submitted the original post) to decode this feature on the 6509 and hard to find specifics of filtering in the documentation.  Any reason why this isn't in MAX in addition to being buried in a specific DAQ property node?  Seems like a good place to configure things like this for users who want to set it and forget it.

 

Also, is it necessary to create a virtual channel to set the props?  I'm relying on Labview to create/open/close my DAQ task automatically instead of using the specific DAQ create/destroy polymorphic VIs.

0 Kudos
Message 5 of 6
(4,122 Views)

Hey Fluffums,

 

You current setup should properly turn on the digital filtering for your device.  The reason that we don't have these listed in MAX is that MAX is meant for only basic settings that apply to all devices.  There are often dozens of configurable properties and if the property isn't necessary for basic functionality or applicable to all devices, it is usually not listed in MAX for simplification reasons.  Because digital I/O can often be done successfully without the digital filtering and because digital filtering isn't available on all hardware, the decision was made to include this as an advanced property.  All properties can be called from either LabVIEW or any text-based language that uses the DAQmx driver.

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 6 of 6
(4,103 Views)