06-23-2016 05:53 AM
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
Solved! Go to Solution.
06-24-2016 06:45 AM
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.
06-27-2016 03:20 PM
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
06-28-2016 02:21 AM
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