06-01-2009 02:49 PM
I am generating a counter frequency out signal on a pci-6220 m-series card. I want to then share this signal with other cards over an RTSI line, and therefore, I use export signal VI. However, right after a computer reboot this VI will not produce a counter signal. If I then generate a signal using MAX, I can go back and run this VI fine until the computer is rebooted again. If I remove the export signal VI, then everything runs fine.
It seems like the inclusion of the export signal VI makes it not workafter reboot until it is initialized using MAX. I am quite confused.
Thanks for your help,
Pat
Solved! Go to Solution.
06-01-2009 05:56 PM
Hi Pat,
Are you getting counter output on RTSI0 but not on PFI12? This sounds like a bug that was reported to R&D as CAR #44655 and fixed in NI-DAQmx 8.8. Normally DAQmx uses the value of the CO.Pulse.Term channel property (which defaults to PFI12 for ctr0) to control the counter output route, but exporting the Counter Output Event signal caused CO.Pulse.Term to be ignored. In DAQmx 8.8 and later, the values of both properties should be combined.
Why would creating a pulse generation task in MAX seem to fix the problem? When a DAQmx task routes signals to PFI lines, they stay routed until you reboot, reset the device, or reconfigure that PFI line for a different purpose (a different output signal, or an input).
If you're using 8.7.x or older, I'd recommend upgrading to the latest version, NI-DAQmx 8.9. If you can't upgrade, or if that doesn't fix the problem, I would try passing "/Dev2/RTSI0,/Dev2/PFI12" to the DAQmx Export Signal VI. Alternately, you could change your VI to create, start, stop, and clear a second task to emulate what the pulse generation task in MAX is doing.
Brad
06-02-2009 04:55 PM
Thanks for the advice. I upgrades DAQmx to version 8.9 but that did not take care of the problem. I then included PFI12 in my export signal VI and that seems to have solved it.
Thanks again.
Pat
06-02-2009 06:20 PM
Hi Pat,
Thanks for posting a follow-up. I tried your original VI just now and it turns out that the previous fix for this issue was incomplete: DAQmx only combines the values of both properties when you set both properties. When you leave CO.Pulse.Term at its default value and set CtrOutEvent.OutputTerm (via the export signal VI), DAQmx still ignores CO.Pulse.Term, unfortunately. I reopened CAR #44655, so we will look into it again for a future DAQmx release.
Brad