Simulate Signals DAQMX

I am using Simulate Signals which is generating a 125hz square wave with a 10v amplitude, then sending that singal to DAQ Assistant for an analog out.  Somehow the frequency seems to be changing to the DAQ Assistant analog out, therefore I am not running 125hz.  I notice this when the samples per second (hz) in the Timing section of Simiulate Signals is increased or decreased.  Is this just a sampling miss match??  I am sampling analog in data with another DAQ Assistant to capture data at 10,000 samples/sec(trying to capture accurate data of a very fast valve), then writing to a spreadsheet.  Thanks for any help

Hi TMDATA-
What type of DAQ card are you using?  How are you verifying that the output frequency is not the rate you specify?
I have tested with the attached VI and seen good results when measuring digital frequency on a counter of my MIO M Series card.  You will notice that I have chosen "Use Timing from Waveform Data" in the DAQ Assistant Express VI.  This ensures that the timing information requested in the Simulate Signals VI is passed to the DAQ Assistant for task timing control.  I have verified that the actual output frequency closely follows the frequency requested using the Simulate Signals Express VI.
Please give this method a try and if you continue to have problems please let us know how you're verifying the output frequency.
Hopefully this helps-
Message Edited by Tom W. on 09-08-2005 04:30 PM
Tom W
National Instruments
Attachments:
AO Test Frequency.vi ‏235 KB

