Redeclenchables/continuous to a custom waveform analog output?

Hello

I try regular output an analog signal using the box USB-6211 and Labview2009. I looked at various examples of waveform, including the retriggerableAO.vi example, but I can't seem to understand how to send a 'waveform' custom stamp (terminology is perhaps the question). In all the examples (including waveformbuffer), I ran across the single waveform, the options are sine, square, etc.  Previously, I posted on this forum looking for hardware suggestions (link here) and explained what I try to do and got the big help. To sum up, I would like to read a 'waveform' from a text file, send it to the usb-6211 buffer and then continue to an analog channel. At the same time, I'll use the beginning of the analog task to trigger a digital signal once per cycle as well.

I got in what concerns the establishment of the waveform, but am stuck to figure out how to get into the buffer and setting the frequency, etc.

Thank you

Gabe

Hi Gabe,

Dennis is correct that it will take some room to modify the existing screws to fit your need.  As he says, the Con Gen tension Wfm - Int Regeneration.vi Clk - no example provided with LabVIEW.  In the example, it can be shown that there is a custom VI used to explain the problems that arise when a waveform of a given frequency to a frequency of sampling and outputs analog specified.

With all that said, it seems you want to read from an existing waveform file that you created and this waveform to an AO output channel.  There are a few things that will be needed to know before proceeding:

-What is the waveform as you try to output (5000 samples, 10 k, 100 k, etc.)?

-What pieces of the size of the wave you want output (100 samples at a time, etc.)?

-you want to again and again, or simply run through once the waveform looping?

Assuming that you already have the waveform and will only step by step, here's what I would like:

-break the large waveform into smaller pieces of waveform of standard size

-import the waveforms in LabVIEW and create an array of waveforms

-bring the waveform in the example Dennis mentioned previously with automatic indexing enabled on the tunnel

-Remove the generator of wave functions existing the while loop

-wire your indexed table of waveform for the data of the VI DAQmx of analog output terminal

It is possible that you will have to play with the settings of your waveform and timing of your VI, but this should be a good starting point.  Please let me know if something is not clear or if I have misunderstood your original message.  Have a beautiful reast of the day.

Best,

Tags: NI Hardware

