PXI 5411 sin wave burst plus timing

I have a PXI system with a 5411 ARB card and a 6259 MIO card.
Here is the issue.
I need to:
 generate a sin wave pulse at 16MHZ...
This pulse initiates at T0 plus Tn from a trigger pulse generated by the AO of the 6259 (needs to be as short as 1mS and as long as 3000mS-repeatable and guaranteed)
This duration of this pulse is Tx (can be as short as 1mS up to 1000mS again repeatable and guarenteed)
My problem has been that the timing of Tn and Tx is at the mercy of the computer as ranges up to times as great as 1000mS.
I know there is something simple that I am overlooking... but for the life of me, I have not been able to find it.
Thanks,
Paul
Paul <--Always Learning!!!
sense and simplicity.
Browse my sample VIs?

Hi Paul,
I'd like to clarify a couple points in your post to make sure I understand your application correctly.  It sounds like you want to generate a trigger pulse on the 6259 - is this using the counter or analog output?  You also mentioned that you wanted your start trigger and reference trigger to be user-defined, but you are only getting 1000ms accuracy.  This may be occuring because you may be using software timing. 
It sounds to me like you'd like to use a digital trigger from your 6259 to start your acquisition, then specifying the number of samples to generate to control your Tx time.  I may be missing something that you're trying to do in your application, so please reply with more details on your application if possible. 
Thanks!
Daniel L.
Applications Engineer
National Instruments

