From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmx change detection on PFI line (unbuffered)?

Solved!
Go to solution

Hello!

 

I am trying to set up a change detection on a digital input line for triggering a software event.  I am using the PCIe 6321 DAQ board.

 

This works well with a buffered IO line (i.e. any line of port0, see code snippet). However, since I need the buffered lines for other tasks, I would like to use one of the PFI lines (port 1 or 2).

 

Now, if I use for instance port1/line2, I get error -201062:  "Selected lines do not support buffered operations. Ensure only lines that support buffered operations are being used in the task. If using change detection timing, the task must be changed to non-buffered to support these lines."

 

So, is there a way to do the change detection on a non-buffered line?

I have searched the help and web resources, but could not find anything useful.

 

I'd be happy about any hints or suggestions.

Best regards,

Sebastian

 change detection code

 

 

 

 

 

 

0 Kudos
Message 1 of 4
(4,068 Views)

Heey,

 

as you have a X-Series device the following article could be interesting for you.

 

What Are the Features and Differences of the PFI Lines in X Series, M Series, E Series, and S Series Devices? - National Instruments
http://digital.ni.com/public.nsf/allkb/0BBE81842C51742386257F17004E28CD

 

Additionally i would try out to add a daqmx buffer property node to your vi and set the input buffer to 0.

 

If that does not work another possibility to look out for, would be to add the daqmx channel property node and set the data transfer mode to programmed I/O.

That could help!

 

Greetings Peter F.

Message 2 of 4
(4,029 Views)
Solution
Accepted by topic author SebastianM

 

No, only the non-PFI lines of port 0 are going to support change detection at a hardware level.  Otherwise, you're stuck with software polling on ports 1 or 2, with limited timing resolution and no guarantee of catching every change.

 

 

-Kevin P

 

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
Message 3 of 4
(3,993 Views)

Thanks for the suggestions, Peter.

 

And thanks for the clear answer, Kevin.

Then I don't need to spend more time on this matter, and will just work with what I have.

 

Regards, Sebastian

0 Kudos
Message 4 of 4
(3,979 Views)