Simultaneous serial and analog input DAQ?

Need to sample from the serial port and 4 channels
of analog input at the same time. Figured I need
to use an internal clock to sync the aquisition
since the serial port response delays every so
often. Does anyone know how to sample from an I/O
port and a DAQ card at a consistent sampling
frequency in LV? Any help would be greatly
appreciated.
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

[email protected] wrote:
>
> Need to sample from the serial port and 4 channels
> of analog input at the same time. Figured I need
> to use an internal clock to sync the aquisition
> since the serial port response delays every so
> often. Does anyone know how to sample from an I/O
> port and a DAQ card at a consistent sampling
> frequency in LV? Any help would be greatly
> appreciated.
You don't mention what kind of data rates you are talking about. I have
put together several systems that combine time-stamped serial and daq
channels, but in all cases, the serial data was running at around 1 Hz.
The daq channels were often running much faster (100Hz to 1KHz). If
your channels fit this description, then it is possible to synchronize
your data (more or less)
. You can use software timing to set up the
slow loop and acquire the serial data, and used buffered A/D to read in
the appropriate daq channels. The synchronization isn't perfect, but
may be "good enough".
Best of luck,
Dave Thomson
David Thomson 303-499-1973 (voice and fax)
Original Code Consulting [email protected]
National Instruments Alliance Program Member
Research Scientist 303-497-3470 (voice)
NOAA Aeronomy Laboratory 303-497-5373 (fax)
Boulder, Colorado [email protected]

