Data acquisition and generation with PCI-MIO-16E-4 card help!!!!

Hello,
I'm using a PCI-MIO-16E-4 card with labview7 (in using DAQmx)and I
would like to draw a frequency response.
My problem is: my program can run correctly in low frequency but, it
can't work correctly in high frequency (after 2KHz the signal is
false).
For verifying my program: I only try to generate and acquire a sweep
sine. I constate after 2KHz the sine I read dosn't resemble to a sine
I wrote.
Can you say me where is the problem?
Thank you.
Le Trong Thao.

"Dr. Imad" wrote in message news:<[email protected]>...
> my understanding is that you are generating a sine wave (on one of the
> anlogoutput channels) and you are trying to read the signal.
> Since you can verify the signal at low frequency, but not at high
> frequency, it looks like you should increase the scan rate of the data
> acquistion (if you can, set it to 10 times the signal frequency)
> You can also use an oscilloscope to verify the signal is what you
> really generated.
Thank you for your response.
I've tried to do it, and I've tried several other possibilities but it
doesn't work correctly.
In fact, I think the problem is in my program. Do you have a program
that works correctly? I f
ound examples in the help but they don't run
correctly.
Le Trong Thao.

Similar Messages

  • Pulse Train Generation using PCI-MIO-16E-4

    I need to generate pulse trains of changing pulse widths using PCI-MIO-16E-4 daq card using Igor Pro.
    I have tried to use the CTR functions (but always keep getting errors and it doesn't work). I also used the general purpose counters (GPCTR functions) but cannot visualise them on a CRO. If someone can help in regards to the programming aspect, it will be greatly appreciated.
    Thanks
    Vakul

    Hi Vakul,
    Some questions that might help me to get you a solution.
    Are you using Traditional DAQ, or DAQmx and which versions are you using?
    What operating system are you running?
    When you say you can't visualize them on CRO, I assume that you are hooking the counter out to a cathode ray oscilloscope and can't see the pulse train?
    Are you going to need more than two different pulse widths for your pulse train?
    There are several online knowledge bases describing how to change the frequency of a pulse train on the fly.
    This link explains how to use software to create a new pulse width.
    http://digital.ni.com/public.nsf/websearch/7B1B0427C39FE33086256CEE00752133?OpenDocument
    This link discusses using frequency shift keying, which will only allow you to have 2 different pulse widths.
    http://digital.ni.com/public.nsf/websearch/EC1F089252F33B248625696E006FB6FC?OpenDocument
    I assume that you are writing this program to compile in Igor Pro using C. I can help you with the C code development, but don't know anything about the Igor Pro API.
    Please get back to me about those questions and let me know if you need further help.
    Michael Denton

  • Position encoder works with PCI-MIO-16E-4 but not with PCI-6062E, why?

    I am using A BNC-2090 to connect Agilent HEDS-6540 position encoder to my PCI-6052E. The application works fine with my 12 bit NI card PCI-MIO-16E-4, But with the new card I get extra counts in my position. ex 1052 pulses when it is only supposed to be 1000 counts in a complete revolution. This setup still works great with the old card, meaning I can just plug into the other card and run the same app on the same computer, just a different device number. I have not been able to figure this out.

    You might be seeing the affects of dithing with your signal. I'm not sure why it would be on one board, though not the other, one counter must be more sensitive. Anyway, dithering is caused by vibration or other outside forces that cause small glitches that add to the count total for the counter. There is a way around this, and that is to use a counte convertor. There is a page on this website that tells how to make one. The link is below. I would sugget trying this to see if it will fix the problem.
    Brian
    http://zone.ni.com/devzone/conceptd.nsf/2d17d611efb58b22862567a9006ffe76/6f25cba2cd73417786256869005e5fc3?OpenDocument

  • Can I use multiple PCI-MIO-16E-1 cards under NT 4.0 SR3, LV 5.1, & NI-DAQ 6.5.1?

    We have not been able to run multiple AT-MIO-16E-3 cards with NT 4.0, because (partly) the cards & NT are not PNP. Will changing to the PCI-MIO-16E-1 &/or PCI-6071E (64 channel version) allow us to simultaneously run multiple (same type) MIO cards on the same computer? We want to use one card to interface to SCXI, & it appears that the PCI version uses the same cables/connectors as the AT series.

    Hello;
    The PCI version of the e-series boards have pretty much the same features of the ISA version, the only difference is the bus.
    So, you should be able to use the same acessories as you use with the AT boards.
    Anyway, you can still try to install the AT boards with NT. The following link is a good step by step installation guide with some troubleshooting hints also. You just need to select the board and OS you are working at.
    http://www.ni.com/support/daq/
    Hope this helps.
    Filipe

  • I get error code 200324 with my PCI-MIO-16E-1 card

    I use Labview 7 and my A/D card was working until last week. Now I hardly find a PCI slot at my PC that the card doesn't crash my PC, and when I do I get this errod code 20034 from the measurement and automation explorer.
    I have tried mounting the card at other pci slots, it didn't work.
    the services nidevldu and nipxirmu are running - checked.
    Any ideas that could help me?
    Regards
    Christos
    Attachments:
    Error200324.bmp ‏2305 KB

    Christos,
    Aside from the services that you have already checked and they're running, another common cause of this error is needing to reset the DAQ device. After running an example in Traditional NI-DAQ, the board needs to be reset before running an NI-DAQmx example. In MAX, expand Devices and Interfaces. Then right-click on Traditional NI-DAQ Devices and select Reset driver for Traditional NI-DAQ. Hopefully, you will now be able to use the board with NI-DAQmx. Hope this helps. Have a great day!

  • Continuous, gap-free acquisition and processing with PCI-5142 and Labview

    I am trying to continuously acquire data from a PCI-5142 in Labview 7.0.  I have NI-SCOPE software installed, and right now, the best I can do is to acquire the data in chunks and then stitch the chunks together.  However, this results in a short (approx. 10ms) amount of data loss between chunks.  Since I am trying to do a cross-correlation of a function with my data, across chunks, I need the chunks to be contiguous.  Additionally, I need to do this processing in real time so I cannot just stream to disk. What are my options?

    Be sure that you are not stopping and re-starting the acquisition in between reads.  Also, be sure you are not reading from a new record each time.  There will be some time between separate acquisitions or separate records.
    The best way to acquire continuously is to configure a single record, set the Reference Trigger to Software, and never send a Software Trigger.  Set the Fetch Relative To attibute to Read Position.  That way, every time you read data, it will start at the first unread data point.  So you shouldn't see any gaps in the data (the chunks will be contiguous).
    Please refer to two examples included in the NI-Scope driver:
      - niScope EX Fetch Forever
      - niScope EX Fetch In Chunks

  • How do I get an analog output signal from my PCI-MIO-16E-4 card?

    I need an analog output from 0-10 V to control the mass range on a mass spectrometer. Do I use the DAC0out channel to do this? The manual only talks about analog out (ao) channels. Is this the same as DAC0out and DAC1out? How do I set up the DAQ assistant for this process? I do not need a waveform, only a constant signal.

    Yes indeeded. The DAC0out and DAC1out are the analog output channels (ao0 and ao1).
    Simply follow the examples that ship with LabVIEW. You can also easily create code with DAQ assistant.

  • Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?

    I would like to start several PCI 4472 and a PCI-MIO-16E-1 simultaneously. All boards are connected via a RTSI cable.
    My program works fine if I use software trigger, or an analog trigger from a PCI4472 channel. However, the analog trigger works only when I set pre-trigger (or pre-scan) to 0.
    Is it possible to start a PCI4472 and a PCI-MIO-16E-1 simultaneously using an analog trigger (with pre-trigger)?
    Thanks.
    Ian Ren

    Hi, Bill
    I think it is possible to set more than 38 pre-trigger scans on a single 4472 card. I've done this before. You can verify this by running the Labview example "Acquire N - Multi-Analog Hardware Trig.vi" which comes with LabView.
    What I try to do but without success/luck so far is to start data acquisitions of several 4472 cards and a PCI-MIO-16E-1 card using an anlog trigger (with pre-trigger).
    Thanks for your help.
    Ian

  • Accurate time stamp PCI-MIO-16E-1

    Hello,
    I need measure analogue signal which is acquired after rising edge on TRIG1 is detected. It works well, but time stamp of the waveform's beginning is not very accurate. So I want to ask you about possibilities to increase time precision, because I need repeat this measurement with cca 600Hz frequency.
    I have interest about resolution which can be obtained. I use LabView 7.1.
    Thank you for soon answer.
    Martin Stefik

    Yes, you understand correctly. Each trigger need own precise time information (hh/mm/ss/ms) or better.
    But, I'm not sure that I can acquire both triggered input (let's say AI0) and continuous input (say AI2) on one PCI-MIO-16E-1 card. If it is possible, can you write example for me? This idea is good. I tried to do something similar. But, I'm new in with labview so it stayed without success
    Thanks

  • Driver for PCI-MIO-16e-1(Linux)

    Hi,
    We have a PCI-MIO-16E-1 card from NI, and I
    am trying to look for a driver under Linux, Could
    anyone tell where I can find one?
    Thank you very much,
    Brandon

    Brandon Li wrote:
    > Hi,
    > We have a PCI-MIO-16E-1 card from NI, and I
    > am trying to look for a driver under Linux, Could
    > anyone tell where I can find one?
    >
    > Thank you very much,
    > Brandon
    Hi Brandon,
    You could find the drivers on http://search.ni.com/query.html?col=alldocs&qp=%2Bcontenttype%3Aknowledgebase+%2Blanguage%3Aenglish&layout=KB&qt=%2Blinux+%2Bdaq
    Good luck.
    Mikhail Pachkov.

  • How to reduce reading and recording data time/ Visual C++, PCI 6024E and PCI-MIO-16E?

    Right now I am working on a data communication programme. The time of reading digital signal and recording data is more than I expected, which is about 100 microsecond. I need to reduce the time. The software I am using is Visual C++ 6.0. I use two DAQ boards, which are PCI-6024E and PCI-MIO-16E. I have set the priority of Visual C++ to be realtime by task manager. The operating systme is Windows XP.
    I am wondering how to set the interrupt of reading or writing data to be the highest and stop any other kind of interrupt.
    Thanks in advance!

    The primary limitation you will encounter when trying to do high speed
    digital I/O using your E-Series hardware is that the digital lines are
    all software timed.  This means that for each and every digital
    read it is necessary for your software to issue a command to your
    hardware, read a single point, then receive the response from the
    board.  This prevents you from performing digital operations at
    very high speed.  In general, I would say that 100 microseconds is
    a very good response using software-timed digital I/O on a Windows
    computer.
    It is difficult to make a good recommendation without more detail about
    what you are trying to do.  You may need to consider switching to
    a Real-Time operating system, or upgrading your DAQ hardware to a board
    that will allow you to time your digital acquisitions on the board
    itself.  These devices, such as the m-Series DAQ or the PCI-653x
    series, would allow you to use hardware triggers for your digital
    acquisitions, change detection, and buffered data acquisitions to
    reduce the software overhead involved in a rapid acquisition.

  • 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

  • Buffer of PCI-MIO-16E-1 acquisition card

    I am using a PCI-MIO-16E-1 acquisition card, and in the manual it says that it has a FIFO buffer of 512 samples. Is this the total buffer of my card? (I guess it should be larger). If I take more samples than can fit in the buffer in a single acquisition, what happens to the extra samples acquired? Are they stored in the computer memory?
    Thank you

    The PCI-MIO-16E-1 actually has a FIFO buffer size of 2048 samples. The hardware buffer size is not a limitation of how many samples you can read at a time. FIFOs are often used on DAQ devices to temporarily store incoming or outgoing data until that data can be read or written. For example, an analog input FIFO stores the results of A/D conversions until the data can be read into system memory.
    So, the FIFO on the device will just hold the data temporarily until the computer can transfer the data to computer memory. FYI: When you programmatically set the buffer size in your application, you are setting the software buffer size in computer memory and that has nothing to do with the FIFO size. You don't have to worry about the FIFO within your program. I hope th
    is helps.
    Regards,
    Todd D.
    Applications Engineer
    National Instruments

  • Can I generate sine and square waves with NI PCI-MIO-16XE-50 card??

    Can I generate sine and square waves with NI PCI-MIO-16XE-50 card??
    How Do I generate those signals?

    Hello;
    You certainly can do that. The way to go about that is to use one of the Analog Output channels your board have available.
    If you are using Labview to program the board, you can find good examples at Search Examples->I/O Interfaces->Data Acquisition->Analog Output->Multiple Point (buffered) Analog Output.
    If you are using other Software language to program the board, you can fing examples at C:\Program Files\National Instruments\NI-DAQ\example\VisualC\AO.
    Hope this helps.
    Filipe

  • I am trying to generate a 50kHz sine wave for ten cycles, then aquire this waveform and store it in a file, I am using a PCI-Mio 16E-4 board, has anyone done anything like this?

    I am trying to generate a 50kHz sine wave output on the DAQ card and then simultaneously recieve. I am using a PCI-Mio 16E-4 series board to do this. Has anyone done anything similar. I can generate a 50k wave no problem, and recieve one, but I can not get these vis to run together? Any suggestiosn

    Jrod, yes you should be able to do this, actually there are quite a few example programs come with LabVIEW that handles simultaneous analog input and output, I check the specs of the board you use, the board should be able to handle the sampling/generation rate, but make sure for 50KHz sine wave, you would sample at least twice as fast, preferably ten times the generation rate, then this puts the sampling of the board to thew limit.
    The program you can try is attached here, good luck with the application,
    XD Gao
    Applications Engineering,
    National Instruments
    Attachments:
    Simul_AIAO_Buffer(E-series).vi ‏104 KB

Maybe you are looking for