SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

Error-200077 using LabVIEW 9.0 trial version with purchased USB-6009 to output program driven VOutput

We purchased a USB-6009 Data Acquisition module to do validation testing of I/O circuitry.

 

I downloaded the trial version of LabVIEW 9.0 to see if LabVIEW will work to run some automated testing with the NI-DAQ we purchased. I have never before worked with LabVIEW nor have I done any extensive programming in any of the other various other programming languages beyond obtaining a 4-year EE degree (the ease of technician use and understanding is what attracted me to LabVIEW).

 

I have attempted the attached program in LabVIEW 9.0 from various different examples and I have been experiencing an error-200077 mesage whe i attempt to run (see attached error.jpg). I have read a large number of forums on NI and the two linked forums stood out. I am looking for some further help/explanation...

 

 

Forum1: What is error -200077 and why does it only apply to one of my devices?

Summary1: hardware timed Digital I/O does not work with DAQmx Timing (Sample Clock).

Question1: How do I program software timing to output DO or AO patterns?

 

http://forums.ni.com/ni/board/message?board.id=380&message.id=1780&query.id=672947#M1780

 

 

Forum2: USB-6009 slow output signals using SignalExpress - Error 200077

Summary2: On Demand with Signal Express offers a means to control the output programmatically.

Question2: How do I make the change from Sample Clock to "On Demand" and where?

 

http://forums.ni.com/ni/board/message?board.id=170&message.id=441900&query.id=674269#M441900

 

 

If I am using a device that can only be used with internally clocked timing, then are there example codes available that I may learn the techniques to do so, like suggested in Forum2 (however, I have 0 experience in Signal Express and have currently not been able to load them successfully). My application seems very similar to the description in Forum1, where I am also attempting to;

 

... generate low frequency outputs, both analog and digital to simulate some slow moving processes (change in voltage from 0.5 to 4.5 as in a joystick input/output).

 

So, what method should we use with the USB-6009 to generate slow (.01Hz and slower) analog and digital outputs?

 

If I need to be using Signal Express, I will, but I would think that the standard program would allow me to use internal clocking to generate an output to a NI device.

 

Nathan

Download All
0 Kudos
Message 1 of 2
(6,751 Views)

Hi Nathan, and welcome to the NI Discussion Forums!

 

The reason you are getting that error is because you have set up your DAQmx Analog Output Task for hardware timed output.  However, the USB-6009 does not support hardware timed AO, only hardware timed Analog Input.  You can read a little more in the Knowledgebase USB-6008/6009 Continuous Analog Output. You can also read in the USB-6008/6009 user manual, found here, on page 20 underneith the Analog Output section that all AO lines are software-timed.

 

What this means in your case is that you cannot use the DAQmx timing VI to set up the task for continuous or finite generation.  Those are hardware-timed operations which only possible on more advanced DAQ devices such as our M and X Series devices and cDAQ.

 

Since your rates are so slow, you can definitely ues software timing to do the analog output you desire.  First take a look at the example Gen Mult Volt Updates-SW Timed.vi found in the NI Example finder (Help » Find Examples » Hardware Input and Output » DAQmx » Analog Generation » Voltage) to see how to set up SW timed AO.

 

You do not need the DAQmx Timing VI like in the other examples.  Instead what you will do is create an array of the waveform that you want, and then on each iteration of the while loop you will grab the next point in that array.  This is what the SW timed example vi does.

 

You will have to do two things:

1) Set the wait (ms) time to set the rate of generation of your output.  Output frequency = 1/wait time.

2) Change the array constant (see attached) to hold the voltage values you want to output.

3) Change the '1000' in the while loop to be the number of data points in your array

 

The default data in the array is 1000 points, which define five cycles of a sine wave. The update rate is 1kHz (1ms wait time), which then creates a 5Hz sine wave output.

 

Also note that the maximum analog output update rate of the 6009 is rated at 150 samples per second.  If you need faster update rates consider more adanced USB M series device, such as the USB-6211, or if you only need to do Analog Output and not any Analog Input, you could also use the USB-9263, or if you also need AI, put both an NI 9263 and 9201 in a cDAQ-9174 chassis.

Message Edited by Eric S on 03-03-2010 05:41 PM
Eric S.
AE Specialist | Global Support
National Instruments
0 Kudos
Message 2 of 2
(6,731 Views)