Analogy output a 5000 Hz sine wave from DAQ 6015

Dear Friends,
I am back again. Today I try to use the DAQ 6015 to generate an analogy output sine wave of 5000 Hz, it shows me underflow warning. I think it is because of the limit of the on board buffer size. However, I would like to ask for some advice from your experienced expert if there is any way I can make it.
Many Thank
dan 

Hi Dan
Just a few questions before I can help you. Are you using LabVIEW, if so which version. Are you using NI-DAQmx driver, again if so which version. When you receive the underflow warning do you also encounter an error code and description of the warning? Would it be possible to post the message and code in your next post.
You can setup buffer size and sampling rate via LabVIEW. Using the DAQmx API makes this very easy using the DAQmx Timing.vi
Kindest Regards
Yatin | NIUK & Ireland

Similar Messages

  • Acquire sine wave from DAQ

    Hi
    I am using DAQ to acquire sine wave from function generator to determine the fringes, phase and wavelength.
    How can I build this VI?
    Thank you

    Mostly like the phase is being reported
    from 0 to 180 or 0 to -180.  There is a VI to unwrap the phase.
    I took a look at your code and I am a
    bit confused about what you are trying to do. 
    Right now it looks like you are gathering 100k samples at a sampling frequency
    of 200k in a finite acquisition.
    In your code, each iteration of the For
    loop takes 100k samples and finds the number of peaks.  The Extract Single Tone Information.vi finds
    the tone with the largest amplitude in the 100k samples and returns the
    amplitude and phase.  The phase in this
    case returns the absolute (start) phase of your detected sine tone, that can
    also be viewed as the phase relative the beginning of your signal (in this case
    the beginning of the 100k samples).
    On the next iteration, the code takes a
    new set of 100k samples and calculates the same information (again the phase is
    based on the start of this new set of 100k samples).
    What is your ultimate goal?  To continuously acquire data, find peaks and their
    phase relative to the first sample collected? To acquire a finite set of data,
    and find the phase of each peak relative to the first sample?  Get the relative phase between two different
    peaks?  What are you using the phase
    information for?  Are you using the phase
    to count the number of cycles?  What kind
    of signal is coming from your signal generator?
    To compare the phase to the first sample
    you will need to use some comparison vi’s as mentioned in another post.  Shift registers can be used to keep a “running”
    total of the phase from the first sample.
    Jared T.

  • Analog input to modulate triggered sine wave analog output

    I'm new to Labview and having trouble getting my app to program correctly.
    I would like to use an analog input (AI) to modulate the amplitude of a
    100 kHz sine wave and output the results to an AO.  This is a real
    time application: the AI will change every few 10's of ms so during one
    "cycle" the amplitude will be modulated many times. Plus, the entire AO
    will be triggered on and off with a digital input TTL trigger. The
    waveform "cycle" will run continuously and so will the AI.
        I've used an example included with Labview to read
    the AI and a separate one to generate the sine wave and trigger it on
    and off, but cannot combine the two together. I assume what I need to
    do is implement a loop properly but when I try I can only trigger the
    AO on and off and the AI does nothing or is static. I assume that the
    vi just takes one point from the AI and uses that to determine the
    amplitude of the sine wave, but doesn't "redraw" the sine fast enough
    to respond to the AI changes.
    Thanks,
    Ethan

    Hal,
    I do not think I have Labview Realtime (unless it comes standard with the full version of Labview ). Do I need to have that? I have a 6251 DAQ board.
    I've enclosed my program- it has the name of the original included program in its file name so you can see that I didn't do much to change it. I made some changes today (to make it non regeneration) but now can't get the AI to read at all. And I have no idea how to modulate the sine amplitude using the AI.
    The sine wave works fine and triggers as needed. The one problem is that the sine wave doesn't end at the same point (phase) each trigger period so during the times between triggers the DC level on the AO is variable (which I do not want). Is there a way to end the sine wave at the same phase (at the zero crossing) while still triggering it with a digital input.
    Thanks,
    Ethan
    Attachments:
    ERB6-Cont Gen Voltage Wfm-Int Clk-Non Regeneration.vi ‏157 KB

  • How to generate finite cycles of sine wave using daq mx in vc++

    Hi,
    How to generate finite cycles of sine wave or for finite duration in vc++ using hardware timer without any sleepfunction in the code.
    Thanks & Regards,
    satya

    Hello Elizabeth,
    Thanks for the response.
    1) I am using NI 6040E PXI.
    2) I am using NI-DAQMx 8.3
    3) Measurement Studio is 6.0.0.105
    4) Operating system is Windows XP.
    I want to generate sine wave for finite duration previously in traditional daq there was function called wave_op.In which we can mention number of cycles of sine wave we wanted to generate. That function is not available in DAQMx so we have to use sleep function to generate finite period. Any hardware control function to control generation of finite cycles please let me know.
    Thanks & Regards,
    satya

  • How do I synchronize a pulse output to a sine wave input on a pci-6602 card?

    I have a sine wave from a function generator as the input on the source of a counter. Input frequencies vary from 2-60 kHz. I want to produce a pulse train at a different frequency (10 Hz), but in phase with the sine wave. I have only been using Labview 5.1 for a short time. I am using the PCI-6602 card with a SCB-68 connecting block.

    Hello;
    Unfortunately, you can't connect a analog sinewave to the counter source. Counters only work with digital TTL signal type. To accomplish that task, you will need a MIO board working in sync with the 6602 you already have.
    Regards
    Filipe A.
    Applications Engineer
    National Instruments

  • Outputting sine wave to motor -- While loop placement?

    I'm having trouble creating a basic Labview program to drive a motor with a sine wave. I'd like to output one sine wave at a time to my motor and look at the response to eventually get a Bode plot. I'm using the Sine waveform VI and I've got a PXI-7358 controller card.
    I'm having trouble figuring out what goes in the while loop. I'd like to output, for example, a 10Hz sine wave to my motor. But when I create a VI as shown below (& attached), my output waveform frequency is nowhere near my input frequency. When I type 10Hz I get no movement out. At 10.01 Hz input the motor oscillates at a few Hz, and at 10.1Hz input the motor oscillates wildly. I don't think it's a problem with my motor or my PID settings, because even when I eliminate the motor commands altogether (second figure below), I get the same unpredictable relation between the frequency I type in and the Waveform graph.
    It seems that the output waveform depends on some sort of difference between the while loop execution rate and the PXI-7358 command generation rate. It seems to me that the Sine Waveform.vi should be outside the while loop, but in that case the Load Position.flx only seems to grab one position. Is there a good way to have direct control over output frequency of the sine wave?
    Attachments:
    one_axis_move11.vi ‏20 KB
    one_axis_move12.vi ‏12 KB

    matthewg,
      Dennis is right, let’s keep this to one forum since it is the same topic of discussion, and I will address some of the issues with your code there.
    Chris_G
    Sr Test Engineer
    Medtronic, Inc.

  • How to avoid jitter in analog output(square wave) generation

    Hi all,
    Iam working with PCI-6723 32 channels analog output,iam generating a square wave,sampling at 100ks/s.
    ican able to generate upto 10kHz square wave.The wave form appears clean when it is below 1000Hz if i crossed 5KHz to 7KHz, iam getting jitter in the output square wave form,i have experimented with the digital filter but still the jitter is persisting,
    since iam using 12 channels for such similar generations so i have fixed the sampling rate.100Ks/s.
    kindly suggest me how to avoid this jitter in high frequency generation.
    OS::WINDOWS 2000
    HARDWARE PCI-6723.
    I/O CB 68
    NIDAQ:7.3
    LABVIEW 7.1
    kindly find the attached file.
    Thanks and Regards
    RAJESH
    Attachments:
    Untitled.vi ‏73 KB

    Hi ALAN,
    Thanks for your reply, well the square appears to be overlapped ie one ON/OFF period another waveform tries to overlap, actually i planned to take a snapshot of my oscilloscope (tetronix) but since its not advanced one ,i have attached the file kindly look into it,you can observe the at some higher frequencies there is lot of difference between rise time and fall time.
    Thanks and Regards
    rajesh
    alan actually iam decorating my front pannel do u have any sample layouts for coloring ,buttons kindy forward me .
    Attachments:
    Doc1.doc ‏56 KB

  • Generating a 6X Sine Wave using an absolute encoder

    How do I get an Analog Signal Generation Synchronized to six times the frequency of an absolute nine bit parallel encoders output with adjustable phase relation. I am using a PXI-6533, a PXI-6711 and have available a PXI-6070E.
    Now the long version of the problem. I have a 9-bit absolute encoder connected to a motor shaft (up to 420Hz). From the encoders 9-bit (0-511) parallel signal I need to create a synchronized 6X sine wave (up to 2500Hzwith an adjustable phase relation. Picture an electronic timing chain. For every cycle of the encoder, I need to produce six full sine wave cycles with a variable tuned phase shift. I have LabView 7 w/RT.
    I have tried to use the Update Clock (PFI5) to step through a buf
    fer but it seems to drop an update every so often. I also have tried to monitor the bit-0 line to determine freq. and scaled the update rate accordingly but the phase shifts all over the place. Does anyone have any ideas on the matter ? I would really appreciate it! Thanx….Phil

    Phil,
    Another different option to solve your application would be to use the new LabVIEW FPGA module and the 7831R reconfigurable I/O hardware. Using these tools you can configure the FPGA on the board to generate the sine wave based on the 9-bit parallel input. The most simple setup would be to have a lookup table in the FPGA that has a corresponding output value to each of the 512 possible input values. This 512 sample table would contain 6 cycles of a sine wave. Every time the parallel input changes the analog output value would be updated accordingly from the lookup table. This setup would also allow to easily add a phas
    e shift of the output by shifting the point in the lookup table you are reading by a known constant.
    Christian L
    NICS
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • Measure a Linear Scale Unit, with sine wave signal

    I have a Linear Scale Unit, with three outputs, Phase A, Phase B and Scale ABS point. The outputs signals are in sine wave, with Phase difference of 90º. I have a NI PCI-6034E, and I don't know how to read that signals and convert them in mm and also put them in LabView program. I only find Quadrature Encoders. I don't know if it is better read the signal by the counter or analog input line.
    Thanks and Best Regards

    Hi Luis,
    If your inputs are sine waves, you're probably best off using analog input, though if the voltages are correct, you might be able to use counters.
    The conversion from the voltage outputs to mm distance is dependent on the sensor, so you will have to look in its documentation or search the web to find the parameters for your device. Once you find these values, you should be able to convert with a pretty simple LabVIEW application based on the input signals, either using their exact values or counting cycles, whichever is appropriate for your sensor.
    If you need more help with the conversion, please post more detailed information on the encoding of your sensor.
    Thank you,
    Kyle Bryson
    National Instruments

  • Increase sample rate analog output

    I have a PCI-6221.  I am trying to output an sine wave from my computer.  The voltage output changes only once every 1/10 sec.  I there a way to increase the frequency?  Attach is sample program and a resulting graphs.  
    Attachments:
    SINE_OUT.vi ‏368 KB
    Sine.JPG ‏29 KB
    Sine_1.JPG ‏25 KB

    You seem to have found one of the more convoluted methods of generating a sine wave. Have you looked at any of the example programs? Go to Help>Find Examples and for Hardware Input & Output>DAQmx>Analog Generation, look through some of them.
    You major problem is trying to generate it one point at a time with the single sample mode of DAQmx Write. Not at all sure why you are using the Elapsed Time function or the Mathscript. There are built-in functions (even an Express VI) to generate a sine wave.
    p.s. You have also posted to the wrong board. This has nothing to do with Counter/Timer hardware.

  • Acquire sine wave

    Hello,
    I'm trying to acquire a sine
    wave from my com1 via rs232. I don't have a DAQ, and that's where it's
    causing problems. I have a sine wave of around 200 hz going through an
    rs 232 cable into my computer. The frequency will shift between 0 and
    200 hz. I pretty much have tried looking everywhere but all of the
    solutions seem more complicated than they should be. I'm using LabVIEW
    8.2.1.
    I will upload my VI so you can see. In the end, I want to
    replace the "simulate sine wave" with the acutal sine wave coming from
    the RS232. It's an analog sine wave.
    Attachments:
    qcm.vi ‏98 KB

    I might be confusing analog and digital. My english is very bad especially when it's technical, and yes I have absolutely no academic background in either subjects.
    The signal coming in is in the form of a sine wave, and the sine wave is coming from 2 oscilators, which are oscillating at 9.2 megahertz and are powered by 9v batteries. One of the oscillator wires travels through a crystal which causes the frequency to shift. Then both of the wires go to a mixer, and the frequency coming out is the frequency difference between the sine waves. This frequency will always be between 200 hertz and 0. I have that connected to an rs232 which is connected to my computer.
    I can convert the signal to TTL if it comes down to it. I'd just rather not.

  • What amplitude on power spectrum if analog input is 7.3V,sine,80hz?

    I have an analog input of 7.3V, sine wave at 80 Hz feeding thru PXI-4475 (I have a PXI-1042 Chasis and PXI-8176 Controller and I am programming my application in Lab Windows-CVI). I see a sine wave with an amplitude of 7.3V in the time domain but I see an amplitude of 13.3V at 80Hz in the power spectrum. Should I see 7.3V in power spectrum display? My HP FFT Analyzer showed 7.3V at 80 Hz in power spectrum display. Please help. My email: [email protected] or my phone: 215-897-8766/7370. Thanks in advance.

    There would appear to be a mathematical relationship between the 7.3 V sine wave and the 13.3 V amplitude as follows:
    a) rms value of a sine wave at 7.3 V = 5.1619 V
    b) square that result = 26.645
    c) half the result = 13.32
    The power spectrum should be expressed in terms of voltage squared. The power spectrum should produce a result that is a second order function of the initial amplitude. Are you sure the settings on the HP were for "power" when you read the output of 7.3V? The 13.3 V number appears to be the better of the two.

  • Loop in combination with Analog output

    Hi
    I have modified the script thats translate a value in to a static analog output voltage. The value comes from another online running application. The analog output value must remain static until a new value arise. I'm using VB6 and DAQmx 8.5 on a XP computer. The DA converter is NI USB-6211. I have tried to play around with the Start/Stop and clear commands but my script still makes the program highly unstabile.
    So am I using the commands correctly?. And have I setup the write commands correctly too. Can anyone allso explain how to use the command Doevent correctly
      Dim taskHandle As Long
        Dim clockEdge As Long
        Dim sampsPerCycle As Double
        Dim desiredSampleClockRate As Double
        Dim resultingFrequency As Double
        Dim amplitude As Double
        Dim numSampsPerChannel As Long
        Dim numChannels As Long
        Dim errorCode As Long
        Dim errorString As String
        Dim sampsPerChanWritten As Long
        Dim XICVolt As Double
     '  Create the DAQmx task.
        Call DAQmxCreateTask("", taskHandle)
        '  Add an analog output channel to the task and check to see whether there is only ONE task.
        Call DAQmxCreateAOVoltageChan(taskHandle, "Dev2/ao0", "aoChannel", "-10", "10", DAQmx_Val_VoltageUnits2_Volts, "")
        Call DAQmxGetTaskNumChans(taskHandle, numChannels)
        If numChannels > 1 Then
            errorCode = -1
            errorString = "Please specify only one channel."
            Err.Raise errorCode, , errorString
        End If
    Data_is_recorded:
        If Actualcycles = expectedcycles Then
        GoTo end_script
        Else
        If Actualcycles > lastcycles Then
        DoEvents
         Call DataPoint.GetDataPoint(thenumberOfDataPoint, theXvalue, theYvalue)
            XICVolt = (theYvalue / 10000000#)
        '  Write to the desired channel(s).
        Call DAQmxWriteAnalogF64(taskHandle, 1, True, 10#, _
            DAQmx_Val_GroupByScanNumber, XICVolt, sampsPerChanWritten, ByVal 0&
        Else
         lastcycles = theWF.GetActualNumberOfCycles(sampleIndex, 0)
         End If
        GoTo Data_is_recorded
    end_script:
    End If
    call DAQmx.stopTask(Taskhandle)
    call DAQmx.clearTask(taskhandle)
    Best regards
    Peter

    David Weber wrote:
    thanks lot for all the great feedback. That's really helpful. I think I'll go for the NO_MERGE hint. A first test with this looks good.Keep in mind, only undocumented hint MATERIALIZE along with subquery factoring clause WITH (for which this hint was created) will work in real queries:
    SQL> select my_id as id
      2       , my_id as same_id
      3  from (select /*+ NO_MERGE */ xxx_test_pkg.get_id(1) as my_id from dual),emp where rownum < 6;
            ID    SAME_ID
            20         20
            21         21
            21         21
            21         21
            21         21
    SQL> select my_id as id
      2       , my_id as same_id
      3  from (select xxx_test_pkg.get_id(1) as my_id from dual where rownum=1),emp where rownum < 6;
            ID    SAME_ID
            22         22
            23         23
            23         23
            23         23
            23         23
    SQL> select my_id as id
      2       , my_id as same_id
      3  from (select /*+ MATERIALIZE */ xxx_test_pkg.get_id(1) as my_id from dual),emp where rownum < 6;
            ID    SAME_ID
            24         25
            26         27
            28         29
            30         31
            32         33
    SQL> with t as (select /*+ MATERIALIZE */ xxx_test_pkg.get_id(1) as my_id from dual)
      2  select my_id as id
      3       , my_id as same_id
      4  from t,emp where rownum < 6;
            ID    SAME_ID
            34         34
            34         34
            34         34
            34         34
            34         34
    SQL> SY.

  • PCI Card for Analog output in the range of 10mv

    dear ni,
                    I want to know about the PCI card that can be generate analog output in the range of maximum 10mv. i  am going to use for caliberation of loadcell, strain gauges devices.
    could you tell me on which PCI card will support this type of application.
    Regards,
    Balaji DP

    Try:  http://www.ni.com/dataacquisition/
    These have analog output voltages < 10V:   http://sine.ni.com/nifn/cds/view/main/p/sn/n12:7604,n3:7853/lang/en/nid/1036/ap/daq
    You need something with a high bit count to get good resolution at 10 mV, such as the PCI-6010 which has a 16 bit D/A.   
    Here are the minimum voltage specs for the 6010:
    Minimum Voltage Range
    -0.2..0.2 V
          Range Accuracy
    283 µV
          Range Sensitivity
    6.4 µV
    Message Edited by vt92 on 11-18-2009 07:56 AM
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

  • PXI-5406: unable to generate 10 mV p-p sine wave with 1.5 V dc offset

    I'm using the PXI-5406 and FGEN Soft Front Panel to output a low amplitude sine wave. It works fine when I have the amplitude set to 10 mV and the DC offset set to 1V but when I increase the dc offset (I want it to be set to 1.5V) the FGEN front panel reports an error and stops outputting the wave. It starts working when I have the DC offset set to 1.5V and the amplitude increased to 50 mV. Any ideas on how to output a sine wave with 10mV amplitude (p-p) and 1.5V dc offset with the PXI-5406?
    Thanks,
    Rachel

    I also wanted to mention that while using the FGEN Soft Front Panel, some of the settings are coerced to set values (particularly Digital Gain). Is it possible for you to use the driver API through LabVIEW or another program? This would allow greater control and a potential workaround.(set Gain to a value less than one (0.25) and the Amplitude to a value to 40mV).
    Evan S.
    National Instruments

Maybe you are looking for

  • WAS Logon Popup issue for BW Report iview

    Hi I created a BW Report iview and mapped with the SAP BW System, Every time user logon to Portal, and executing BW Report iview, it is asking for WAS Logon. I created a system with this user credentials ITS ITS Description : BI_PRD ITS Host Name : b

  • Current date in BO queries with Universe built on Infocube

    Hi dear experts, We are facing the following issue : - we built a universe on top of a multiprovider (with 2 infocubes) since we don't want to manage BW Queries. - we need to restrict data on WebI queries using current date or system date (to compare

  • TS2771 how to unlock my ipod touch passcode locked

    My iphone wont let me enter in a passcode and the it is disabled how do you do a passcode locked reset

  • Standard text (SO10) - 'Where used list'

    Dear all, I would know if SAP provide a standard tool that consents to display a 'where used' list for the standard texts. I mean, this report has to show where the standard text defined via SO10 are used (SAPScripts, Smartforms...). Thanks and best

  • Premiere Pro Mac - VST & Audio Unit Support - Something is wrong....

    I run PPRO on Mac Lion. I AM aware of the fact that PPRO is a 64 bit application. Adobe does NOT seem to be aware of the fact that most audio plugs are 32 bit. Reason for this is that there is very little need for a simple Compressor or EQ to be able