Similar Messages

  • How to use the discrete unit delay function with the simulate signal as the input?

    Hi there,
    I want to use the simulate signal as the input. First, i downsample the input with the downsampler.vi. Then I want to feed the output of the downsampled signal to the discrete unit delay block and display the delayed signal on the graph.
    Somehow I can't use the delay block properly, do anyone know how to fix that?T_T
    thanks!!!!
    Ivy
    please see the attachment
    Attachments:
    test.vi ‏164 KB

    Hi nozombie,
    In your VI the Delay VI only delays the measurment for one interation of your simulation loop.  What are the results that you hope to see?
    Regards,
    Mike Altmann
    LabVIEW Platform PSE
    National Instruments

  • Sound File not creating from simulate signal

    I am trying to create a white noise sound file.
    100 Hz to 8000 Hz 100ms long with a 10 ms ramp up and 10 ms ramp down.
    I have been able to create the signal and sound in this vi.
    Create sound - 8000 hz white noise
    High pass filter - remove noise below 100 hz
    ratio window - causes ramps
    turn back into waveform - why oh why
    normalize after filtering - for some reason the filtering changes the height of the whole waveform, if you have a solution to this......
    play back sound
    write sound to wav file.
    The problem is, I can only get a file as short as 500 ms.  I did this by changing the simulate signal options selecting 8000 samples at 16000 Hz.
    If I select 1600 samples (the number of samples needed for 100 ms) some error occurs in the writing process, and the file thinks it's still open by labview.  If I close labview, the file still does not work.  How can I do what I need to do?  Why can't I just reduce the number of samples to 1600 and get a 100 ms long waveform?
    -Regards
    eximo
    UofL Bioengineering M.S.
    Neuronetrix
    "I had rather be right than be president" -Henry Clay
    Attachments:
    white noise generator.vi ‏169 KB
    White noise generator.PNG ‏40 KB

    The Labview sound system is something that NI do not care much about. They actually neglect it. Errors reported in version 8.6 are still not fixed in Version 2010. And if they fix errors you can be sure some new errors will be introduced. What you can try to do is using the old sound system (used in 7.x) for writing your data to file. In your case it should have much to say. You will find the old sound system here ..\National Instruments\LabVIEW 20xx\vi.lib\sound\sound.llb
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • How to control the variables in 'timing' in simulate signal palette by user numeric control?

    is there a way to control the timings of the simulate signal function (i.e. samples per hz, num of sample, etc) by user input (numeric ctrl)? You could easily do so for amplitude, freq, etc but not the timing.
    Many thanks,

    Are you referring to an Express VI?
    I don't typically use the Express VI's because they do not offer the customization that I need or want.  They are configured by double clicking the icon and all settings are from within.  You already know that.  Some Express VI's do offer more controls.  But this one has only the error in control.
    However, you can right click it and select "Open Fron Panel". 
    It will ask you if you want to convert the Express VI to a standard sub-vi. Select Convert.
    You will then have a subvi that has all the input controls that you need
    Message Edited by Ray.R on 03-14-2009 10:32 AM
    Attachments:
    SimulateSignal.PNG ‏2 KB
    SimSignalOpenFP.PNG ‏7 KB
    SimSignalConvert.PNG ‏4 KB

  • Simulate Signal Express VI is sending two periods of the wave per loop iteration - how can I reduce this to one period?

    Hello,
    I've been trying to use the Signal Generator Express VI and DAQ Assistant in order to generate an output waveform, as seen in this NI tutorial video:
    http://www.ni.com/academic/students/learn-daq/generate/ (timestamp is at 2:07 for what I'm trying to do)
    For background, I'm trying to move a piston device using Labview. The sine waveform is intended to move the piston at a smooth speed. For every loop iteration, the Simulate Signal VI running into my DAQ Assistant moves the piston to its maximum displacement and back twice. I cannot determine why this is occuring.
    The settings in my "Configure Simulate Signal" tab are as follows:
    Frequency: 1Hz
    Phase: 90 deg
    Amplitude: 2
    Offset: -2
    I would like my piston to only reach its maximum displacement and return for every iteration of the loop. I've tried adjusting all of the settings within "Configure Simluate Signal" but I can only work in even numbers - sending the piston back and fourth two, four, or eight times, ect.

    The Simulate Signal VI is set for integer number of cycles and the default frequency set in the Cycles per Second control is 3.75 Hz. That results in the signal containing three complete cycles and the data array contains 8000 elements, not the nominla 10000 specified in the Express VI dialog.
    If you only want one cycle, you need to specify the signal so that you only get one. Either reduce the frequency or reduce the number of samples.
    As you have noticed Express VIs do one thing exceedingly well: They obscure what is going on inside.  I pulled your signal generation code out into a separate VI and then created a generator which will generate the same signal but allow you to select the number of cycles. It uses the Sine Waveform.vi from the Signal Processing  >> Waveform Generation palette.
    I also recommend that you change the structure of your program. The use of sequence structures is discouraged in LabVIEW  because they defeat dataflow are very inflexible when changes need to be made. A Producer/Consumer Design Pattern plus a state machine would probably be a good choice. This will allow separation of the daq acquisition from the saving to file so that the timing of one does not constrain the timing of the other.
    Setting the Analog Input Read to read multiple samples simultaneously and using the hardware timing of the data acquisiton device will get data faster and the timing will be precisely (compared to software timing) controlled by the hardware.
    Writing to the same file in parallel loops probably results in some strange behavior such as differing numbers of writes from acquired data compared to generated cycles. As the file grows, the writes may slow down due to the OS needing to fragment or reallocate space for the file.
    Lynn
    Attachments:
    Signal generator.vi ‏49 KB

  • Labview crashes when selecting simulate signal

    Each time labview 8.6 crashes after I selected the simulate signal function. I get an error message about ivanlyss.dll. The message is in Dutch and it's hard for me to translate but there seems to be a problem initializing the dll file.
    I asked a collegue to send me a vi containing simulate signal and the same thing happened: labview crashed.

    Hi Stefan,
    I can't post a vi with the simalute signal since labview always crashes as soon as I select this function. I guess you are right and the best thing I can do is reinstall labview.
    Ronald

  • How can I get the time for a simulate signal express vi waveform?

    I tried converting to an array and then indexing, but every index I try only gives me the y value. See attached VI for clarification on what I mean.
    Attachments:
    simulate signal.vi ‏49 KB

    You will have to keep track of that yourself.  You are sampling at 360kHz.  This means that each sample is ~2.8us.  You can easily get the time by taking that dt (2.8us) multiplied by the sample index and adding the time at which the first sample was taken.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Auto frequency increase of simulate signal vi

    Hi everyone. I am pretty new to labview. I want to increase the frequency to a simulate signal vi using array of numbers. the for loop should step through the array and output a frequency that will serve as input to the simulate signal vi every 5s changing the frequency from 10hz to 20hz, to 30hz and so forth until bout 1khz.
    attached is a vi i have written but something seem not to be accurate
    Solved!
    Go to Solution.
    Attachments:
    Frequency Simulator.vi ‏63 KB

    Hello marco73
    The red dot is the conditional terminal.
    You need to enable it for your for loop.
    To enable the conditional terminal, right click on the for loop and select "Conditional Terminal"
    Derick Mathew

  • Timed increase in frequency into "simulate signal.vi"

    Hi all, I'm an absoulte beginner with labview so any help would be greatly appreciated, I want to increase the frequency of a generated sine wave, created using the simulate signal.vi, in set increments over time.
    In other words I want the simulate signal.vi to produce a sine wave that will over a set period of time increase in frequency from say 39.5kHz to 41.5kHz, in increments of 0.1hz.
    Thanks in advance for any help.
    Solved!
    Go to Solution.

    What are you unfamiliar with? All of the express functions have their name and you can use the search button on the functions palette? The only only thing you might need is a shift register and you get that by clicking on the border of the for loop. You might want to check the free tutorials.
    You don't mention which version of LabVIEW you are using so here it is as 8.0.
    Attachments:
    sweep.vi ‏70 KB

  • Trying change duty cycle in "Simulate Signal"

    Hi, 
    Anyone knows why I can't change the duty cycle in Simulate Signal? This option appears unavailable for me. How I can access this option? I need generate a wave triangular assymmetric. 
    Thanks.
    Attachments:
    simulate signal.JPG ‏66 KB

    The dutiy cycle is only for square waves, i.e. a signal that only has two possible states (on or off). The duty cycle defines the percentage of the time the signal is on during each interval.
    In any of the other signal shapes, the amplitude is variable and the concept of a "duty cycle" makes no sense.. 
    LabVIEW Champion . Do more with less code and in less time .

  • Calculate max, min of simulate signal

    I'm using Ampitude and Level Measurements to calculate max min and peak to peak of simulate signal but these values ever change.
    why this application return all of value of function??
    how can I resolve this problem
    Thank you

    Ocramm,
    the point is in the way you configure the "Simulate Signal" Express VI. If you remove the while loop in your example, you will see that it will generate only the first part of a sine wave. And not an entire cycle. This is because you have configured it to generate 100 points at 1000 Samples/s. Putting this in a while loop generates 100 points continuously, describing a sine wave but the processing is always performed on the 100 points generated in the same iteration.
    Remove the While loop, and you will see what I mean.
    If you open up the Simulate Signal Express VI, modify the number of samples generated and put in 1000, so that it will generate 1 entire cycle. The measurements will be as expected.
    AlessioD
    National Instruments
    (btw: si sono italiano)
    Attachments:
    TutorialGenAnalyzeDisp%201[1].vi ‏235 KB

  • Adding Simulate signal value to array

    This is my first VI.  I'm passing an array of 5 values which gets concatenated together into a string.  I thought it would be neat for the 5th value of the array to always be changing so I'm using the Simulate Signal VI.  I have the output from that VI working right but I'm not sure how to replace the 5th element.
    Thanks for your help
    Solved!
    Go to Solution.
    Attachments:
    sim signal.jpg ‏70 KB

    Hi Scott,
    I think you're fairly close to getting what you want! After you insert the signal into the array, you should wire the output of the Insert Into Array function into the Array to Spreadsheet String function. Right now it looks like you are just concatenating the array generated by your autoindexed for loop and ignoring the array you inserted the sine wave into.
    I hope this helps! Good luck!
    Regards
    Josh Y.
    Applications Engineer
    National Instruments

  • Simulate Signal phase shifting loop

    I am trying to use a loop to phase shift a simulated signal across 360 deg. My loop will change amplitude, frequency, offset, but it won't change the phase, does anyone know how I can do this? I have attached a code that shows the fundamental problem.
    Solved!
    Go to Solution.
    Attachments:
    SimSigPhaseShift.vi ‏34 KB

    When you wire a graph to it and set the graph to ignore timestamps, you see the phase shift. If you wire a chart to it, wire a true constant to the reset input of the simulate signal.

  • Simulate signal controlling problem

    Hi
    I have this signal controlling problem. In 10,20,30,40,50 the sine wave stops. How can i avoid that?
    Attachments:
    PWM.vi ‏251 KB

    I'm more concerned about the Wait inside of a Timed Loop.  That is totally unnecessary.  Change the timed loop into a normal while loop.
    As far as the Simulate Signal, I have no clue.  The settings look find as far as I can tell.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Start to measure with a simulate signal

    Hello,
    I want to start to mesaure a signal acquired when the signal that i simulate cross zero. For this, I implement the function zero crossing of Labview, but  it don't detect me the zero crossing of my simulate.
    Why?
    Is there another possibility?
    Thank you very much.

    Your code needs to be refactored and it is not organized and effecient.
    You should avoid using LOCAL VARIABLES. The code that you have shared has RACE CONDITIONS. I know that, I'm not giving any answer to the question that you've posted but the information I'm providing here is worth knowing.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

Maybe you are looking for