Simultaneous analog output

I am using PCI-6052 with (LabVIEW) .Where two analog outputs are available ,DAC0 and DAC1.I want to simultanouly output the different waveforms on each Channel at the same time.Time is important.
I tried it with two DAQ assistance vi's setting each channel on each vi ,but at time randomly one vi's gives output not both at the same time.
Thanks
Haider

Hello Haider,
It sounds like you are trying to get started with NI-DAQmx and want to
output separate signals on the two analog output lines.  The
restriction of the hardware is that all of the analog input or output
channels must be contained with in the same DAQmx Task.  There are
a couple ways to do this. 
If you want to stick with the DAQ Assistant, I searched our KnowledgeBases and found the following example program which does analog output for two channels using the DAQ Assistant. 
If you would like to drill down a little farther and use the lower
level DAQmx VI's, I would recommend looking at one of the shipping
examples, the format for multiple channels is Devx/AOy:z where x is the
device number, y is the starting AO channel, and z is the final AO
channel. 
Also, another good reference, especially if you are going to use the lower level VI's is the Learn 10 Functions in NI-DAQmx and Solve 80% of Data Acquisition Applications Tutorial.  Hopefully,
that'll get you going with your program.  Let us know if you have
any other questions with either the online example or one of the
shipping examples. 
Regards,
Micaela N
National Instruments

