Triggering input into a MIO-16XE-50 using a DIO-96

Hi there,
I was wondering if anyone knows how to trigger input into an MIO16XE50 using a DIO-96 card. I want to send out a digital pulse to a BNC-2090 that is connected to both the MIO16XE50 and the DIO96 using the DIO96 card. After this digital pulse, I want to collect data before the trigger and after. I am using NIDAQ Tools for Igor Pro to acquire data from the MIO16XE50 and I am using MatLab to send the trigger pulse from the DIO96. Should I use the external trigger option in NIDAQ Tools, or is there a better way to do it? Thanks a lot!
Arul Thangavel

Arul;
The best way to go about that is to set a digital trigger analog input acquisition, and have the trigger channel to be PFI0. Then, you need to make the digital trigger pulse to be wired to the PFI0 pin of your DAQ device connector.
You can also configure your Software to acquire some points before the trigger. It will acquire data after the trigger by default. The parameter you need to set to acquire data before the trigger is "pre-trigger number of points".
Hope this helps.
Filipe A.
Applications Engineer
National Instruments

Similar Messages

  • How to write multiple inputs into 1 file + how to use PWM

    hi,
    I wanna take analog inputs from 2 channels, then write them into a single file, have them the data plotted on 1 graph.  how can I do that?
    also, I wanna output 2 PWM signal lines after some calculations with the data of those 2 channels.  how can I do it?
    another thing:
    can I use Labview to make a state-obersver program?
    the board I am using has part number:  183554C-01.  it is a DAQ Signal Acessory.

    hope this helps:
    Harold Timmis
    [email protected]
    Orlando,Fl
    *Kudos always welcome
    Attachments:
    senddatatoonefile.vi ‏15 KB

  • How to do a single channel DAQ using NI-DAQ driver software with a PCI-MIO-16XE-10 card

    Hi,
    I would like to find out how I could do a simple one channel Data Acquisition from a signal generator using the NI-DAQ driver software with a PCI-MIO-16XE-10 card.
    I have written some test problem but even when the signal generator is turned on/off I get back some weird values.
    Here is my code.
    CString sFunctionName("");
    double volt[OUTPUT_POINTS*2];
    double out[OUTPUT_POINTS*2];
    short timebase, ready, code, stopped;
    unsigned short sampleInterval;
    int i, status, count=0;
    unsigned long update, points;
    short* ai_buffer;
    short output_ch_vector[16];
    int local_ITERATIONS = 2;
    SAFEARRAYBOUND bound[1];
    double dataItem = 9.9;
    long j;
    long k;
    double* pTheValues;
    LPTSTR lpsz_ErrMsg;
    // Initialise device
    status = Init_DA_Brds (deviceNumber, deviceNumberCode)
    Initializes the hardware and software states of a National Instruments
    DAQ device to its default state and returns a numeric device code that
    corresponds to the type of device initialized
    Init_DA_Brds(DEVICE, &code);
    // Check return code from Init_DA_Brds
    Code return should be 204: PCI-MIO-16XE-10.
    if (code < 0)
    CString sError;
    sError.Format("Code error: %d", code);
    if (code == -1)
    sError = sError + ": No device found";
    LPTSTR lpsz = new TCHAR[sError.GetLength()+1];
    _tcscpy(lpsz, sError);
    AfxMessageBox(lpsz);
    delete lpsz;
    return S_FALSE;
    // Allocate memory for analog output and input arrays
    //ao_buffer = new short[OUTPUT_POINTS*2];
    ai_buffer = new short[OUTPUT_POINTS];
    // Set double-buffering
    status = DAQ_DB_Config (deviceNumber, DBmode)
    Enables or disables double-buffered DAQ operations.
    status = DAQ_DB_Config(DEVICE, 1);
    if (status < 0 )
    sFunctionName = "DAQ_DB_Config";
    goto TidyUp;
    // Get the rate parameters
    status = DAQ_Rate (rate, units, timebase, sampleInterval)
    Converts a DAQ rate into the timebase and sample-interval
    values needed to produce the rate you want.
    status = DAQ_Rate(RATE, 0, &timebase, &sampleInterval);
    if (status < 0 )
    sFunctionName = "DAQ_Rate";
    goto TidyUp;
    // Setup scan
    status = SCAN_Setup (deviceNumber, numChans, chanVector, gainVector)
    Initializes circuitry for a scanned data acquisition operation.
    Initialization includes storing a table of the channel sequence
    and gain setting for each channel to be digitized
    status = SCAN_Setup(DEVICE, 1, ai_channels, gain);
    if (status < 0 )
    sFunctionName = "SCAN_Setup";
    goto TidyUp;
    status = SCAN_Start (deviceNumber, buffer, count, sampTimebase,
    sampInterval, scanTimebase, scanInterval)
    Initiates a multiple-channel scanned data acquisition operation,
    with or without interval scanning, and stores its input in an array
    status = SCAN_Start(DEVICE, ai_buffer, OUTPUT_POINTS, timebase, sampleInterval, timebase, 1000);
    if (status < 0 )
    sFunctionName = "SCAN_Start";
    goto TidyUp;
    while(count < local_ITERATIONS)
    // Check whether we are ready to input another half-buffer
    status = DAQ_DB_HalfReady(DEVICE, &ready, &stopped);
    if (status < 0 )
    sFunctionName = "DAQ_DB_HalfReady";
    goto TidyUp;
    if (ready == 1)
    status = DAQ_DB_Transfer(DEVICE, ai_buffer, &points, &stopped);
    if (status < 0 )
    sFunctionName = "DAQ_DB_Transfer";
    goto TidyUp;
    count++;
    // Clear the analog input
    status = DAQ_Clear (deviceNumber)
    Cancels the current DAQ operation
    (both single-channel and multiple-channel scanned) and reinitializes the DAQ circuitry.
    status = DAQ_Clear(DEVICE);
    if (status < 0 )
    sFunctionName = "DAQ_Clear";
    goto TidyUp;
    status = SCAN_Demux (buffer, count, numChans, numMuxBrds)
    Rearranges, or demultiplexes, data acquired by a SCAN operation
    into row-major order, that is, each row of the array holding the
    data corresponds to a scanned channel
    status = SCAN_Demux(ai_buffer, OUTPUT_POINTS * 2, 2, 0);
    if (status < 0 )
    sFunctionName = "SCAN_Demux";
    goto TidyUp;
    //Convert binary values to voltages (Doesn't actually take a reading from board)
    status = DAQ_VScale (deviceNumber, chan, gain, gainAdjust, offset, count, binArray, voltArray)
    Converts the values of an array of acquired binary data and the gain setting for that data
    to actual input voltages measured.
    status = DAQ_VScale (1, 0, 1, 1.0, 0.0, OUTPUT_POINTS , ai_buffer, volt);
    if (status < 0 )
    sFunctionName = "DAQ_VScale";
    goto TidyUp;

    Hello,
    Please take a look at lots of examples available at :
    1. www.ni.com >> NI Developer Zone >> Development Library >> Measurement Hardware
    2. C:\program files\national instruments\ni-daq\examples\visualc
    Sincerely,
    Sastry V.
    Applications Engineer
    National Instruments

  • How to program labview to output continous voltage using NI PCI-MIO-16XE-50

    I am an undergraduate student working on a research project. I need to program a labview block diagram to output continous voltage using DAQ NI PCI-MIO-16XE-50. I am new to this and having problems with formulating.
    For example, if i need to output 4V, how to output 4V from the DAQ.
    I know that there are 2 channels for output. But having problems figuring out which pins to use as well.
    If there are any examples,tutorials or whatever hints i could get in order to solve this, that would be great. I am simply confused and wondering where to start.
    Thanks in advance.
    Confused undergraduate student

    Here is an example of how to do some basic analog and digital communication. Since you need a 4V signal you are going to want to use Analog Output.
    http://decibel.ni.com/content/docs/DOC-15408
    Product Support Engineer
    National Instruments

  • Using external time base on PCI-MIO-16XE-50

    What is frequency of the internal time base of PCI-MIO-16XE-50? How can I replace it with my external timebase ( a pulse signal from an atom clock)?
    Also after replacing the internal timebase with external one, the scan rate and channel convert rate will be based on this external timebase automatically, right? For example, I define 1000 scan/s on AI0-AI8, it will be a scan rate based on the external timebase?

    The AI Clock Config.vi can be used to set the scan clock rate. If a person wishes to change the boards internal time base to an external one, the method described in http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/5601c8268d625a3c86256cf50071199d?OpenDocument is the way to do this.
    The PCI-MIO-16XE-50 has a RTSI connector. Please look at the PCI Board JPEG on http://digital.ni.com/public.nsf/websearch/AD2D553F55A07BBF8625650D005F1F00?OpenDocument for the location of this connector. This site also contains a table of the RTSI Connector Pinouts.

  • AT-MIO-16XE-50 device is not responding to the selected base address

    I'm trying to install my AT-MIO-16XE-50 DAQ board onto my Windows NT desktop computer, but I'm having trouble.
    Here's what I've done: I've installed LabView 5.1 and the NIDAQ 7.0 software onto my computer first. Then I've physically installed the DAQ board into my computer. After starting the computer, the plug-and-play system seems to recognize the new hardware and install drivers for it. It then says I need to reboot the computer, so I reboot the computer.
    When I then look at my device manager, it lists AT-MIO-16XE-50 twice. Under the properties/resources tab, one of them lists "input/output range", "interrupt request", "direct memory access", and "direct memory access" (i.e., 2 "direct memory access"s). The second one only lists "direct memory access" once and nothing else under the properties/resources tab. Also, the first one says that it is working properly while the second one says that it is not working properly (Code 10). I've played around with chaging the "direct
    memory access" numbers and after rebooting the computer have gotten both AT-MIO-16XE-50's in the device manager to say that they're working properly. So, now the DAQ board appears to be installed correctly, because the device manager reports no problems with it. However, there are still 2 of them. My first question is this: should there be only 1 entry in the device manager list, or are there supposed to be the 2 that I see? The entries do appear to be different from each other, but they're for the same device, so that's a little confusing.
    When I open my Measurement and Automation explorer, only one AT-MIO-16XE-50 device is listed (so this looks good), and under "properties" all 3 "direct memory access" numbers are listed. So, this all seems good. But, when I click on "test resources" or "test panel", I get an error message saying that "the device is not responding to the selected base address". Considering that this device was plug-and-play, and I did not set the base address manually, I don't understand why I'm getting this error message.
    What I've tried is to change the "input/output range" number by using the device manager. I've tried a few different settings (rebooting the computer after each change) and none of the different "input/output range" settings seem to work.
    I'd appreciate it if you could give me any help on figuring out how to resolve this "not responding to base address" problem. The info on your web site
    appears to suggest flipping dip-switches on the DAQ card, but my card does not have any dip switches because it is plug-and-play. So, right now I'm
    clueless! Thanks for reading this, and I hope that you have more insight than I do.

    Smaria,
    The AT-MIO-16XE-50 shows up twice in the Device Manager because it reserves three DMA channels, and the ISA bus only allows two DMA channels per ISA slot. You mentioned that you were able to get both devices working properly in the Device Manager. Below is a link to a KnowledgeBase that describes the proper procedure to successfully accomplish this. You should verify that this is the procedure you followed:
    Exclamation Mark Appears with Error Code 10 on Windows XP/2000/98 After Installing AT-MIO-16E-10
    Spencer S.

  • MIO 6030E ( PCI-MIO-16XE-10 ) : help needed : RSE instead of Differential.

    I fiddled around quite some hours now with my new 6030E ( PCI-MIO-16XE-10 ).
    I feel this is a terrific card with a myriad of possibilities, though a bit too slow ( 100 kS/s )and I may buy its much faster successor.
    I need this one for building a Multi Channel Radiation Spectrum Analyzer ( for discerning alpha, beta and gamma particle and quanta radiation in its energy levels ).
    My 6030E runs under LabView 7.1 and NI-DAQ 7.
    In MAX my DAQ card passes all tests flawlessly.
    In Labview I can run several Example .vi's ( as supplied in LabView Help/Examples/Hardware IO/Traditional DAQ etcetera.
    I also can use the DAQ Assistant in all of its features.
    Still 2 questions please :
    1.
    While running the example in LabView 7.1/Help/Examples/Hardware_I/O/Traditional_DAQ/General/ " Cont Acq&Chart (buffered ).vi " I fail in configuring the AI input for RSE.
    It is default configured for Differential.
    I altered the sub.vi " AI config.vi " ( which offers the choice in Differential/RSE/NRSE ) from default Differential into RSE, saved this (sub).vi, started the main.vi " Cont Acq&Chart (buffered).vi " anew but, whatever I try, the said .vi keeps the default " differential " input.
    Obviously, I do oversee something.
    What ?
    2.
    Having attached my signal source onto hardware AI channel #7, whatever I try, on the FP it doesn't make any difference which " channel # " I click ( left small up/down choice ) and in the righthand rolldown " channel " menu, nothing is in there ( blank, i.e. no channel choice at all).
    What did I do wrong ?
    Whichever channel I click ( AI 0/15 ), all channels respond in displaying the input sgnal while only channel AI #7 has an input signal.
    BTW : in MAX both of my problems are not there.
    In MAX/Testpanels I can choose the right AI input channel #7 whereas other channels do not respond ( is OK ).
    Also, in MAX/Testpanels I can see my signal in RSE or Differential whatever I want.
    So, my two problems are really confined to the " Cont Acq&Chart (buffered ).vi i.e. the sub.vi " AI config.vi ".
    Please don't ask me why I prefer - in this case - RSE above Differential.
    I do know the related pro's and cons.
    I just want RSE for this application.
    I have plenty of documentation on the E series in general and on the 6030E in particular, but I can't resolve my questions myself as yet.
    Please realize I am a very beginner in NI-DAQ ( though, having some more experience in NI-GPIB & LabView which work very fine for me.
    Thanks for any help
    Peter van Daalen.

    I would advice you to start using NI-DAQmx instead of Traditional DAQ. Traditional DAQ is the 'old' driver. NI has started to develop a new driver for doing Data Acquisition. for more information take a look at this:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/B1C2A3BC3228AEA186256D2500640D52?opendocument
    It's much easier to us the API of NI-DAQmx, this includes choosing the terminal configuration (Diff, RSE, NRSE). For a overview of the most used VI see:
    http://zone.ni.com/devzone/conceptd.nsf/webmain/40522a58794a358b86256e7b006b8d69?OpenDocument
    There is a input on the 'DAQmx Create Virtual Channel.vi' called 'input terminal configuration' you can set this to Diff, RSE, NRSE.
    Hope this helps
    Met vriendelijke groet / Kind regards,
    Karsten
    NI

  • How can I wire two PWM outputs of Accelerometer into PCI-MIO-16E boad with SC-2043-SG?

    I have been using counter/timer pin since the accelerometer (ADXL202AE, Analog Device) provides about 550Hz PWM signal. The purpose of the project is:
    - To acquire PWM signals with Full cycle(ms) and Posity duty cycle(ms) generated in Accelerometer.
    - To convert the cycles into acceleration value.
    By using counte/timer(GPCTR0_Source) and Trigger(Trig1) on SC-2043-SG board, the signal was obtained.
    However, after converting the PWM signal to acceleration value and plotting with labview on-line, the sampling rate was pretty low (26-28samples/sec).
    Then, I began to doubt that there is a wrong wire connection. Even though I am using one counter/timer pin, the sampling rate
    was low. The purpose of using the acceleration was to obtain two output using two counter/timer pins.
    Could anyone help me wire pins and solve the problem?
    GINO.

    Gino,
    You should definitely be getting many more values in your buffer. You should actually be getting 500,000 values every second because a measurement is being taken for every pulse. I found a couple knowledgebases that describe error -10920 and how to remedy it. One is pasted below and the other can be found through the link.
    But I'm not sure if you're going to be able to fix this problem because you're measuring pulses at a very high rate. What is happening is every time a pulse width measurement is taken it is put into an onboard (DAQ board) FIFO buffer that is 9 samples long. The computer then reads these samples out of the FIFO and into an a buffer that you can see in LabVIEW. I think the FIFO is filling up too fast and the computer is not able to read the data out fast enough. Therefore you are losing samples because they are being overwritten. This is all dependent on your system.
    Here are some benchmarks for pulse measurements:
    The following numbers were derived from a Gateway with 128 MB-RAM and an Athlon 700 for ONE counter of the PCI-6602. The number of counters you are using will affect these numbers.
    Finite Buffer
    Buff Period - 7.25 MHz
    Buff Pulse Width - 7.25 MHz
    Buff Semi-Period - 3.35 MHz
    Continuous Buffer
    Buff Period - 250 kHz
    Buff Pulse Width - 250 kHz
    Buff Semi-Period - 140 kHz
    You should still be getting many more samples than 26 though. Try using this example with a very slow frequency pulse to make sure it operates correctly. Then start speeding up the pulse and determine when you get error -10920.
    Here is an internal knowledgebase that may help you:
    Title:
    After Long Periods of Acquisition with AI and Counters, a -10920 Error Occurs
    Problem:
    A customer has a PCI-MIO-16E-4 and his application is acquiring analog input signals and performing event counting with the buffered event counting mode. The problem is that the buffered event counting is at some arbitrary amount of time (e.g., after 2 days) getting an error with the number -10920. The questions are:
    1. Why is he getting this error?
    2. Do you know how big the FIFO is for this buffered event counting?
    3. When he shares a DMA channel with the floppy controller, how can we make sure they use separate DMA channels?
    Solution :
    Here are the answers to the above questions:
    1. There is probably just some noise on the signal line coming in at some point. The STC is VERY sensitive, so if there is any fast glitching, it will attempt to transfer all of these. This can also happen if the signal does not ramp up fast enough, resulting in double-triggering in the middle region. Use a filter, or a Schmidt trigger*, to clean up the signals. Another suggestion is to use the PCI-6602 with filtering.
    2. There is no FIFO used for the counters. The mMite has its own FIFO, but it is only about 9 samples long.
    3. PCI does not "share" DMA channels. It may technically be the same DMA channel number, but this is just for reference. PCI cards use Bus Mastering. With Bus Mastering, the operating system gives up control of the PCI bus so that the hardware (in this case, our DAQ board) can handle its own data streaming, eliminating the extra step of having the OS monitor the transfers. The DMA channel numbers are just the "channels" that are supported by the mMite chip. You can have 3 PCI cards in the PC, each with DMA 1, 2, 3, and none of them will actually be sharing any resources.
    And another knowledgebase about error -10920
    http://digital.ni.com/public.nsf/websearch/8FB9091CB9BB452B8525642000554799?OpenDocument
    Hopefully this all helps,
    Erick D.
    NI Applications Engineer

  • How do I add a multiplexer accessory device to my PCI-MIO-16XE-10

    I've been told I have to add a multiplexer to my PCI-MIO-16XE-10 card (so I can read more than the 10 chanels it provides for at the same time).
    How do I do this in the Measurement&Automation Explorer?
    Thanks for any help!

    Brain&Body,
    The card can function as either 8 channels in differential mode or 16 channels (Referenced single ended or None referenced single ended - later uses system ground). The single ended mode(s) will allow you get access to all the channels, though it would mean that you would expect to see more noise on the signal than in differential mode.
    You can select these modes within MAX under the properties for the specific DAQ card. Look under analogue input (AI) there you will see a pull down for the modes please select the mode you want. I would recommend that you read the user manual regarding the benefits and limitations of the modes. If using a developement tool (LV,CVI, VB or VC++) please make sure that you are reading single ended signals.
    If you wish to expand the system further you might want to consider purchasing a multiplexer system such as an SCXI system (reference page 184 of the 2005 catalogue). I would recommend that you contact your local sales office and speak with one of our Internal Sales Engineers - UK general number of +44 1635 572400.
    Kind regards
    JoeW
    NI-UK

  • Installing two PCI-MIO-16XE-10 DAQs

    I have two PCI-MIO-16XE-10 boards, which work fine independently. I now have put them into the SAME computer, and the Windows XP has successfully found them and installed drivers for them. But when troubleshooting using the NI Measurement&Automation program, neither card is working anymore. The self-test fails, and the error message does not explain why. How can I use both DAQs together in the same computer?
    thanks,
    SAK

    Hi SAK-
    There should be no problem with using both cards in your system.  A few things to check are:
    Make sure that NI-DAQmx and Traditional NI-DAQ are not trying to access the board at the same time.  If you use the board with Traditional NI-DAQ you will need to reset the Traditional NI-DAQ driver before using the board with NI-DAQmx again.
    Make sure that you have administrative rights on the PC you're using or the driver may not function properly.
    Make sure that no other applications are currently accessing the boards- the driver will lock out access when the board is currently in use by another application.
    You can further troubleshoot the issue by removing all other PCI cards from the system to try and identify the problem as a resource conflict between your DAQ boards and any other peripherals installed on the system.
    Hopefully this helps-
    Tom W
    National Instruments

  • PCI-MIO-16XE-50 abruptly failed

    My PCI-MIO-16XE-50 can't read any analog inputs (always sees the most negative possible voltage) and can't write any analog outputs (outputs always 0). It was working fine on Friday, and I don't know what happened over the weekend to make it fail--the card was in a computer, but wasn't plugged in to any other hardware. I'm using the measurement and automation explorer to check whether it works, so it's not a software issue. The card is only a couple of months old--possibly still in warranty.

    I suggest you to contact NI technical support. The issue might be from something silly up to a damaged board, but that cannot be troubleshooted easily by this mean.
    Follow this link to contact NI technical support: http://www.ni.com/ask
    L Aguila
    Applications Engineer
    National Instruments

  • Replacing an AT-MIO-16X with a PCI-MIO-16XE

    Updating an old system we upgrade DAQ card with one we tough was "all" identical, but I found that the DIO port is not. In fact the MIO-16X can be define as an 4 bits port but not the new card PCI-MIO-16XE-10. Unfortunately the Vi we are using was design with the 4 bits capability (4: Input, 4 Output). To minimize the modification of the software any suggestion...

    Hello;
    You didn't mention what Software language is being used to program the board, but, the best way to go about that is to mask the port, so you can have 4 bits working as input or output.
    If you mask the port, you can still use your code as the port was a 4 bit port.
    Hope this helps.
    Filipe

  • When does the PCI-MIO-16XE-10 start sampling the data?

    I am using a PCI-MIO-16XE-10 to sample the output of a DAC. I think that the board is collecting the data before the DAC output settles. How can I delay the time of the measurement?

    Hello;
    If you are acquiring at more than one channel, you can increase the interchannel delay of that acquisition. The board you have has two main clock signal to synchronize the acquisition, the first is the Scan clock which will determine the frequency of each Scan (which is composed by the number of channel you set to be acquired), the second is the channel clock, which will switch the multiplexer which routes each channel to the onboard ADC. If you need to delay the acquisition of one particular channel, you just need to increase the time that each channel is sampled, by changing the interchannel delay of the acquisition. If you are acquiring just one channel, it would be good if you could get a signal of some sort from the ADC you are reading data from and us
    e that signal to trigger a delayed pulse on one of the general purpose counters your board has. Then you can synchronize the analog input operation based upon that delayed pulse. For more information on how to synchronize DAQ operations, you can refer to an Application Note named "Advanced Synchronization Techniques for Data Acquisition" which can be found at our Web Site.
    Hope this helps.
    Filipe

  • Installing PCI-MIO-16XE-10

    I am completely new to National Instruments and/or LabView. I need to do some project development with the PCI-MIO-16XE-10 board.
    I need to install the board. Where can I find up-to-date drivers?
    Also:
    What is Measurement Studio? Should I use it ?
    The purpose of this excercise is to develop a program for a medical application with extensive test of parameters and then dumping everything into firmware that will run a Microchip controller.

    Hi Mentamax,
    To find the latest drivers available for your DAQ board, check out our website at DAQ Driver Support Page
    Measurement Studio is a suite of native measurement and automation controls, tools, and class libraries for Visual Studio .NET and Visual Studio 6.0. Measurement Studio dramatically reduces application development time with ActiveX and .NET controls, advanced analysis libraries, scientific user interface controls, mewizards, interactive code designers, and highly extensible classes.
    There is a great application note on our website that talks about all the benefits of using Measurement Studio. I found it really helpful and its a great resource.
    Measurement Studio Application Note

  • Board AT-MIO-16XE-50

    can somebody tell me what is the buffer size of the data acquisition board AT-MIO-16XE-50. because i would like to use this board for continuos analog data acquisition, i would like to know the capacity.in manual it is written input FIFO (words) 512. is it the size of buffer.if it is the size?what is the meaning words 512.and if i define the size in my AO config output VI what size should i define.
    thanks regards

    ok thanks for your reply.
    you are right. i want to output voltage to the oscilloscope . it is a sine wave.it could be 1 million,it could be 50,000thousands, any number it could be. obviosly i can wire Function generator to the signal input directly to the AO write,but i am not using this function generator deliberatly, because i want to send the signal(voltage) fixed number of periods andif i use our function generator i dont have periods as input there.and one other thing that my sine is also not true sine(example attached).this 1 million period will be run on oscilloscope for the some corresponding time. this periods must run on the ossilloscope and afterwards they must stop.another example if i send 50 periods.50 periods must run and then they must stop.the time of execution of these 50 must be corresponding time, means when 50 periods finish their execution,the indicator shows that they took xyz seconds for their completion. i am sending you three VIS.moreover i break and pause the Vi as well. i also tried implemet this concept. but it does not work.may be some bug in Ao start.
    1VI) in this VI i am generating the array(i am looking for such an array with different amplitude and as i said N number of sine periods i would like to send to AO write.
    2VI) in this VI i am showing how i am getting the required time, when i am giving/converting periods and frequency to total time. i dont know why it is not working. you know the periods i send finish early and the VI still not ends its execution.this is wrong time, because if i send 50 periods with 1.6Hz frequency then they must finish in corresponding time.if periods finishes and the time indicator shows,still some time left,that means there is something wrong.this is also one of my big problem
    3VI)here my complete VI, where i am trying to buffer all these periods, pause them and resume them, but unfortunately it is also not working properly because when i send 20 periods and dont stop it.then it works fine, but when i send 20 periods, break it and i wanna resume it from the moment/period when i pause it starts agai from the begining. why?
    i hope i explain all of my problem.
    Attachments:
    assymetric_sine_sub.vi ‏41 KB
    041027_frequency-time_conversion.vi ‏15 KB
    041013_functiongenerator_neu.vi ‏217 KB

Maybe you are looking for