Similar Messages

  • How can i synchronize analog output and analog input timings to generate and measure voltage at the same time.

    how can i synchronize analog output and analog input timings to generate and measure voltage at the same time.

    Read this Tutorial
    http://zone.ni.com/devzone/cda/tut/p/id/3615#toc3
    And also refer to this link where You have repeated this question.
    PS: Please stick to one thread. That way, its easier to keep track of your query and answers

  • Newbie: 6020E (USB) slow performance with mixed digital and analog input

    Hi,
    I'm using a 6020E to do analog and digital input, and I'm getting very bad performance.
    Please note that doing IO in Labview is new to me!
    I have read the post about 6020E slow performance, and it says I should do buffered IO.
    Can anybody point me to some DOC or SAMPLE that actually shows or explains how one should do this. I need to read several digital IO lines (which I can combine in one port-read), and several analog inputs.
    Seeing how slow the reading on the 6020E is, I am amazed there is only one post that deals with this issue.
    I would be satisfied to get the 6020E into some sort of continuous read mode so that whenever I need data, I get the latest reading right away.
    thanks,
    Peter D'Hoye

    Hi Peter,
    Your cannot do buffered digital I/O with your daqpad. It doesn't have that capability. You can only make direct software calls with digital read/write from/to your port. So your digital IO is completely software clocked and not hardware clocked. The example you are trying is only for specific Simultanuous sampling boards or now also for M-series boards that are able to do correlated DIO.
    Use the Cont Acq&Graph Voltage-Int Clk.vi example for your analog measurements. (NI Example Finder) For your digital IO you can only use the examples like Read Dig Chan.vi, Read Dig Port,...
    There are indeed some slow performance issues with single point I/O Operations, that is correct.
    Check the explaination below:
    DAQPads are offered for the Universal Serial Bus (USB) and the IEEE 1394 (also known as FireWire). Both of these standards use a high-speed serial communication protocol between the computer and the device with a bandwidth up to 12 MB/s for USB and 400 MB/s for FireWire.
    During a single point operation, the DAQ device requires a complete set of configuration commands. This is done through serial communication (USB or FireWire), making the process slower than in a PCI-based board. The speed obtained for single point operation in a DAQPad is system dependent; this means that your computer processor, memory, bus speed, and other factors alter the speed at which you can do single-point operations with a DAQPad.
    For example, on the DAQPad-6020E, timed non-buffered analog input operations are limited to about 50 Hz. At higher rates, the software may become unresponsive. On a FireWire device, you can expect stable operation around 3,000 Hz. But again, these figures are system dependent.
    Regards.
    JV
    NI

  • How to combine Digital Output, a delay and Analog Input in a fast loop

    I need to develop a process loop that runs at least at 250 Hz that performs a Digital output, than a delay of 50 microseconds and than an analog input of all the channels. All will be done using ATI MIO 64E3 card. Of course, the acquired data will be processed, displayed and saved. The loop will be running for several minutes until user stops it.

    The fastest and most precise timing will occur if you use hardware timing. You can apply hardware timing to analog input on the E Series boards, but not the digital lines. Let's focus on the analog input first. Continuous waveform scanning uses a scan clock, which can be the board's internal one or an external one which you apply. If you want to scan all the channels 50 microseconds after a digital rising edge, then you need an external signal to signify that scan clock.
    The E Series boards also have 2 counter/timers onboard that you can use for this purpose. You can set up a retriggerable pulse generation operation, where the counter receives a trigger and then on the user specifications, produces a pulse. You can have that route to the analog input scan clock.
    The trigger signal for the counter is that digital pulse. As I mentioned earlier, there is no hardware timing for the digital lines on an E Series board. We do have other digital boards (653x family) that have hardware timed operations if precision is important. If you are satisfied with software's resolution (in the milliseconds), then you can call the E Series board digital function in a loop with a software timer. That digital line can route to the counter to act as the trigger.
    So, on the programming side, you can have three separate and independent operations in parallel. One is for the digital function to output on that line every so often. Another is for the counter set at the retriggerable pulse generation. The last is for the analog input. I will describe this in terms of LabVIEW, but it can be done in a similar fashion with the NI-DAQ function calls or Measurement Studio.
    The digital examples are in the LabVIEW >> Examples >> Daq >> Digital >> E-Series directory. The Generate Retriggerable Pulse example is in the LabVIEW >> Examples >> Daq >> Counters >> DAQ-STC directory. The E Series boards use the DAQ-STC timing chip.
    Go to the LabVIEW >> Examples >> Daq >> anlogin >> strmdisk.llb directory and start with the Cont Acq to Spreadsheet File. This shows how to continuously acquire data and stream it to disk while displaying the data on a chart. Streaming to disk is the efficient way to save data while you are acquiring, as it eliminates the overhead of always opening and closing the file through the iterations of the loop. This saves to a file that can be opened by other applications (Excel, Word, etc.), but it is not as fast as writing to a binary file, which must be opened and read back through LabVIEW. However, for your ~250 Hz rate, it should be fine. Then, go to the LabVIEW >> Examples >> Daq >> anlogin >> anlogin.llb and look at the Acquire N Scans -ExtScanClk example. This shows how to apply the scan clock. Here, the AI Start that you saw in the previous example is replaced by 4 VIs (3 AI Clock Config's and the AI Control). Make those changes to the first example and then add a constant 0 to the AI Control parameter for total scans to acquire. That specifies the continuous operation. The File >> VI Properties >> Documentation menu item of the example describes the physical connections.
    If you aren't using LabVIEW, use the NI-DAQ User Manual and the NI-DAQ Help file installed on your machine. You can look at your AT E Series User Manual at the http://www.ni.com/manuals pages for more information on the hardware. Also, if you want to route those signals internally on the board, you can find some entries in the KnowledgeBase at the http://www.ni.com/support pages.
    Regards,
    Geneva L.
    Applications Engineering
    National Instruments
    http://www.ni.com/ask

  • How to use both digital and analog input modules in the same worksheet - MCC USB1208LS

    Dear all,
    Hi, I am Imran. I am using MCC USB1208LS. I have created the worksheet using digital input module as below and able to execute (run).
    But when i add another analog input module in the same worksheet and executes, An error Message pops-up as in the below image
    I have connected temperature sensor sognal to the analog input of USB1208LS. When using analog input alone in the worksheet, it indiates the actual values. 
    is any black box solve? please guide me. I am attaching in images
    We already placed a purchase order for USB1208FS. Will it sort out my issues?.
    Thanking you,
    Imran Mohamed.
    Attachments:
    present worksheet digital input only.JPG ‏67 KB
    with analog input module.JPG ‏81 KB
    error menu.JPG ‏77 KB

    Hello Imran,
    the USB-1208LS is not capable of running concurrent operations such as an analog input scan and ANY digital Ins, Outs, counter reads, or analog outs.  In Dasylab, the 1208LS is scanning, and nothing else from that particular device can be requested of it while that is happening.
    Yes, using the 1208FS will resolve some of these issues.
    Please refer to the ULHELP.CHM file installed on your computer in c:\program files\measurement computing\daq for details on this issue, et al.
    also I recommend you send your MCC/DASYLab requests for support to [email protected] as MCC staff (that includes me) does not normally monitor NI's Developer Zone.

  • ELVIS Scope and Analog input triggering

    Hi everyone,
    I'm trying to read two waveforms, one from the analog input and one from the scope. These waveforms are coming from two sides of a voltage divider and should always be in phase. But I think that there might be a triggering problem. When I change the frequency of the input waveform, my measured waveforms go out of phase.I have programmed each express VI to trigger off of the SYNC.
    I can't use analog inputs for both measurements because the sampling rate is too small. I can't use the scope for both inputs because one of the waveforms is a differential measurement.
    Any help would be appreciated, thanks.

    Hi, I looked at the ELVIS Hardware User Manual and noticed that you have 12 channels that can be used as differential, Reference single ended or non reference single ended. Unless you have them all busy I don't see why you can't use the analog inputs. About the sampling rate, it will be determine by the M Series DAQ device that you are using and the source of the signal. It is a good practice to sample, at least, 10 times faster than the frequency of the input signal. The documentation of the card should show what the maximum sampling rate is.
    Now, Open the example called "Multi-Device Synch-Analog Input-Cont Acquisition.vi" at the NI Example Finder under Hardware Input and Output»DAQmx»Synchronization»Multi-Device. If you get the same results shown in the picture then you need to analyze if the voltage divider is affecting the phase.
    For more information about synchronization check the article called "Synchronization Explained".
    Good luck!
    Alejandro | Academic Program Engineer | National Instruments

  • Time measurement between counter output my device and analog input

    Hello!
    I'm trying to measure the time to generate a digital pulse train on the counter output, that goes to a frequency converter that controls a motor.  So I think it'd be the best way to wire the output of the frequency converter with an analogue input and make a timestamp before I generate the pulse and a timestamp when I recognize the singal, but I think that wouldn't be a serious measurement ?
    What's the best way to measure the time?
    kind regards peter

    hi there
    well, there a several ways to do this. the problem with the software - timestamps is the minimal resolution of 1ms. i'd suggest:
    - wire a copy of the digital pulse train to an analog input channel
    - wire a copy of the frequency converter to another analog input channel
    - create an analog input task with the two channels (the sampling rate defines the timing resolution,make sure to acquire enough samples to see the response signal) 
    - start this task
    - send the digital pulse train
    to optimize your acquisition you can use another copy of the digital pulse train as a start trigger for your analog acquisition.
    -> then you'll see the digital pulse train on one of the analog channels and the frequency output on the other one. both channels have the same time axis with a resolution defined by your sampling rate (~us depending on your hardware). then you can analyze the data.
    search the example finder for examples of how to create tasks and triggers.
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"

  • Audio sync problem - simultaneous HDMI and analog output

    I'm currently running my audio out through my Geforce 460 via HDMI to my A/V receiver. I have a simultaneous stereo analog output running through my ASUS Xonar D2, using Pulseaudio & Amarok as the player (VLC-gstreamer backend).
    I use the HDMI and A/V receiver to power my main stereo in my living room, but on occasion when I want music around the house, I use the analog line out to send audio to an FM transmitter.
    The problem is, I'm running into audio sync problems. The audio starts out synchronised (at least to the naked ear) but within 20-30 seconds it is noticeably out of sync, with the analog audio (form my FM radio) running around a half second ahead of the HDMI output (my main speakers).
    So - where to begin finding where the sync problem is? The receiver? Conversions between 44Khz and 48Khz?
    Any help much appreciated - google-foo hasn't turned up anything obvious so far.

    Yeah - that was my thought - a very difficult, and probably insoluble problem as it stands. I can't just mute one of the devices as that would defeat the purpose of having multi-room music! Fortunately it's not too noticeable usually, as you can't usually hear the main stereo and the FM radios at the same time, unless you're standing in the right part of the house
    The analog splitter cable not really a goer, since running clean, crisp multi-channel HDMI with pass through when needed is the essential goal of the HTPC. So unless I was to switch inputs and or unplug cables...
    What I will end out doing, in the absence of a software solution, is hooking the FM transmitter directly to my receiver. I was going to just use the headphone-out jack of the receiver to feed audio to the FM transmitter, but the stoopid receiver can't output audio to external speakers at the same time as the headphone is plugged. To overcome this, I'll probably run a headphone amp off the receiver's RCA outputs, into the FM transmitter. Like this one: http://headamp.com/portable_amps/ae2/, or this one: http://www.amazon.com/Rolls-HA43-Headph … B00102ZOQC
    Last edited by sultanoswing (2013-11-13 06:15:11)

  • After closing a VI, and analog input suddenly turns a device on.

    Background:
    I have a LabVIEW 7.1, a Real-Time controller and FPGA card. The FPGA vi that I have is mostly IO. One of the IO's on the FPGA is the Analog output that would be controlled by my Real-Time controller that would send 0-10V to a fan motor.
    Problem:
    While running a test Real-Time VI that opens and controls my FPGA VI through a Read/Write, whatever I'm controlling works fine and in this VI I am not sending any IO to the fan motor. After I close that VI, suddenly, my fan motor gets turned on. Why would this input suddenly send a signal, become active, whatever you want to call it?
    Thank you in advance for any assistance.
    - Con

    Hi Con,
    Even if you are using a simple RT VI which is only doing reads/writes to digital lines the FPGA code still has a control or constant wired into the analog output node. So, even if you are not explicitly controlling the analog output line through the RT VI it will still write a value based on the control/indicator wired into that analog output node in the FPGA VI. What is the value of that control/constant for the analog output node (on the FPGA VI)? You will want to set that value to 0 (on the FPGA VI) to make sure that there is no voltage written out unless you control it via the RT VI.
    The strange part about this issue is that the fan comes on after the FPGA VI has been closed via the RT VI. Right now I don't have an explanation for that. Sometimes there is a floating voltage on the analog output line when no VI is controlling it. However, this should be floating and should taper off after a while. Is this what's happening or is it a repeatable voltage value every time? I have tried to reproduce this issue but I don't see the same behavior.
    Try these things that I have discussed above and let me know what you find out.
    Best Regards,
    Brooks W.
    National Instruments

  • Simultaneous digital and analog with pulseaudio [solved]

    Goal: have pulse audio output audio over HDMI and through line-out.
    I found this thread which details two potential solutions to this problem.  The more complex one isn't appealing to me, but the simplistic one quoted below is... but I can't seem to get it to work.
    doorknob60 wrote:
    Or easier solution this should work: open paprefs -> Simultaneous Output tab -> Check the box -> Switch to the virtual device in gnome's settings or pavucontrol
    That's what I do to simultaneously output to my speakers and to HDMI, so I'd assume it would work for you too, even though you seem to have already figured it out.
    Is anyone successfully doing it?  My problem is that within pavucontrol>playback I cannot seem to select both the analog and hdmi sources.  For example, I have mplayer playing a movie (should be HDMI) and mpd playing music (should be analog).  My only two options under pavucontrol>playback are:
    *Internal Audio Analog Stereo
    *Simultaneous output to Internal Audio Analog Stereo
    I have no option for HDMI.
    Last edited by graysky (2012-02-09 00:44:53)

    Got it!  The key was understanding that whatever is selected in the GUI is the default device.  I therefore selected HDMI as the device and added the following to
    /etc/pulse/default.pa
    ### Load analog device
    load-module module-alsa-sink device=hw:0,0
    load-module module-combine-sink sink_name=combined
    set-default-sink combined
    After a restart of pulseaudio, I simply went into pavucontrol and defined which program would use which device.  I'll update the wiki with these when I have some time.  Thanks to doorknob60 for his original post.
    EDIT: https://wiki.archlinux.org/index.php/Pu … log_Output
    Last edited by graysky (2012-04-25 22:45:43)

  • How to build a current loop with cFP-1808 and analog input module AI-110?

    I am trying to build a current loop to measure temperature via and a resistance thermometer a transmitter that converts the signal to current. I am using cFP-1808 with the power supply PS-5 directly connected to it.
    For the current measurement I am using AI-110 but I am having trouble with getting current in my loop. I have looked in he manual of the AI-110 module and am using the set up for a "loop with an external power supply", counting the PS-5 as external. That is to say, I have connected the negative transmitter terminal to Vsup on the AI-110, and the positive side to Vin. Now, however, I am stuck. I don't get any signal in my loop.
    Can I use the PS-5 to power my AI-110 module or do I need to use another external power supply? In this case, how do I connect this?
    Thanks for any help!

    Clara G:
    I overlooked that in your 1st post you were connecting the other end of the transmitter to Vin, you actually need to connect it to Iin on the AI-110.
    Regarding the use of the PS-5 to power the cFp and supply power to the loop, I do not know if that will work or not.
    Suggest that you switch over to Iin terminal and use the separate 24V supply to power the loop. If that works, them maybe try the PS-5 for both the cFP and loop power.
    -AK2DM
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

  • Error -200279 with simultaneous analog input (different devices) and digital output.

    Hi guys,
    I am a beginner in Labview and have been dealing with this problem for a couple of weeks now and just can't seem to get it completely right, I have a feeling there are a few small bugs in my code/hardware setup.
    I am running an scxi-1000 chassis with a 1600 module and 1302C along with a 1303 accesory for temperature measurements, this is connected to four thermoucouples. Unfortunately I have a limited number of modules available so I am also using a PCI-6221 DAQ card with an scb-68 breakout box used for a digital output and analog input voltage channel. Attached is my labview program. When I run the code at a 50 Hz sampling rate it runs with no errors but the data file comes out extremely wrong, this is also attached. When I run the code at 100 Hz I get error-200279 after a few loops. I used to have 2 daqmx timing VIs (one for each input), but the same error would eventually happen, I have also tried increasing the buffer size on said timing VI. I am also using an old computer (Pentium IV) could this effect the program?
    I have learned a lot going through forms for similar problems to mine but I just can't get it to for an extended period of time, I have posted my simplest code.
    Thanks in advance,
    Luca
    Attachments:
    tc_2.txt ‏1102 KB
    FinalCombined_2.vi ‏128 KB

    Ok this makes sense. I have made the suggested modifications but still getting the same error with sampling rates of 100 Hz or higher. Could you check that I have implemented the queue VIs properly (new file attached)? Also when running at 50 Hz in debug mode it does not look like the second while loop (with the dequeue element) comes into play until I hit the stop button, once I hit the stop button I get the following error:
    Error 1 occurred at Dequeue Element in FinalCombined_2.vi
    Possible reason(s):
    LabVIEW: An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.
    =========================
    NI-488: Command requires GPIB Controller to be Controller-In-Charge.
    This leads me to believe I have programmed the queue elements incorrectly.
    Thanks for your help, any suggestions are greatly appreciated.
    Luca
    Attachments:
    FinalCombined_2.vi ‏102 KB

  • Triggered and continuous analog input togeather?

    Hi,
    I have a program set up based off a shipped LV example involving digital triggering of the analog inputs. It looks at a pulse and reads in ten points from the rising edge continuously. It appears that we are missing some pulse triggers and only reading in 126 triggers/sec instead of 128. We double checked the pulse and the frequency is correct (128Hz) so it seems as if the LV program is missing some of the pulses. Therefore, I want to use another analog input channel on the same 6062E daq card to continuously read in the waveform and see which pulses are being skipped. Is this possible?

    Lisa,
    I don't believe the E-series architecture will allow triggered and continuous analog input operations to occur in parallel. It is possible to set up different gains/input ranges but I'm 95% sure that the functionality that you are after isn't there.
    If you are looking to keep track of the number of pulse seen by your application you could consider the use of a counter to count the number of rising edges seen by the NI 6062E - basically daisy chain the pulse train to the trigger input and the GP_CTR Source pin of the counter you wish to use. There are a number of examples around that should help with this. Running the counter and analog input operations in parallel shouldn't be a big problem - it might be that you would want to set up a buffered event co
    unt operation for the counter as this will allow you to track and monitor every single trigger event seen by the counter while your analog input operations continue in parallel.
    The other aspect to consider is benchmarking your application with the Profiler. If the problem is that you consistently only see 126 triggers/second, perhaps your acquisition loop is not running fast enough to cope with the data. This can be especially true if any data processing or file storage is taking place inside the acquisition loop. The Profiler will allow you spot bottlenecks and get a better understanding as to the performance of your application.
    I appreciate this is perhaps not a direct answer but hope that it gives some ideas as to how to track down the cause of the problems you are experiencing.
    Jeremy

  • How do I acquire two analog inputs simultaneo​usly using a PCI-6052 E series DAQ?

    I am using the data to develope transfer functions.

    The simple answer is to put the 2 channels of interest in the Channel Control of your VI. Separated them with a comma.
    To be honest your question is not very specific. There must be hundereds or thousands of ways to simultaneously acquire 2 analog inputs.
    Try looking at the example VIs that ship with the software. Use the Find Examples function of the startup page for LV. Familiarize yourself with the information there and try some likely ones out. At this point you may have some more specific questions to ask.
    The descriptions of the VI's are sometimes hard to read, but are usually enough to operate the VI.
    Mike

  • Measuring frequency with counter or analog input?

    I have some frequencies which I need to measure. Some signals are digital and some are analog.
    I have a PXI-6040E DAQ which has both counters and analog inputs. 
    I heard that you can measure higher frequencies with the counters than with analog inputs.
    What is the range of frequencies an analog input can determine versus a digital counter? 
    Where is the cutoff that you must absolutely use a digital counter to determine the frequency?
    Is the cutoff different for different DAQ cards? Or is generally the same.

    Have you looked at the specs for the device? The max sample rate and the max counter input will be listed there. The max frequency for an analog input is based on nyquist sampling theory. Are you at all familiar with? It states your sampling frequency has to be at least twice the frequency you are measuring.
    Since each device might have a different max sample rate, your last question is answered.

Maybe you are looking for