Similar Messages

  • Simultaneous analog output 1k sine wave and data acquisition

    Although many topics of simultaneous analog output and input can be found in NI Developer Zone, I have not found a case similar to my project. I'm trying to generate a 1kHz sine wave by using the analog output of NI DAQPad-6070E, and acquire one channel input signal simultaneously. I found most of the examples can not work properly above 100Hz. Any suggestions are welcome. Thank you.
    Jian

    I have sucessfully solve the problem when I observed the increase of
    scan backlog number. Simply increase the buffer size of AI/AO and you
    can make the 1kHz sine wave output and data acquired properly.
    On Tue, 3 Feb 2004 09:03:07 -0600 (CST), jujian wrote:
    >Although many topics of simultaneous analog output and input can be
    >found in NI Developer Zone, I have not found a case similar to my
    >project. I'm trying to generate a 1kHz sine wave by using the analog
    >output of NI DAQPad-6070E, and acquire one channel input signal
    >simultaneously. I found most of the examples can not work properly
    >above 100Hz. Any suggestions are welcome. Thank you.
    >
    >Jian

  • How can I use two analog output channels simultaneously?

    I am using PCI6110 DAQ card. I want to run two separate VIs on one computer. Each VI output a waveform to one analog output channel. How can I do this simultaneously without interfering each other?
    Thanks

    Hi Stephen,
    This can NOT be done with two seperate VI's.
    The issue is in the hardware/driver.
    Your hardware has a clock that controls how fast updates to the AO occur. That clock can only have one value at a time. I will let your contemplate the complications that come up with two different clock settings being active at the same time (see below).
    So how do you work around this complication?
    You will have to develop a single VI that OWNs both output channels. That VI will have to accept start,stop,configure, etc commands from the two clients (what you will have to convert your existing VI's into). If you decide to place a restriction on the services you provide to the clients along the line of "only one sample rate at a time" you will be making your li
    fe much easier.
    If I was contracted by a customer to do what you have asked, I would try to combine the two existing VI's into one or simply buy a second 6110 and avoid all of the hassles. Both of these approaches would end up saving the customer money in the long run while freeing them of any restrictions that where established in order to develop the "server".
    I hope this helps,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Audio sync problem - simultaneous HDMI and analog output

    I'm currently running my audio out through my Geforce 460 via HDMI to my A/V receiver. I have a simultaneous stereo analog output running through my ASUS Xonar D2, using Pulseaudio & Amarok as the player (VLC-gstreamer backend).
    I use the HDMI and A/V receiver to power my main stereo in my living room, but on occasion when I want music around the house, I use the analog line out to send audio to an FM transmitter.
    The problem is, I'm running into audio sync problems. The audio starts out synchronised (at least to the naked ear) but within 20-30 seconds it is noticeably out of sync, with the analog audio (form my FM radio) running around a half second ahead of the HDMI output (my main speakers).
    So - where to begin finding where the sync problem is? The receiver? Conversions between 44Khz and 48Khz?
    Any help much appreciated - google-foo hasn't turned up anything obvious so far.

    Yeah - that was my thought - a very difficult, and probably insoluble problem as it stands. I can't just mute one of the devices as that would defeat the purpose of having multi-room music! Fortunately it's not too noticeable usually, as you can't usually hear the main stereo and the FM radios at the same time, unless you're standing in the right part of the house
    The analog splitter cable not really a goer, since running clean, crisp multi-channel HDMI with pass through when needed is the essential goal of the HTPC. So unless I was to switch inputs and or unplug cables...
    What I will end out doing, in the absence of a software solution, is hooking the FM transmitter directly to my receiver. I was going to just use the headphone-out jack of the receiver to feed audio to the FM transmitter, but the stoopid receiver can't output audio to external speakers at the same time as the headphone is plugged. To overcome this, I'll probably run a headphone amp off the receiver's RCA outputs, into the FM transmitter. Like this one: http://headamp.com/portable_amps/ae2/, or this one: http://www.amazon.com/Rolls-HA43-Headph … B00102ZOQC
    Last edited by sultanoswing (2013-11-13 06:15:11)

  • How to switch analog output between two waveform frequencie​s

    Hello,
    I'm using a fairly simple VI to generate a square wave at our analog output board.  I have the square wave controls in one panel of a sequence structure, and a "release" function in the other panel of the sequence. Currently the VI is programmed to switch from the original square wave to -10V when the Boolean control is switched.
    What I'd like to do now is to modify the VI so that I can swtich between a square wave of a given frequency, say 100 kHz, to a square wave of a different frequency, say 10 kHz, or to DC -10V. But I'd like to be able to vary each frequency and amplitude independently.
    Could anyone give me some programming pointers?
    Thanks,
    Michelle

    Thanks to the three of you for the suggestions. I started trying a few of them, and then realized that what I had already built will work pretty well to update the frequency. I didn't realize that it would update the waveform in "run" mode -- I thought it would only do that in "run continuously" -- so I've found that I can change the frequency of the waveform by doing that. This doesn't allow me to change the frequency and the amplitude simultaneously, but I'm not sure yet whether or not I will need to do that -- I so will probably go ahead with the experiments I need to do with this set-up, then modify it if I find that I need to control both frequency and amplitude simultaneously.
    Thanks for your help!
    M.

  • I want to have two different operations on two analog output terminals of DAQ. When I work

    with AO0, it works. But after I add in another channel, AO1, there is an error saying that 'specified group is in use'. Actually, I assigned different group number for AO0 and AO1 when configuing the device using AO Config.vi. How to deal with this error?I want to have two different operations on two analog output terminals of DAQ. When I work with AO0, it works. But after I add in another channel, AO1, there is an error saying that 'specified group is in use'. Actually, I assigned different group number for AO0 and AO1 when configuing the device using AO Config.vi. How to deal with this error?

    with AO0, it works. But after I add in another channel, AO1, there is an error saying that 'specified group is in use'. Actually, I assigned different group number for AO0 and AO1 when configuing the device using AO Config.vi. How to deal with this error?Hey Steve,
    Doug is correct. Both analog outputs have a shared clock. If you want to write to both outputs simultaneously, you will need to include both of them in the same operation (group).
    You can write a 2-D array to the AO Write VI in which you can include data for both channels. In the 2-D array, column 1 will be for the first channel in the channel list and column 2 will be for the second channel.
    I hope this helps.
    Regards,
    Todd D.
    NI Applications Engineer

  • Control analog output based on analog input

    Dear forumers,
    I am pretty new to the labview programming so excuse me if this was posted before.
    I use: Labview 8.5 + PCI 6229
    I want to create a real time feedback: to control analog output based on analog input. The task is very simple - if the ai1 (analog input 1) voltage is larger than a constant, then decrease the voltage of the ao1 (analog output 1) by a constant. Otherwise increase the voltage of ao1 by the same constant.
    All should work for 10 seconds.
    I have tried to implement this using 2 daq asistants and various methods. The problem is that I get the whole signal recorded from the ai1 ( 10 seconds) and then modified and released to the output (another 10 seconds). The execution takes 20 seconds instead of 10 and it is not realtime at all.
    Is it a must to make vi in "run continuous" mode to make it work ?
    Please help :}.
    I am attaching 2 examples.
    1. Main idea what I am trying to accomplish
    2. Very simple example that still does not work in real time simultaneously.
    Attachments:
    example-main.vi ‏180 KB
    example-simple.vi ‏147 KB

    nooto wrote:
    Thank you for your suggestion.
    I understand the simple arithmetic you are talking about. However I do not understand why it takes 20 seconds instead of 10 to complete the task. In other way to say - why it reads the whole input first (10 seconds) then write the output ( 10 seconds).
    Why doesn't ir read and write simultaneously?
    If I use Elapsed Time function - what feedback response time can I expect ? Is it good to use Elapsed Time if i need fast response time? In my application i would I need about 1 milisecond response time. Currently in the example the rate is 50 Hz, later I would like to change the rate to 1000.
    You simply don't understand the underlying paradigm of LabVIEW -
    dataflow. You have a dependency between the first DAQ Assistant and the
    second. The second simply will not start until the first finishes. There
    is no way around that given your condition that the output depends on
    what you read.
    If you want 1 millisecond response time then you will have to swithc to a real-time OS. Windows does not have that kind of resolution and there is way to much jitter.

  • Multiple waveform generation on analog output channels

    hi,
    I am writing data on the two analog output channels on my PCI-6052E card.But AO write takes only one dimensional array of waveform data. How can I simultaneously output seperate waveforms on each of the analog output channels(say sine on DAC0 and square wave on DAC1)?

    I've had a similar experience I believe.
    I had to create the two waveforms with function generators, suck out the Y
    values, then Interleave them into one array.
    Basically, point one was the first point in waveform1 for Dac0, point two
    was the first point of the second waveform for Dac1.
    Then that gets wired to the output block where you tell it to scan both
    channels.
    Confusing as labview eh??
    "shiv" wrote in message
    news:[email protected]..
    > hi,
    > I am writing data on the two analog output channels on my PCI-6052E
    > card.But AO write takes only one dimensional array of waveform data.
    > How can I simultaneously output seperate waveforms on each of the
    > analog output channels(say sine on DAC0
    and square wave on DAC1)?

  • 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

  • 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

  • 2 analog output channels with different frequencies

    Hi,
    hope that somebody can help me:
    I created two physical tasks, analog output channels.
    I should give signals (triangle signals) to a scanner. The problem ist that I need these triangle signals with two different frequencies.
    I can create the signal with each of the task, but not together. Can I solve this problem somehow?
    Ah, and of course the 2 tasks should start together...
    Thanks for your help!!
    Telly

    You didn't mention the type of device you're using, so I'll assume it's a standard MIO. A typical MIO only has one AO timing engine, so you'll have to create one task for both channels and use a single update rate for the task. You will have to make the output frequencies different by passing different data for both channels.
    For example, let's say your update rate is 1KHz. The data for channel 0 is 1000 data points of a single cycle of a triangle wave. The data for channel 1 is 1000 data point of two cycles of a triangle wave. When you run the task, you will get a 1Hz triangle wave on channel 0 and a 2Hz triangle wave on channel 1.
    Good luck,
    Joe

  • HELP about analog output video

    Hello, I´m need help about analog output video in Premiere CS5 using Matrox RTX2. I need to crop a video with resolution in 1440x1080 to 4:3 in output analog. But what happens is wrong (I think). My video is in format anamorphic and the other option is 16:9 letterbox. Is there any way to crop the video without using effects. Thanks a Lot and sorry my bad english (my native language is Portuguese).

    There are no 4:3 HD specifications.  You'll have to put the video into a normal SD sequence, and scale it down till the top and bottom of the video meet the frame.  That way the sides will be cut off.

  • How to avoid delay during analog output generation by changing its frequency?

    Windows XP
    LabVIEW 7.1
    PCI-6036E + BNC-2120
    Hi,
    I am going to create a vi to generate an engine speed sensor signal (a simple square wave with specific missed pulses, in my case 58 pulses “teeth” and 2 missed pulses “missed teeth”) as an analog output but in addition give me the opportunity to control parameters for example frequency online to simulate the engine speed changes during running that vi. For this purpose I have started with “Continuous Generation.vi” which is available in NI Example Finder under the following path:
    Hardware Input and Output > Traditional DAQ > Analog Output > Continuous Generation.vi
    Then I modified it towards above mentioned goal, all related vi s are attached. The main vi is: "Motor Signal Generator_1.12.vi"
    At the first try it looks that it works properly but when have a look on that more accurately with Oscilloscope (fortunately I have a good one: Agilent 54621A – 60 MHz, 200 Ms/s) obviously there is a gap (delay or Jitter) whenever I change the engine speed. It is also attached in Signal generation_problem report.doc file.
    Note: Small gaps are OK and related to predefined missed teeth but the big one is happened during changing engine speed.
    As far as I understand it is related to the time which case structure in AO C-GEN sub-vi needs for AO reconfiguration each time after changing the engine speed (update rate). How can I get rid of this delay or gap during signal generation and generating completely continuous signal?
    I have to mention that obviously I changed the frequency by changing the update rate. The other possibility is to change the number of updates in one period (refer to "generate arb frequency.vi" in NI site: http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3E48F56A4E034080020E74861) which resulted in no delay however then I can not change the frequency continuously but step by step (for example jump from 5Khz to 2.5KHz immediately) and this can not pass to my application.
    Any hint is appreciated.
    regards
    Attachments:
    Signal_generation_NIsupport.zip ‏81 KB

    Hi Roozbeh,
    The following example will allow you to vary the pulse train frequency during run time.
    Thanks,
    Lesley Y.
    Attachments:
    GenDigPulseTrain-ChangingSpecs.vi ‏75 KB

  • NI-DAQmx VisualStud​io C++ 6 Single point analog output

    Specs: NI-DAQmx 7, VisualStudio C++ 6.0,  PCI-6722,8channel AO
    We have a very simple application: set a voltage (actually 6 channels) and keep it until we want it changed again, perform the change very quickly in response to an image capturing algorithm. So I don't need any waveforms or buffering.
    In this forum post http://forums.ni.com/ni/board/message?board.id=231​&message.id=3283&query.id=18094 you talk about an AOOnePoint example, but I get an error that the NI-DAQ driver does not support my device.
    I may need to use NI-DAQmx, but how? I would like to use something like AO_VWrite(,,), maybe for 6 channels in one call. But I can't find it in NI-DAQmx. It seems I need to setup buffers and frequencies. I have a working sample, but it seems a slow and certainly overkill of this simple application:
    // Link with \DAQmx ANSI C Dev\lib\msvc\NIDAQmx.lib
    #include "NIDAQmx.h"
    double[2] data;
    int taskHandleAnalog;
    int written;
    void Init()
        DAQmxErrChk (DAQmxCreateTask("",&taskHandleAnalog));
        DAQmxErrChk (DAQmxCreateAOVoltageChan(taskHandleAnalog,"Device and Channel Info","",0,10,DAQmx_Val_Volts,NULL));
        DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleAnalog,"",1000,DA​Qmx_Val_Rising,DAQmx_Val_ContSamps,NUMBER_OF_AO_SA​AMPLES));
        DAQmxErrChk (DAQmxWriteAnalogF64(taskHandleAnalog,NUMBER_OF_AO​_SAAMPLES,0,1.0,DAQmx_Val_GroupByChannel,data,&wri​tten,NULL));
        DAQmxErrChk (DAQmxStartTask(taskHandleAnalog));
    void SetVoltage( double voltage )
        data[0] = voltage;
        data[1] = voltage;
        DAQmxStopTask(taskHandleAnalog);
        DAQmxErrChk (DAQmxWriteAnalogF64(taskHandleAnalog,NUMBER_OF_AO​_SAAMPLES,true,10.0,DAQmx_Val_GroupByChannel,data,​&written,NULL));

    Hi,
    It looks like you simply wants to output voltages on the analog output channels, but only wants one update at a time with no waveforms or buffering in DAQmx.
    As I'm sure you know there are really just 3 types of measurements.  Single Point, Finite, and Continuous.  Since you want a single value at a time it's just a Single Point operation.
    You can find DAQmx examples for single point operations in this path:
    C:\Program Files\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Analog Out\Generate Voltage\Volt Update
    Simply place the DAQmx Write Code within a loop and you will be updating one value at a time, but multiple times when "we want it changed again".
    Dennis Morini
    Field Sales Engineer
    National Instruments Denmark
    http://www.ni.com/ask

  • How do I configure 128 channels of DIO and 128 channels of Analog output with the availabili​ty of 3 pci slots

    I have only 3 slots of PCI or 4 slots of ISA bus, I want to configure with the minimum possible modules to attain 128 channels of DIO and 128 channels of analog output. This is inturn fed to the PCM (Pulse code Modulator). The cards will be placed in industrial PC.

    Associate Engineer-Marketing,
    Using just those 3 PCI slots you're not going to be able to get the 128 analog output channels. You will probably want to go either the MXI-3 (PCI bus extender) to a PXI chassis or E Series DAQ card to a SCXI chassis for such a high channel count system. Which analog output cards and which digital I/O cards you will want depends on your application. You will have to decide whether you will need static or dynamic analog output as well as whether you need clocked digital I/O or not. I highly recommend contacting our internal sales department at 1-800-433-3488. They are great at helping specify systems.
    Ames
    Applications Engineering
    National Instruments

Maybe you are looking for

  • My old PowerPC G4 no longer sees any wireless networks

    My old PowerPC G4 no longer sees any wireless networks. The PowerPC and my new iMac was powered off for a week. When I powered them on, the iMac found the usual wireless networks that are seen around here but the PowerPC did not see ANY! Even though

  • Dual displays problem

    Hi, I just bought two new displays (2x BenQ FP222, 22" widescreen) to use with my new Mac Pro 2.66 (GeForce 7300 GT), but here's the problem: When only the first display is turned on the computer is fine, but when both displays are switched on the pi

  • Navigating the song list in iTunes - sleeting songs with keyboard

    Hi, i try to manually organize my itunes library and therefore want to select multiple songs in list view. I know i can command+click in the list to select multiple songs (list entries) but i try to do it with the keyboard. I can navigate the list us

  • How can i retrive nid and sid number from the phone??

    I am trying to find the nis and sid from the iphone can someone advise how it can be done?

  • OS X Lion does not provide purchase receipt

    Hi, I have purchased and installed OS X Lion, but I have yet to receive any purchase receipt regarding my purchase. Could you kindly assist. Thank you. Param