Similar Questions

  • Simulate the analog output of arbitrary waveforms

    Simulate it Arbitrary Waveform VI Express can be used to generate analog signals to the physical channels in analog output mode systems such as the NI 9263? I am trying to use the VI arbitrary signal generator to produce a signal used to excite the magnetic coils.

    Why don't you just try and see what happens?  As far as I know, it should work.

  • Analog output of signal generation custom

    Hello

    I have a VI that generates a signal from the values in an excel worksheet. I'm trying this waveform through an acquisition of output data. I use a box NI USB-6211.

    I copied the exit code for the acquisition of data from other VI that generates a sinusoidal signal coming from an excel worksheet. This program works very well. (attached for reference - Analog Output VI + sinusoidal waveform)

    I have two problems at the moment. First of all, I get error-200560 about waiting until the function, attached.

    Second output amounts only to about 5.5 v instead of 9V specified in the data.

    My VI generate several types of waveform according to selected tests, but I'm trying to get an output DAQ working with the first test, named "disconnection of the battery" work first before implementing it in the other tests so please ignore others for now. To run this battery select VI disconnect under tests select then direct to the attached excel (BD values under 10V) file.

    I hope that I myself have pretty much explained, otherwise please ask for more! I'm new to LabVIEW so your help would be very appreciated.

    Thank you very much

    Parker

    aeParker wrote:

    I've made a few improvements to the VI but I always feel the DAQ 5 Cap output, 5V.

    Dear Parker,

    I guess that this statement is based on the values in the chart show, AO 0.  However, this is not (necessarily) the voltage produced by AO 0, but rather the tension being sampled by AI0.  If you look at the DAQmx create channel for the AI voltage channel, you will see that you have left entries Maximum and Minimum Value unwired, which means that they take their values default to + 5v and - 5v.  This may explain the behavior of cutting that you observe.  Try the + 10 and -10 wiring and see if that solves this problem.

    Bob Schor

  • Analog output of access on fly buffer

    Hi all

    I have a X Series DAQ and made many analog inputs and output tasks. My question is that can an analog output buffer be accessed or modified during execution of the task? I have a redeclenchables analog output task, and I want to replace the buffer after a trigger is done before the next coming. Is this possible? Or put it in general, how can access us the buffer without re - create the task?

    Any comment is welcome. Thank you.

    Hi Skuo1008,

    Which development environment you use to write this code? You mentioned a textual DAQmx function above in this post. Using LabWindows/CVI or ANSI C?

    Take a look at these examples:

    Generation of analog waveform with update with DAQmx output buffer
    http://www.NI.com/example/25039/en/

    I have also attached to this answer

  • How can I pause and resume the analog output using DAQmx?

    I use a DAQ hardware to produce an analog waveform.  I would like simply to break the output of the wave and then resume where it left off.  I use DAQmx and LabVIEW 2011.

    I've seen examples that use a digital or analog break trigger, but I would take a break in the software only.  How can I do this?

    -Joe

    Hi Joe!

    I spent some time thinking about it and I realized that you can technically use a fundamental mission of the analog output, as you previously wrote that runs continuously. However, the generated output samples are controlled by the sample clock pulses, and can be manipulated to fit our needs "suspension."

    To do this, we will need another counter task that generates a pulse train (see our examples of shipping under material input and output > DAQmx > generating digital pulses > generate dig Pulse Train - Continuous.vi) that stops and starts the user to choose. This can be in another quite VI or controlled by software. We will use this as the task of our output sample clock.

    Then, the task of the AO, wire a constant to the sample clock source and select ' DevX/CtrXInternalOutput"based on the counter that you specified in the task of counter. You will need to choose "I/o name of filtration" and check the box that says "include advanced terminals' and right-click of the constant. See picture attached as a reference. In this way, the task of the AO is constantly running, but it generates only actually all data when the meter running task.

    Let me know if you have any questions!

    Have a great day!

  • Bad analog output help Every_N_Samples-NI-9263 cDAQ-9172 chassis (works with cDAQ-9178 chassis)

    Hello

    The NOR-9263 analog output voltage geberation works correctly with the cDAQ-9178 chassis but gives wrong result using the chassis NOR cDAQ-9172.

    In the attached code example, a single cycle of a sine wave is composed of 40000 samples and came out in the background using Every_N_Samples at a rate of production of 5000 samples per second.

    The output buffer size is set to 10000 samples.

    Prepare us the buffer writing 10000 samples 1, then write the remaining data in the background using the Every_N_Samples callback.
     
    Bug: Using the cDAQ-9172 chassis, to the 5000 s/s sampling rate with the help of an external field (or through closure to another HAVE), we observed that 1 10000 samples came out twice, followed by the rest of the waveform. The last 10000 samples are never exits. If you are working properly, we would expect to see 1 full cycle of a sine wave.

    The bug does not occur with the chassis NOR cDAQ-9178. I use the driver NIDAQmx v9.2.1f0 on Windows XP
    The bug does not happen with simulation devices, so you will need to use harwdare real to reproduce.

    Please find attached an example of code C based on the example program OR "ContGen - IntClk.c" to reproduce this bug.

    Thank you

    whemdan,

    The MathWorks

    Hi whemdan,

    By default, DAQmx regenerate old samples if no new data is available.  To give the correct behavior, you can:

    Use DAQmxSetWriteRegenMode to disable the regeneration (DAQmx_Val_DoNotAllowRegen).  In most cases, this is recommended if new data are written continuously in the buffer as the build is in progress.

    If you just need to generate 40 k samples, you can write them just all at once, rather than in 10 pieces of k (the code you attached probably is just an example, so I'll assume that you have a reason to write the data into segments in your actual code).

    I think the difference in behavior between 9172 and 9178 can if explained by the different way, buffering is set up on each product.  The 9172 uses a buffer of 8 k (on the STC2) in all cases (source).  The 9178 uses an 8 k of memory buffer (on the STC3) If you use regeneration shipped, but uses the 127 samples FIFO cartridge, if you use no on-board regeneration (source).

    Then... on the 9172 8191 samples are immediately transferred to the FIFO.  By default, the hardware is going to request new data when the FIFO is less to fill (this is configurable with DAQmxSetAODataXferReqCond).  I'm not sure what the transfer data request size is in your case (you can set the maximum value with DAQmxSetAOUsbXferReqSize), but obviously it is bigger than the other 1809 samples that you have not yet sent to the Board of Directors of your first entry.  At this point, the pilot will regenerate 10 existing k samples so that sufficient data will be available to meet the demand of data transfer.

    The 9178 however use the FIFO of 127 smaller samples so you will not have the same behavior in your case.

    In summary, the behavior is explainable by the difference of material.  If you want to avoid to regenerate old samples, you should ban the regeneration using DAQmxSetWriteRegenMode.

    Best regards

  • Analog outputs with different time scales

    I use products AO of a card PCI-6731 for an application scan head and I have some difficulties to achieve peak performance, that I need. I am contolling the map with nidaqmx drivers in c ++

    Basically, an output controls scanning in the direction Y (which is a line of scanning and is very fast) and the other in the X (increment once per scan line, so much slower). The complication is that both exits start at an external trigger, because positioning is synchronized to a separate data acquisition card.

    Now, what I do is:

    -write the scanline for 0 output waveform

    -set output 1 to a given position

    -say next Trigger output card

    -hangs at the end and stop tasks

    What I really want to do, it is just tell him to start with on each external trigger output waveform of scanline 0 and output 1 increment to the next position. So I could do a complete 2D scanner with a minimum of control software.

    Any ideas on how I could best achieve this? My understanding of the nidaqmx drivers I don't see an elegant way to do it.

    I could potentially do some operations on the done callback, although it makes me a little nervous because the control PC running windows, it is not a real-time operating system.

    Hmm I do not know exactly but there are a couple of things (it is close)...

    The output frequency of meter in your example 5 MHz (20 MHz, 2 high ticks, weak 2 ticks), which is faster than holders 6731 for a sample clock.  I thought that this would have given a material error... are you looking for errors once the task runs (for example using DAQmxIsTaskDone)?.  There is a DAQmxCreateCOPulseChanFreq if you want to set the clock frequency directly (it will use the appropriate default internal time base).

    The task of counter generates 1000 pulses per trigger, is what determines the number of samples generated by the trigger (I assume that you want it to be 1024 aka "numSamples").

    The analog output task must either use:

    (1) calendar continuous if the output will repeat indefinitely as several triggers are acquired.

    (2) finishes pitch (N * numSamples) samples where N is the number of lines that you want to exit and numSamples is the number of samples per line.  In this case, the task will end once the lines were triggered.

    Best regards

  • Simple examples of analog output USB-6343

    I've tried passing by 'find' examples and does not know how to find what I want.

    I'm doing a simple analog output on a USB-6343.  Examples of waveforms say they work with the USB-6343, but I really don't want a waveform, just analog of output does not exceed 10 Hz speed of renewal.  Some of the more simple examples show that they work with the pcie-6343 but do not list USB-6343.

    I worked with USB-6009 in the past, but when I try to use an analog output task that uses 1 sample on request, I get the error "not buffered operations clocked by the hardware are not supported for device and channel type.»  Set the size of greater than 0 buffer, do not set up the timing of the sample clock or the value Type of sample On Demand time"

    I tried samples N, 100 samples to write to 10 Hz - the same error.  Samples of continuous - same error.  1-sample - timed HW - same error.

    There is a series of examples of I/O for the X series?  Is it possible to search the device examples rather than go through all the examples and by checking the list of devices individually?

    Is 'size of the buffer' the 'writing samples"in MAX?

    After contacting the support I was provided with the names of the more simple examples for analog i/o:

    Analog output-Gen power Update.vi

    Analog Input-Acq & chart voltage-Int Clk.vi

    They are found in the getting started screen of

    Click 'Find examples' near the lower right corner

    Filter the results to material by clicking on the menu drop down for the material in the lower left corner and selecting USB-6343 (only connected equipment will be displayed)

    Don't forget to check the box "limit results to material" below.

    In the center pane, double-click 'Material Input and Output'

    Double-click DAQmx

    Path for the analog input - double-click Acq & chart analog measures - double click on tension - tension-Int Clk.vi

    Double click on analog generation - double click on Power - Gen Update.vi of analog channel output voltage

    The examples are for the single data point.  Samples and exit multiples are produced by putting the writing or reading VI inside a loop.  The beginning and the clear functions should be out of the loop.

    Additional information, I need technical support was how material-filter results and identification of more simple examples which were not obvious from the examples of names.

  • How to write constantly to analog output and read from analog inputs

    Hi all -

    I had a question about writing continuously to analog output reading simultaneously an analog input.

    It's my first time to post a message to the community, so please let me know if I made mistakes.

    I use Labview 2011 with a NEITHER-DAQ USB 6215.

    I'm looking to generate a waveform and write it continuously in an analog output. It is then connected to an entry on the acquisition of data, where I am trying to sample the analog signal. (I realize, there is a system of trivial, but I'm hoping to build on it once I have run).

    The task of reading from the analog input works fine, as I tested it in several other cases. I have a problem writing to the analog output.

    For this task, I tried to follow the "Gen Cont Wfm Clck Int' VI to generate the wave form and start the task. I then try to write to the output of the analog timed loop. However, it does not seem to transmit a signal and doesn't give me any errors.

    I have attached the VI but also a screenshot.

    Please let me know if anyone has any ideas. I would really appreciate the help!

    Thank you

    Peter Borgstrom

    We will review your tasks one at a time.  First of all, the task of generation/Analog output Waveform.  Generate you a waveform (I'm unsure of your VI if it is a fixed waveform or not) and send it to a defined output function to produce a waveform continuously, using N-channel and samples of N (where you set not these previously).  You should not put this inside has timed loop, as the DAQ hardware has its own clock - if you simply put it in a while loop (with a stop to break out of the loop), the loop will call the function for the first points of N, wait until all N have been taken out, then call it again to another N points (up to what you press Stop).

    Now, suppose that you have the output connected to a load voltage (say a decent resistance).  You can wire the input terminals of your A/D converter through the same load and set up a similar analog input loop, running in parallel (i.e. in its own independent of the OD loop, while loop).  You pourriez start together (with, say, a merged error since the initialization code line loops HAVE and AO become lines of error in "loops of sampling" described above), but you might want to delay loop (a little) the AI so that the OD has a chance to set the voltage before the bed.

    I hope this helps.

    BS

  • To input analog shutdown when the analog output is completed and synchronization

    Hello

    I'm trying to get my LabVIEW program to send analog output to a computer and read acceleration using the cDAQ-9184. Chassis output that I use is the NI 9263 and the chassis of entry is the NI 9234. I generate a signal of white noise using LabVIEW Express signal generator.

    The first problem I have is the synchronization. I had an old VI that has begun to measure the acceleration just about a second after the entry has been given to the machine. I used the LabVIEW tutorial on how to sync the analog input and output, only to discover that it does not work with two different hunts. Then I found another tutorial that shows how to synchronize different frames between them.

    The second problem is the cessation of the LabVIEW program. What I want to do is to generate the signal and then simultaneously send and read the input and output analog, respectively. It is because I don't want a phase difference or any shorter signal for a direct comparison. But as soon as the signal is sent to the machine, I want the entry to stop analog playback and then then the LabVIEW program must stop. I want to be able to choose any length of signal to be generated and stop as soon as the entire duration of the signal has been sent to the machine.

    I tried 'DAQmx stop', "DAQmx Timer" and 'DAQmx's task made?' and none of them have worked for me. It is also my first time on a forum posting, so I hope I gave enough information. I enclose my VI as well. The VI shows I read an entry for the analog input voltage, but I am only using this to try to get to the work programme.

    I'd appreciate any help I could get.

    Thanks in advance

    Peter

    Hi Peter,.

    I have some recommendations for you that I think you will get closer to your solution. First of all, I assumed you meant that you had 1 chassis (cDAQ-9184) who had two modules in it (NOR-9263 and NOR-9234). My next steps are based on this assumption, so if it's wrong, please let me know.

    For your first question about the synchronization, the code you provided is very close to what you need. You need to do, however, implement architecture master/slave for startup tasks DAQmx functions. To do this, you can add another frame to the flat sequence structure and put the master start task (input voltage) after the start slave (output voltage) task.

    To manage your second question and that the program ends at the point where you, the first step is to get rid of all the logic that you use with the local variable of length of time. Rather than use this logic, just wire the node "task performed?" of "is task performed?" operate to stop the loop. This will cause your loop to stop as soon as the signal is sent to the machine.

    I have some other recommendations for you that will increase the performance of your program:

    (1) rather than writing on file inside the last loop, you can use the DAQmx Configure Logging (PDM) .vi. You will place this VI between DAQmx Timing.vi and DAQmx Start Task.vi to the task of the analog input voltage.

    (2) after the last while loop, you want to stop the task and analog outputs as well with another DAQmx stop Task.vi.

    (3) rather than using a local variable for the entrance of displacement and wiring it in the DAQmx Write.vi, you can wire directly from the output waveform of the wave to build function node.

    That should help you get started in the synchronization of these tasks.

    -Alex C.

    Technical sales engineer

    National Instruments

  • How to control the two analog outputs at a time

    I'm new to LabVIEW and have some problems in DAQmx with control outputs analog multiple.

    I want to set up a platform using BNC-2110 and PCIe6363 to control two rotating mirrors. The problem that I can only give an output (AO0 or AO1) at a time and I really have no idea how revise my LabVIEW diagram to control two outputs at the same time I met. I tried to change the outputs and it keeps a mirror turning instead of the old. Could someone help me with my problem and I would really appreciate. This is my blocked diagram and front.

    Hi zrmaker,

    As mentioned by RavensFan, you should not create 2 analog outputs different tasks if you use AO0 AO1. To your façade > physical control or the channels > select the drop-down list of the control channel physical (s) > Browse > hold down the CTRL + select the AO0 and AO1 > Select OK. Once this is done, you will see that your control or the physical channels has the following input values: "Dev1 / ao0:1" which means that you will access to AO0 AO1.

    In regards to writing DAQmx, simply select Analog > multiple channels > samples multiple > 1 waveform (you should get the following: 1 d Analog Waveform NChan NSamp). Once done, you can just use table build to combine 2 different waveforms and plug in this table to DAQmx writing output. The first index will be the output for AO0 value and the other will be for AO1.

    You can check this link on how to read or write from several channels: http://digital.ni.com/public.nsf/allkb/0C1ADEF06A54AB2D862575040066FD51

    Additional reference:
    http://www.NI.com/white-paper/2835/en/

    Hope that helps.

    Warm greetings,

    Lennard.C

  • Generating analog output signals 4 with different frequencies

    Hi all

    I was trying to say to generate 4 different signals at different frequencies

    1. first waveform is a sine wave with 5000 Hz,

    2. other with 8000Hz,

    3. third, one is a square with 25 Hz waveform and

    4. fourth one with triangular waveform 50 Hz

    all waveforms must be generated simultanoeusly.

    I tried to generate with the task unique analog output and sample clock (clock rate is 100000). Cross in scope that I see only 5000 and 8000 Hz we generated correctly and the rest two waveforms show the incorrect frequency.

    I guess that's due to the frequency of high clock to sample for more low frequencies for ex 25 Hz and 50 Hz. If I reduce the clock rate to get the lower frequencies properly so I can't generate frequencies higher correctly. (there's a clsh between frequencies and the clock frequency)

    Is it possible to use DAQ board master sample clock and its magnitude downward revision (everywhere where it is necessary for each waveform separately) to generate all the signals at different frequencies at the same time in a single task?


  • Digital, analog output file trigger

    Hello

    I'm trying to produce an analog output to text file. I have attached the text file with entries and file vi. When I connect oscilloscope, there is no waveform.  I'm using labview for two days. What is wrong with my code?

    Everything is OK now, I had a problem with the clock on board.

  • variable phase shift between two analog output signals

    Hey! I would drive two different piezo elements with an sine - / square signals and have a phase shifted output signals. After some trail and error, I was able to get a second analog output on my card PCI-6221 (using LabView 8.2) also allowed me to have different amplitudes for both signals. However, I could not output signal having a frequency different and most importantly to my request to have one of the signals variably shifted phase.

    Thanks for the very useful suggestion. I have attached the file .vi installation I've run so far.

    Hello!

    A way to generate waveforms is using the analog waveform Toolbox. I created an example VI that is attached and that shows you a way to use the base generating function VI. I saved for LabVIEW 8.2.

    I hope this helps!

  • Generate analog output with the software "Timing" on 6009

    I see that the 6009 does not support the synchronization of the internal clock.  We need to generate an analogue waveform which changes very slowly, it performs a cycle every 10-20 minutes.

    I saw an old post on the use of calendar software, but can not find a way to do this using SignalExpress.

    Any ideas or references to examples of messages, etc. are greatly appreciated.

    Analog output clocked by the software (DAQmx) in SignalExpress

    I hope this helps.

Maybe you are looking for

  • my new iphone s 6 had accidental water damage... So, it is impossible to turn on...

    is there a replacement in the apple service center? I bought it a month ago, and it is guaranteed for 3 years. so, if there is a replacement by a new... apple gives me the same thing with his 3-year warranty? and what about all the pictures and stuff

  • Why cant music Apple is like Spotify?

    If I were using music to Apple because it was great. ITunes, I should say. Then they changed to a service purchased. Now I can't listen to 'radio' more except Beats1 or whatever it is. Spotify and Pandora allows you to listen to stations with ads her

  • How can I configure a dialing on i335 touch

    I can't be able to figure out how to get my voicemail set up as a button on the speed dial 1. what I want is to press 1, Messaging voice dials of phones and I don't enter access code each time... also wish I could ASSIGN access # s to the people I wa

  • Y570 users manual

    I tried to download a manual for the Y570, it goes through a process of selection and when getting to the end, nothing? Does anyone know where I find?

  • [Beginner] Boolean lights do not Flash "separately".

    I have attached a picture of a part of my code 2 buttons on the left (conditions 1 and 2 of the Statute) Other sections control the digital part, when I the value 3, the LED (alarm 1/2) will Flash every 250ms, when set to 2, I want it flashes every 1