USB-6009 Analog Waveform Output

I'm trying to create an analog waveform from a USB-6009 device through one of the analog output channels. However, through the DAQ Assistant, I can only select the 1 Sample (On Demand) setting. When I test the device, I can only push a constant voltage out. If anyone has any advice on how to create an analog voltage waveform using this device, I would like to know.

>I am only a novice at LabVIEW and data acquisition in general.
I don't use Labview (I write in C++) so I can't help you with that. I try to answer questions about C/C++ and general hardware questions.
>What did you mean by software-timed waveform generation?
That's where the software driving the device sends a sample to the DAQ device, waits for the prescribed time interval, then sends the next sample. So the timing of the waveform is driven by the software, using the computer's clock, instead of by the DAQ hardware. Software-timed is less reliable and has (often) lots more jitter because of competition for CPU resources.
>Does this mean that I cannot generate a waveform that is more than 150 Hz?
It's worse than that. It means you can't generate a waveform faster than 150/N Hz, where N is the number of samples (data points) that define the waveform.
John Weeks
WaveMetrics, Inc.
Phone (503) 620-3001
Fax (503) 620-6754
www.wavemetrics.com

Similar Messages

  • Usb-6009 analog output voltage

    Hi,
    The usb-6009 has two 0-5 volts analog ouputs. Is it possible to connect
    them in series, in order to get a single 0-10 volts analog output
    channel ?
    Thanks,
    Nicolas

    Those are ground-referenced signals. To connect them in series, you would have to connect one of the outputs to ground. You would be shorting out (at least) one of your analog outputs, and probably damage the unit.
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

  • USB-6009 analog input at certain voltage

    i am using USB 6009
    i want to use a certain voltage to activate something.
    i want to activate a pop up vi inside a case structure at a voltage of 2.9V.
    i want to de activate the case structure at a voltage of 0.13mV - 0.16mV . then the sub vi will close.
    How to setup the DAQMX?
    can provide any help ??
    example will be good.
    pls show where to find the icons. thank you

    Hi Ace,
    There are several examples from the LabVIEW Example Finder (Help»Find Examples...) that describe using limits. I searched "limits" in the Example Finder and found several examples that might help, such as Limit Testing Measurement.vi, Waveform Scalar Limit Comparison example.vi, and Limit Example.vi. In each, you would have to modify it to include data acquisition, but it shows how to take sampled data as you would get from data acquisition and perform a limit test. The Express VI that Jennifer O. suggested will probably be the easiest route, but there are other VIs that could suit your needs, as seen in the other examples. 
    As far as state machines, there is a template built into LabVIEW that can give you a starting point for creating your own state machine. Under the File»New... menu, you can choose the state machine template under VI»From Template»Frameworks»Design Patterns»Standard State Machine template.
    Please let us know if you have any specific questions we can answer about configuring your data acquisition or about a specific VI. I hope this helps!
    Regards,
    Missy S.
    Calibration Engineer
    National Instruments

  • Usb 6009 continuous analog output

    Hi
    I'm pretty new to Labview, so you may have to bear with me. I have a USB-6009 and I want to generate a continuos analog output voltage. I've got the example you have posted 'Gen Mult Volt Updates-SW Timed_LV7.1 (0 to 4).vi' working and it outputs a continuous sine wave.
    In a similar manner I need to generate:
    1. Ramp up voltage (and ramp down voltage): starting with a continuos constant voltage, which after a period of time linearly increases to another constant voltage, and which allows me to specify the 3 time intervals and the rate of increase.
    2. Pulsations: whereby I can specify the amplitude and time interval of each pulsation
    This is so that I can control voltage to a valve which regulates my pipe flow. In the example I have (one stated above), I do not understand specifically:
    i. Why I need both a 'Software Loop Time (ms)' as well as 'Timeout'
    ii. The 'Sinusoidal Pattern' input which seems to generate data for a sine wave- I can't get a description of that and there are no similar VIs for other waveforms; and what is the function of the two numbers it has?
    iv. How do I change amplitude and time period for the wave?
    iii. What does 'Index Array' do?
    thank you

    Hi there,
    I'm guessing the VI you are using is the one from this KB:
    http://digital.ni.com/public.nsf/allkb/6F2C2B49A89D685C8625711D007BDD64
    i. The software timed loop control is to control the rate at which you change the voltage output.  The timeout on the DAQmx Write VI is the maximum time in seconds the VI will wait to output a sample (eg. if the write buffer is full, the Write VI will wait for it to become available for 'timeout' seconds before outputting an error).
    ii. The sine pattern is just an array constant of doubles that make up the sine wave voltage values, and the for loop adds an offset (of two volts) to every single one of those values. You might want to replace that entire array constant and for loop with a Simulate Signal Express VI (just search for Simulate Sig or look in the Functions >> Input palette) and convert the dynamic data output to an array of doubles.  You can configure the type of waveform, amplitude, and time period from that express VI as well.
    iii.  Refer to previous answer.
    iv.  Index array returns an element of an array based on the index input.  You can turn on the context help and move your mouse over functions to get more help on them.
    I hope that helps!
    Way S.
    NI UK Applications Engineer

  • How to toggle LED at analog output from my VI Using NI USB 6009

    Greetings,
    I bought this NI USB 6009 Multifunction I/O and found various uses for it. In my VI, I am acquiring some signals using the DAQ assistant. After doing a couple manipulation I would like to toggle a LED at one of the two Analog outputs available. I tried configure it in Max and was able to toggle it there, but now I would like to have the VI do it once a certain value is attained. Can anyone  tell me how this is done as I think I might be doing something incorrect.
    Thanks
    Edward

    Greetings,
    Attached you will find just a simple code to turn on the LED if the indicator on the VI's front panel illuminates. In my original code it is something similar. I have also check the wiring and I don't think that's the problem since I was able to toggle it through Max. I am using LV 2009. When  the output channel was configured in Max, the output voltage was set to range from 0-5V. I am not sure if the DAQ  Assistant  analog output is being triggered properly.
    OK, Lets say that I wanted to turn on the LED if a number was greater than the one stored in memory. How would I pass that to the NI USB 6009 to turn on a External LED. Please assume that the output is wired properly.  
    Thanks
    Edward
    Attachments:
    LED Application.vi ‏43 KB

  • How do I set up a triggered analog output on a USB 6009?

    Hi! I am very new to LabView and am working on the control portion of my senior ME design project. It is an anti-tip brake system for a bicycle. The goal is: When critical time to tip is reached (by reading values from a rear wheel normal force sensor, taking the derivative and calculating this critical time), my cheap DAQ USB-6009 device will put out an analog signal to a transistor, which will spin a DC motor (attached to a worm gear setup) for a certain length of time (...This will change a pivot location in the mechanical assembly which will decrease brake mechanical advantage).
    I have been trying to work with LabView 8.5. I get bogged down in confusion when I try to use G-code and get unexplained errors in using Express VI's (they're rather black box-ish to me).
    I think that all I need to do is set up an analog input channel, take derivatives and values and put them into a formula for critical time. Then if the result is a "True", I want to begin an analog out sequence for a certain period of time (to get the motor to the right position).
    I would appreciate any help that I can get with this one.
    Attachments:
    ABScontrol1.JPG ‏43 KB

    chowph,
    You are
    correct with your last statement about performing a comparison on your data.
    1.  Are there any error codes or messages in the
    errors you are getting? Or if you have screenshots of the errors you could post
    then that would work too.  Knowing the
    errors would help in understanding where to start. 
    2.  In your previous
    post did you have a chance to try the examples or Kent’s example code he
    posted?
    3.  What were the results of those examples and
    your experiment?  Again screenshots would
    work fine here.
    Since you
    new to LabVIEW make sure to take advantage of the online training material and
    tutorials we have on ni.com.  I have posted
    a few that I think may be helpful.
    Learn 10 Functions in
    NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
    Complete Data Acquisition
    Tutorial
    How Can I Learn
    LabVIEW?
    I hope this helps!!
    Message Edited by Ryan N. on 03-31-2008 11:52 AM
    Ryan N
    National Instruments
    Application Engineer
    ni.com/support

  • Usb 6009 multiple analog inputs

    I am currently attempting to sample two different analog inputs at different sampling rates using a USB 6009.  I keep getting the 'resource reserved' error and am wondering if this is not possible using this DAQ.  Questions:
    1.  Does creating two analog input channels on the device cause this error?
    2.  Is it possible to sample at different rates on channels created in the same task?  (i am trying to 'slow down' the second analog input to display switch points to a customer)
    3.  Running multiple analog inputs using independent timing would be better achieved by switching to a higher end DAQ?  If so which would you recommend?
    I have attached my vi.  Thank you in advance for your help. 
    I surf therefore I am....
    Attachments:
    demo_nolvl.vi ‏27 KB

    The DAQ boards only have 1 timing clock for the analog inputs/outputs.  So you can only have 1 sample rate on a given card.  I would recommend just sampling at the highest of the desired rates in a single task.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • USB-6009 pulse train generation with digital output....

    Hello!
    I've bought a new USB NI-Card (USB-6009) and now I'm trying to adopt an old vi that uses traditional DAQ drivers. I wrote that vi for a PCI NI-Card (PCI-6024E), which has two counters to generate two pulse trains simultaneously. Now I've only one counter and that's why I'm searching for a good way to create pulse trains using a digital output! The pulse trains are both ranging between 100 Hz and 100 kHz.
    I'm sure somebody has an idea how I can solve the probem in the best way
    Kind regards,
    Peter

    You can't do it with this low cost board. Both digital and analog outputs are software timed only. The analog out is rated at only 150  samples/sec and the digital is about the same. You can't even use one of the counters because it is not a hardware timed counter output. It is an event counter only as an input.

  • Usb 6009 output changes

    Hi, I'm using a NI USB 6009 device.  I am using the analog output to drive very small currents (less than 1 micro Amp) through a 1 MOhm resistor.  I find that the output often changes significantly when I begin to acquire data, or if the computer is doing something, such as fitting data, or even if I am simply opening other files or programs.  Any advice?
    Thanks!
    Micah

    Hi, thanks for the responses.
    I'm outputing a DC voltage with values typically ranging from 0.1 V to 1 V.  The signal goes through a 1 MOhm resistor in series with a coil for producing very small magnetic fields applied to an atomic magnetometer.   It appears that the output changes by tens of millivolts, as recorded by a yokogawa oscilloscope with input impedance of 1 MOhm.  The coil and scope are both grounded.  I am using only a single input channel on the USB6009, coming from an SRS voltage preamp with output impedance of 50 Ohms
    I can also infer that there are changes in the current when the computer "does something" by looking at the signal in the atomic magnetometer.   
    Perhaps it would help if I shunted the output with some smaller resistor, say 10kOhm?
    I will look at the document you mentioned.
    Thanks again.

  • USB-6009 Digital Output Current

    You need to have all those grounds connected together - USB-6009 Digital Ground, ULN2003 GND, and the power supply ground. In this case it will not matter how they are connected.  If they are not connected, then one of the devices could be damaged.
    Lynn

    Hi, I'm trying to increase the voltage of the digital outputs of USB-6009 device. I read a couple topics about using a relay but I could not manage it.
    I was thinking to use 5V supply on the card since it has 200mA current on it, but when I use it with open-collector output, it can not switch the relay. When I measure the current between
    5V and ground: 200mA,
    5V and output, I read a value around 30-40 mA.
    Why can't I use that 200mA with an output? This is the relay I'm using.
    If this is not possible, can I use an external 5V supply (with more current) and a digital output to switch the relay without damage the 6009?

  • USB 6009 - Calibration of Analog Input (Mac)

    Hi,
    I have recently acquired a NI USB 6009. I'm using it under labview 7.1 on Mac OS X 10.4 (Tiger).
    I can run the software examples and the datalogger without problems. However, the device seems
    not to be properly calibrated, and I can't figure out how to do it from the manual. When I connect
    pin 1&2 (analog in 0) to pin 32 and 31 (GND and 5V ref voltage) the software claims that the
    measured voltage it ~3.7V (a multimeter confirms that it is in fact 5.0V). Can anyone help
    trouble shooting this ?
    Thank you in advance,
    Niels

    A little update : After thinking some more I realized that it's because
    the USB 6009 is in differential mode, and I hadn't connected one pin. Now
    however, I have trouble figuring out where to change/set this. None of
    the programs (e.q. Acquire One Voltage.vi) seems to define this, so where
    is this defined ?
    Thanks,
    Niels

  • Usb 6009:connecting the sensor and motor

    Hi there,
    I am new to the labview also the usb-6009. I want to know if I can connect my sensor to the device. The output of the sensor is either analog voltage, pulse width or serial.If I want to use the AN pin, can I just connect the wire to the ADC from the usb or I need to add some circuit before connect it to the usb?also, if I want to control the brushless dc motor with the driver, can I just connect the wire from the motor driver direct to the device? How to connect it?
    Thanks

    You can connect analog voltages directly to the USB-6009 to be measured as long as they do not exceed the input limits (-10V to +10V).
    Connecting the motor directly to the outputs is a bad idea.
    Digital output is 0-5V, 8.5mA
    Analog output is 0-5V, 5mA
    So unless your motor draws less than 5mA (extremely unlikely) you'll blow up your DAQ!
    You will need to buffer the outputs somehow unless you are just driving logic gates.
    It's all on the datasheet... http://www.ni.com/pdf/products/us/20043762301101dlr.pdf
    Message Edited by Troy K on 06-06-2008 02:36 PM
    Troy
    CLDEach snowflake in an avalanche pleads not guilty. - Stanislaw J. Lec
    I haven't failed, I've found 10,000 ways that don't work - Thomas Edison
    Beware of the man who won't be bothered with details. - William Feather
    The greatest of faults is to be conscious of none. - Thomas Carlyle

  • USB-6009 DAQmx parallel devices

    Hello, im using a NI USB-6009. And I have to read two analog Inputs, write two analog outputs and two digital outputs. All this in parallel.
    It works if I connect them successively, but then the VI is too slow for a good measurement.
    So my question is, can it generally work if the dataflow isn't given trough the hole chain, but rather coincidently trough the single parts of the VI?
    Now it doesn't work.
    Solved!
    Go to Solution.
    Attachments:
    NI_USB_2.vi ‏36 KB

    Hi there thanks you very much for the fast answers.
    Now it works very well. First I had a error with the AI's but now I take them together and the error is gone.
    regards
    Moritz
    Attachments:
    NI_USB_3.vi ‏42 KB

  • USB-6009 activates unwanted 5V digital signal when turning on the computer

    Hello!
    This may be a known issue, but I couldn't seem to find it in the discussion forums.
    As the title describes, upon turning on the computer, the USB-6009 receives power from the USB port and automatically fires 5V from various TTL channels.
    This is problematic, as it persistently activates part of our machinery we have attached.
    This occurs even when plugging in the USB after the computer is powered up.
    The only way to ensure none of the channels are sending 5V outputs is to power up our labview software, and manually send the command to set all TTL channels to 0V.
    Is there a way to default all the outputs to 0 upon receiving power?
    Thanks,
    -Peter

    6008 is a low-cost device, not a high-performance device.
    Build some hardware protection between the DAQ and your equipment to make it fail-safe in the event that the DAQ reinits and pulls all the lines high.  Tristate buffers and inverters help a lot here.
    You can also use the analog output to "turn on" the rest of the circuit - that inits at 1V, set a comparator to trigger above 3V and slam that output to 5 when the rest of your outputs are configured.

  • Logic analyzer using usb 6009

    i am having 4 LEDs which are flashing in sequence to the decade counter. i want to observe the flashing sequence of these LEDs on LabVIEW using usb6009 such as 0000, 0001, 0010, 0011 and so on...
    how can i view them on a digital waveform graph...making it a simple logic analyzer... please help..

    First, the USB-6009 is not very suitable for a logic analyzer because it only has software timed digital inputs. So you are limited to how fast you can acquire the data and  the timing between successive samples will have significant jitter.
    Within those limitations you can somewhat demonstrate the concept of a logic analyzer with the USB-6009 for slow signals. If the flashing sequence of the LEDs is slow enough to be perceptible to the human eye/brain, then you can probably get something like what you want.
    Start by looking at the DAQ examples to see if there is one which is close to what you need. Find the best example, copy it to a new name and then modify the copy as needed.
    If you want better timing accuracy and resolution, consider using analog inputs. They are hardware timed. With four channels you could probably get 10 kHz or slightly more.
    Lynn

Maybe you are looking for