I'm trying to run example "PWM-Analog Output" (http://www.ni.com/example/26675/en/) on my X-Series NI USB-6343, but LabVIEW 16.0 is generating error 200077. I believe it is from the upper DAQmx Timing block "Hardware Timed Single Point" configuration. The X-Series user manual suggests that "Hardware Timed Single Point" is available for this hardware, so I'm not sure what the problem is. I'm kind of a newbie, particularly to counters, so there's probably some basics I'm missing. Thanks!
Solved! Go to Solution.
Unfortunately, hardware timed single point acquisition is not available on the USB form factor DAQ devices. The following KnowledgeBase article lists what devices do support it.
Hi Maggie - Thanks so much for the reply. Now I see the note "Note (NI USB-634x/635x/636x Devices) USB X Series devices do not support hardware-timed single point (HWTSP) operations." in the manual (http://www.ni.com/pdf/manuals/370784g.pdf). Is there any other way to accomplish this with my device?
HW-Timed single point is a fairly special-purpose acquisition mode. Odds are it probably isn't the mode you'd want to use even if you had hardware that supported it.
Maybe it'd be a good idea to back up a couple steps and define exactly what "this" you're trying to do. What's the PWM for? What voltage level? Is it variable? What frequency and duty cycle ranges do you need to support? Do both vary or only duty cycle?
When possible, counter pulse train output would be the most conventional and simple way to generate 5V logic level PWM. If you really need to use AO instead, it'll help to know exactly what requirements and constraints you're working with.
Hi Kevin P - The end game is to test a circuit board that supposedly converts a 0-10V PWM signal into a 1.5-2.7V PWM signal. There is some confusion over the exact requirements of the project. At the moment I'm thinking a steady state analog voltage output from the 6343 and a simple waveform chart input from an analog input would be fine, at least to test the voltage range. Supposedly this circuit somehow converts a channel from 0-10V PWM to digital current loop. I have my doubts (0-10V PWM is unusual) and there is more information to gather, but at this point I was just exploring my options with the NI hardware that I have available while I'm waiting on information. We can put this on hold for now until I learn a little more about what is required.
I did manage to combine the "Voltage - Continuous Input.vi" and the "Voltage - Continuous Output.vi" examples to create a poor man's n-channel function generator / oscilloscope with this hardware. Seems to work reasonably well. I'm curious about the timing accuracy of this setup?
All of the hardware-timed DAQ modes (Continuous, Finite, HW-Timed Sgl Pt) will have very good accuracy. The board has an internal 100 MHz oscillator which ultimately drives all the hardware-timed tasks. The DAQmx driver layer is also involved to keep data moving between system RAM and the board, but it can be counted on to either work correctly or inform you with a task error.
So with those two example programs, each one has excellent internal timing accuracy for the interval between samples. Those two data acq tasks will *not* drift relative to one another. However, when run separately, they probably won't have the same t=0 start time. Eventually, you'll also want the AO and AI to be sync'ed or at least correlated. That's usually done through a shared sample clock or a shared start trigger.