Similar Messages

  • Finding a voltage in a damped wave (burst sine wave)

    I am hoping someone can point me in the right direction. The closest I have seen to my question is this thread. https://decibel.ni.com/content/docs/DOC-23390
    It can find the peaks in a damped sine wave but its not quite what I want. I need this for a test I am working on for work. I know labview (CLAD certified) but not so much on signal processing. Normally the engineers have the info I need.
    My Setup
    I am using a Function Generator to create a transit tone burst. (amplitude, frequency, and pulse width)
    The sine wave operates at a certain frequency like 150kHz with a Vpp of 10 volts. I set the burst counter on the generator so that pulse width is a specic time like 5 ms. (count = f*5ms)
    This all connects into an osciollocsope to read the signal. I am using a tektronix 460. I set the time divisions for both Verticle/Horizontal. I use the Horizontal at 1ms and the Vertical at 5 Volts. This shows the entire signal on the screen. I am using the external trigger on the Signal Generator to the oscilloscope. I can get labview to read the waveform just fine.
    My issue
    Here is a picture of my waveform. I have an updated waveform but don't have a picture on me at the moment. This waveform below only used a onetime sample the newer one uses envelope sampling at 2000 samples to make the wave much for consistent. Its more of a "straight" line look. As you can see there is incosistent peaks so if I need s pecific voltage it can give me an inconsistent reading. While the newer image is much more accurate it still has jumps in the peaks occasionally.
    My Question
    I need to find the voltages at different times. Such as 3 ms, 5.2ms, 5.7ms. The problem is the peaks are inconsistent so sometimes the max voltage could be at 5.0ms, or 5.6ms, or many ohter unknowns. I cannot use the oscilloscope to find it because the voltages can jump around. In labview I could check the voltage and check all peaks within the tolerance for the timing allowed but I still find sometimes the peaks are not within that tolerance window so I miss the actual peak voltage. Also I do need to change the VPP on the generator for different measurements so I willl have ot change the time divisions to work for the different measurements. Also need to find the reasonant voltage which I don't know how to do either shortly after the 5ms wave.
    Any advice? This method needs to be accurate but I don't think I could get new equipment and make my life easier. I am going to have to do many measurements so I am hoping to avoid taking 100 measurements to get only one "real" value (read  many points in one spot and take the maximum found out of those 100 which is almost what the envelope reading on the oscilloscope is doing). 
    Another problem I have is the osciolloscope doesn't decay to 0Volts but like 600mv/-300mv. So that will cause problems with my calculations when a passing value is only within 500mv of the required voltage.  Both instruments are calibrated.
    Need more infor let me know.

    How are you transferring the information to the computer? I am assuming you are using the Tektronix GPIB; is that right? Also, is it a TDS460A?
    What's the sample rate from the data you are sending to the computer? Is the data just an array or a waveform?
    The easiest way to find the voltage value at X seconds and if your sample rate is Y Hz, would be basically extracting the sample number N = X * Y from the array. I would also like to see the updated waveform you mentioned.
    Camilo V.
    Applications Engineer
    National Instruments
    www.ni.com/support

  • PXI-board only returns perfect sine wave

    Hi, everyone!
    This is a strange one:
    Im peforming synchronized sampling from two boards; one is a PCI-6224 in my computer and the other a PXI-6229 located in our PXI-system. Being a rookie when it comes to labview, I was quite proud of myself for managing this all by myself. However, when i looked closer at a 10 sec test-record I noticed something peculiar. Although none of the 32 (differential) channels had inputs during the recording, the PXI-board returned 16 perfect 1 Hz sine waves with exactly the same amplitude as the measurement range. Attaching a signal to the terminal block didn't alter this. The PCI-board returns only weak 50 Hz (power network) noise, as expected. What is going on ??
    I'm using a PXI-1031 chassis together with a PXI-8184 controller connected to the PC with a network cable. I trigger the pxi-board by sending the PC-clock through a PFI-port and a physichal wire.
    regards, Einar

    As I said, I haven't used LabVIEW 8 all that much. It's a bit tricky: you'll have to make a new Project, add the PXI as a new Target, and the add the VI you're trying to run underneath the new target. The last time I was playing with this I also had to open some ports in the Windows XP firewall.
    If this is all a bit much for you, you might have a PXI controller that is configured to dual-boot both LabVIEW RT and Windows XP. If you reboot the controller in Windows XP mode, you can then access the PXI-6229 in the same way you currently access the PCI-6224... provided you don't mind copying the VIs over and hooking up a mouse, monitor, and keyboard to the PXI.
    Switching from LV RT to Windows XP is most easily done by selecting the appropriate option in the PXI's BIOS. Check your PXI controller's manual for details.

  • 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

  • Generating a sine wave using PXI 5441

    How to generate a sine wave using PXI 5441 (Arbitrary Waveform Generator)?
    Can anybody post a vi that generates a sine wave with frequency at a user defined frequencies.
    Thanks in advance.

    Hi Venki,
     When using an arbitrary waveform or user-defined
    waveform, you provide the actual waveform you want to generate to
    the device, so it is easy to also just connect a graph to the waveform
    and see what it looks like. Unfortunately, when using standard function generation (which is the method used in this example), you are not providing a signal that is created in software. Because the standard function
    generation is happening on the FGEN and not in software, there is
    really no way to display the exact signal without measuring
    it on a scope or some device. You can, however, simulate the signal in
    software such that the parameters which are given to the FGEN functions
    are the same parameters that you use to generate a simulated wave. This
    would be somewhat complex since you can change parameters such as
    frequency and amplitude on-the-fly, and also you would need separate
    functions for each of the different signal types available for the
    FGEN. You would need to place the software waveform generator in your
    inner loop and have a waveform graph connected to it in the loop as
    well to display the signal. The main thing to keep in mind is that this
    will only be a simulated signal and so it may not exactly match what is
    being generated (this also depends on how you program the simulation to
    work). Hope this helps,
    Daniel S.
    National Instruments

  • Simultaneous updation of sine wave using 2 PXI-6711 cards using RTSI Trigger

    Hi ,
    How to generate continuous sine wave using two pxi-6711 cards at same time without any phase shift using traditional nidaq functions.
    Regards,
    satya

    In LabVIEW, go to Help>>Find Examples. Navigate to Hardware Input and Output>>Traditional DAQ>>Multiple Device. There is an example there called "Two E Series Shared Scan Clock". That example is for analog input, but you should be able to modify it to be for analog output. Basically you will just have to share the scan clock from one board(master) and use it as an 'external' clock for the other board(slave).
    -Alan A.

  • 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

  • Générer une implusion avec "Sine Wave Generator" en FPGA

    Bonjour,
    Content de vous rejoindre sur ce forum. Tout nouveau en Labview (pas très à l'aise avec certaines notions), je voudrai soliciter votre aide. En fait, je veux créer une impulsion de 100Hz avec la fonction " Sine Wave Generator" de FPGA. En simulation j'ai réussi mais dès que je compile en target il m'affiche ce message : "Top-level clock rate does not match rate for which the Sine Wave Generator VI was configured. Reconfigure the Sine Wave Generator or the top-level clock so that their rates match. You also might need to modify computed values for the frequency (cycles/tick) input."  
    Je change donc FPGA clock rate et je choisis 40MHz (la seule qu'il me propose). Mais dans ce cas, je me perds pour retouver mon impulsion (qui doit durer une période 0.01sec). J'ai essayé de jouer sur le nombre d'échantillons en changeant le nombre d'itérations de la boucle For afin de générer toujours une période ( pièces jointes)  mais ça marche pas!!!
    Pourriez vous m'aider à déchiffrer ce problème?
    Merci d'avance
    Pièces jointes :
    burst sine.png ‏372 KB
    burst sine_40MHz.png ‏336 KB

    Bonjour M2IM,
    En mode simulation, on utilise une fonctionnalité appelée "Interactive Execution" car l'exeuction/affichage ne peut être géré à une fréquence élévé (40 MHz dans le cas de la Top Level Clock par défaut).
    En mode FPGA target, la vitesse est plus élevé et donc uniquement certains points du sinus seront afficher mais le signal electrique lui sera bien un sinus.
    Je t'invite à regarder le lien ci-dessous qui reprend quasiment la problématique que tu rencontres:
    Generate a sine with LabView FPGA and connect it to an AOModule
    Bonne journée,
    Valentin
    Certified TestStand Architect
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • USB-6009 Sine Wave

    Hi,
    I am new to LabView and am having some trouble. I need to input two sine waves into a USB-6009. I have a voltmeter that should read the output. Two of the problems that I have had thus far: I can only use "On Demand" in DAQ Assistant and even when I throw the DAQ Assistant into a while loop I still do not get a readout on my voltmeter. Any suggestions? Thanks for the help.

    That is confusing. You say you need to input 2 sine waves into a 6009 and that to me implies that you are doing a DAQmx Read. Then you say you have a voltmeter to read the output. That implies you are doing a DAQmx Write. If you are really doing a write from the 6009, then on demand is, of course your only choice. As the specs clearly indicate, the output of the 6009 is strictly software timed so you would need to pass a sine wave point by point and then you would have very little control over the frequency. And, again as the specs clearly state, the fastest output rate you could expect is 150Samples/sec.

  • 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 output a TTL signal from a sine wave [Please Help]?

    Hi evryone!
    I am a bit lost...
    We make the acquisition of voltage (sine wave, 3Hz) which I simulated by a waveform generation in my VI. We want to convert this analog signal to a TTL and output it with a multifunction DAQ (6230).
    I only used Analog to Digital.vi and DAQmx write.vi and I can't get it to work... I get a TTL which is not 3Hz and only If I input a frequency like 3.07 and not 3.00 !!
    Did I forget something ?
    Thanks for helping
    Christophe
    Attachments:
    ADC.vi ‏26 KB

    In your vi, you don't have DAQmx Timing setup.  I don't know what the default value is.  But the timing determines how fast the DAQ will output values.  If not set correctly, you may see slight change in the output frequency.  Another thing is that the timing is based on a master clock, like 50MHz.  The clock gets divided down until it gets near the desired setting.  So it may not be able to achieve 3KHz exactly.  If you are getting 3.07KHz, this may be why.  I don't know if there is anything you can do about it.  Try using the timing vi and setting different sample rates.
    - tbob
    Inventor of the WORM Global

  • Creating and controlling a sine wave

    I am a TA for Control Systems & Instrumentation at Texas State University. As the assistant I am required to assist students in their homeworks and projects. I have encountered a problem in assisting the students. How do I create a Sine Wave wit ha sampling frequency of 200 Hz? Obtain the power spectrum of the signal and change the sine wave frequency to 25 Hz. Determine if the resulting frequency is about the Nyquist frequency. Then increase the sine wave to 125 Hz and compare to the Nyquist frequency again.

    There is an example shipped with LabVIEW 2009 called "Resampling a Waveform (continuous).vi" I think this vi will demonstrate what you are trying to do. Change the sine wave frequency using the frequency control in the Test Signals (A) box and change the sampling frequency by updating the output rate control in the Output timing box. You will then see the original waveform spectrum at the original sampling rate (Fs) and the re-sampled spectrum will be shown in red so you can see the shift.
    Systems Test Engineer
    Certified LabVIEW Architect (CLA)

  • 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

  • Sine wave frequency error

    Hi! I'm pretty new to labview so any help will be appreciated!
    I'm trying to generate a 6-sine wave pulse using the attached generating and detecting vi. It all looks good, however, the frequency which I want the pulse to be generated ain't quite right no matter how I tweek it. For example, I keyed in the rate of generating pulse to be 1MHz in this case, but the detected signal is only 1 kHz (period = 0.001s). There should be no loss in this case. Other frequencies keyed in are also reduce by a thousand times. I think it is due to my Fs=1000 and #s=1000, because if i change my Fs to be 100 and #s=100, the detected frequency will be reduced by 100 times only. But if I reduce it, the resolution of my signal will be poor and I cant reduce it below 50 for a clear signal. Is there any way I can get the signal generated to be that which I typed in? Help!
    Thanks!
    Attachments:
    detect.jpg ‏48 KB
    generate.jpg ‏29 KB
    graph.jpg ‏118 KB

    Hi, I am using PXI-8331 with analog output PXI-6733 and analog input
    PXI-6133. I am generating voltage signals and collecting voltage
    signals as well.
    The problem I have is that when I
    intend to generate a 100kHz, 4 sine wave in a hanning window pulse, the
    received signal tells me that the signal generated was actually only
    100Hz (reduced by 1000 times) for Fs and #s of 1000, and it will be
    1000Hz (reduced by 100 times)  for Fs and #s of 100. What I hope to
    achieve is for the detected signal to show me that the actuated signal
    is indeed that which is keyed in. I am currently using DAQ assistant to
    control the frequency of my windowed sine wave. Is there any other way
    to go around doing it?
    On a side note, yes, I understand
    Nyquist theorem. I tried using 10kHz generating signal and 1MHz
    sampling frequency (100 times difference) for signal detection, but the
    results is exactly the same as that received using 10kHz sampling
    frequency and thus I believe there should be something I am not getting
    quite right about my signal generation since the frequency is always
    reduced by Fs times and I can't change its period.
     I have attached the vi I am using. Thanks a lot for your reply.
    Attachments:
    combining_testing2_6_2_testtest.vi ‏395 KB

  • How can I output successive sine wave sequences?

    I'm using Labview 8.2.1 and I'd like to output sequences of sine voltage waves to a motor, each sequence being associated with n number of cycles at a given frequency and magnitude. For instance, three 0.5V sine cycles at 1Hz followed by three 0.2V sine cycles at 10Hz - no waiting time in-between and all data saved to a given folder. I've been using the 'Cont Gen Voltage Wfm-Ext Clk.vi' within the example library. I added to that a stacked structure thinking that I could copy-paste the first sine sequence to the next frame - changing only the frequency+magnitude values of the sine wave - but I couldn't get the second sequence to execute. I tried out other options with different timed structures but it was not successful either. My block diagram for now looks like this:
    What fundamental steps/elements am I missing?
    Thanks for your help,
    Thibault.

    Instead of using frames let’s try something a little bit simpler. First your generation is set to continuous so it will never go to the next frame until the first task is done.  
    You have two options to solve this problem:
    1.       You build the waveform the way you want it, and then you start the generation with the whole waveform load into the card. Just need to make sure this will limit the size of your waveform to as much memory you have on your card.  Advantage about this approach is there will not be time gaps between one signal and the other one
    2.       The other option is to start the generation with one waveform stop it and start it over with different specification. Basically what this is what you are trying to do, but you need to change your generation to: “N samples”. One thing to consider about this approach is that your signal will have a gap every time your task is started and stopped.
    Let me know if it helps
    Two point to remember, this is a question that can be answer more correctly in DAQmx discussion forums not, labview and next time if you can reduce the picture width to less than 500 pixels.
    Jaime Hoffiz
    National Instruments
    Product Expert
    Digital Multimeters and LCR Meters
    Attachments:
    Cont Gen Voltage Wfm-Int Clk.vi ‏54 KB

Maybe you are looking for