2-channel continuous data acquisition

Hello

I wonder how I could acquire signals of 2 channels at all times. I tried to find an example of vi but could not find one. In the vi below, I copied the same functions that work for a single channel, but it does not work.

Best regards

Ninjatovitch

It should be Dev1 / ai0:1 as described above where ai0 is channel 0 and ai1 is channel one. They are separated by a ':' that specifies the range. Take a look at the following:

What is the syntax for strings of physical channel in DAQmx?

Tags: NI Hardware

Similar Questions

  • How to stop a single channel of data acquisition while continuing to monitor another?

    I wonder if it is possible to stop and collect data (Ex: send Excel) from a channel on my acquisition of data (Ex: channel ai0), but continue to collect data from all channels (Ex: ai2).

    You do so much too difficult for yourself here.

    1. you use graphics.  It's great!  Here's the thing about the graphics: they keep a story.  So there is no need to append waveforms  Just wire the waveforms directly in the table.

    2. change your Dynamic Data type for a waveform output.  It will make your cards a little happier.

    3. you can right click on the card when the program is running and that there is an option to export-> To Excel.  No additional coding necessary.

  • Excerpts from continuous data acquisition

    Hello

    I want to make an acquisition of continuous data with a NEITHER-6133 @ 1ms per channel. The data must be stored on hard disk. At the same time, I want to take excerpts from acquisition to calculate different values. The acquisition of the extract must be triggert by an external digital trigger.  Are there examples, which combine continuous data collection and collection excerpts?

    Thank you very much.

    Best regards

    Michael

    System

    Windows 7

    LabVIEW 2012

    NOR-6133

    Thanks to the support of NOR-Germany, I found a solution for me:

    1.) continuous trigger switch

    Connect 2) the trigger for the signal to a digital i/o

    3.) synchronize AI and DIO

    Excerpt 4.) the samples needed by the search within the digital waveform pattern

    Result:

    The example shows 4 IA channels Cup (tested on Win7, NI PCI-6115, 4 channels each 5. MECH / s) and calculation on extracts from each channel signal triggered parts.

  • I32 flipping index iteration continuous data acquisition

    I'm doing some continuous data streaming with Labview FPGA and periodically generate a trigger signal

    the timestamp after a number fixed iterations.

    The strategy I would try was to review the iteration index in the timed loop and whenever he tipped a fixed number I would generate a trigger of the FPGA.

    I tried to find out what happens when you get to 0x7FFFFFFF samples on the register of I32 and apparently

    the index does not roll... It just remains to count max once reached it.

    Is there a way to derail the index on a timed loop? Otherwise I wil just add another

    U32 variable and increment it each cycle and let it roll on.

    the iteration count does not roll.  Therefore at this historic moment, but just use a registry node, local or feedback shift instead.

  • Continuous data acquisition and real-time analysis

    Hi all

    It is a VI for the continuous acquisition of an ECG signal. As far as I understand that the analog read DAQmx VI must be placed inside a while loop so it can acquire the data permanently, I need perform filtering and analysis of the wave in real time. How I implemented the block schema means that data stays int the while loop, and AFAIK the data will be transferred on through the tunnels of data once the loop ends the execution, it clearly isn't real-time data processing.

    The only way I can think to fixing this problem is by placing another loop that covers the screw scene filtering and using some sort of registeing shift to transmit the data in the second while loop. My question is whether or not it would introduce some sort of delay, and weather or not it would be supposed to be the treatment in real time. Wouldn't be better to place all the screws (aquicition and filtering) inside a while loop? or it is a bad programming practice. Other features I need to do is back up the data I na file, but only when the user wants to do.

    Any advice would be appreciated.

    You have two options:

    • A. as you said, you can place the code inside your current while loop to perform the treatment.  If you're smart, you won't need to put one another while loop inside your existing (nested loops).  But it totally depends on the type of treatment that you do.

    • B. create a second parallel loop to perform the treatment.  This would be separate processes to ensure that the treatment is not obstacle to your purchase.  For more information, see here .

    Your choice really depends on the transformation that you plan to perform.  If it's much the processor, this could introduce delays as you said.

    I would recommend that you start at any place in the first loop and see if your DAQ buffer overruns (you can monitor the rear of the buffer during operation).  If so, you should decouple the process in separate loops.

    In what concerns or not ' it would be considered as real time processing ' is a trick question.  Most of the people on these forums say that your system is NEVER in real time because you're using a desktop PC to perform processing (note: I guess it's the code that runs on a laptop or desktop?).  It is not a deterministic systemand your data is already "old" by the time wherever he leaves your DAQ buffer.  But the answer to your question really depends on how you define "real time processing".  Many lay it will set as the treatment of 'live' data... but what is "actual data"?

  • Continuous data acquisition programming

    I wrote a program that I use to get the measurements continuously to a load with the DAQ assistant (attached) cell. I want to measure load values every 0.5 seconds and record each value using Scripture in the action file. I'm having some problems with getting the output file, I need. The parameters of the DAQ assistant are:

    -Continuous measurement

    -2 Hz sampling frequency

    samples - 1800

    - and a waiting period of 900 seconds

    I want to be able to hit stop them at any time and at the end of the program. However, what is happening is that the program continues to operate until the 900 seconds is over. Is it because I made it clear to get samples of 1800? If I leave it blank, it defines a number itself. I read somewhere that the definition of the value-1 allows an infinite number of samples, but that returned an error.

    Another question, I'll have, it's that if I allow the program to run after the timeout I put, it inserts a header after every sequence of timeout. I can't understand what is with wrong with my code, thanks for any help.

    Basic arithmetic. 1800 samples/2Samples/s = 900 seconds.

    Why accumulate so many samples at once? Reduce the number of samples at 2 and just wait 1 second for the Stop button to be recognized.

    If you don't want a header for each segment, then uncheck that in writing to the configuration of the action file.

  • Moving average filter w / continuous data acquisition

    I'm looking to filter multiple signals of noisey. I am currently using a NI9203 w / a cDAQ-9174 sampling to 1000 Hz. I use DAQmx vi to start the task and acquire the signal. I tried using coefficients.vi smoothing filter combined with IIF filter.vi (Avg.png movement) it seems to work for simulated signals and recorded data. However, when I try to use this configuration for an average of real time it cut everything just all signals to zero.  I looked into the use of shift registers, but to get the necessary result, it seems that I have to use hundreds of items.

    In the end, I'm trying to filter the signal to get a constant more of reading for the user. For example during operation, the user needs to review the current state of the values in real time. It's currently difficult when the noise indicates the values of +/-100 changing every 100ms.

    For any help or suggestion would be appreciated, thanks in advance.

    Thank you all for the help and advice. I have attached the vi that I used to solve the problem, one of my major problems was not timing DAQmx using. Attaché in 2012 and 2013.

  • digital triggering of stop/start of analog data acquisition

    I want to use a signal from a digital line to start and stop analog data acquisition. The signal can change levels several times during a race of the VI so I have to start and stop several times data acquisition and store each session data in a different file.

    I tried to play with the following screw: digital triggering of break, DigitalStartandStopTrigger and ContAcq_DigTrig. None of them doesn't seem to work for my configuration. I also do continuous data acquisition so I can't use a reference. I use PCI 6259 DAQ.

    I used the "P0" pins rather than PFI pin on the grid BNC-2090. I know... stupid enough.

  • 2 channels of AI on a data acquisition with the range of different sensitivity

    This vi is based on the 'new project' state machine on the home screen at the start of LV.

    A time loop is parallel to the main loop of the state machine, shown in the picture.

    It works continuously until you press the Exit button.

    The problem seems to be in start this... > read >... stop start > read >... stop along the error line.

    The reason for this clumsy arrangement power is measured voltages are in two lines of different sensitivity.

    The shunt voltage is small and needs-. 2 to the range of V.2. The load voltage is greater and 09:50 V range is good.

    In the initializing state, two separate vi 'create a channel' have been used to specify the range of voltage to the physical channel. The corresponding tasks are sent via via local variables.

    DAQmx errors happen randomly, sometimes the first iteration, sometimes the 50th.

    I tried to disable one or the other start > read > stop for the shunt voltage or load.

    I tried replacing them with the DAQ assistant.

    I tried various DAQmx vi: "wait" and "accomplishment of the tasks by resource cancel selected".

    But error-50103 "specify resource is reserved" keeps popping up.

    Is it possible to create two tasks on the device even when they are not used at the same time?

    The only reason is to measure in two voltage ranges.

    Win 7 Pro 64-bit

    2014 LV database

    Data acquisition equipment: USB-6210

    Thank you.

    This has been discussed many times. Do NOT use separate tasks. You can use different ranges for different channels with a single task. Just wire the task from one channel to another channel to create task.

    You also use local variables when they are certainly not needed.

  • Real-time display at the high frequency of data acquisition with continuous recording

    Hi all

    I encountered a problem and you need help.

    I collect tensions and corresponding currents via a card PCI-6221. While acquiriing data, I would like to see the values on a XY graph, so that I can also check current vs only voltage/current / time. In addition, data should be recorded on the acquisition.

    First, I create hannels to analog input with the Virutal DAQmx channel create, then I set the sampling frequency and the mode and begin the tasks. The DAQmx.Read is placed in a while loop. Because of the high noise to signal, I want to average for example every 200 points of the current and acquired for this draw versus the average acquisition time or average voltage. The recording of the data should also appear in the while loop.

    The first thing, I thought, was to run in continuous Mode data acquisition and utilization for example 10 k s/s sampling frequency. The DAQmx.Read is set to 1 D Wfm N Chan N Samp (there are 4 channels in total) and the number of samples per channel for example is 1000 to avoid the errors/subscribe for more of the buffer. Each of these packages of 1000 samples should be separatet (I use Index Array at the moment). After gaining separate waveforms out of table 1 d of waveforms, I extracted the value of Y to get items of waveform. The error that results must then be treated to get average values.

    But how to get these averages without delaying my code?

    My idea/concern is this: I've read 1000 samples after about 0.1 s. These then are divded into single waveforms, time information are subtracted, a sort of loop to sprawl is used (I don't know how this exactly), the data are transferred to a XY Chart and saved to a .dat file. After all that's happened (I hope I understood correctly the flow of data within a while loop), the code in the while loop again then 1000 samples read and are processed.

    But if the treatment was too long the DAQmx.Read runs too late and cycle to cycle, reading buffer behind the generation of data on the card PCI-6221.

    This concern is reasonable? And how can I get around this? Does anyone know a way to average and save the data?

    I mean, the first thing that I would consider increasing the number of samples per channel, but this also increases the duration of the data processing.

    The other question is on the calendar. If I understand correctly, the timestamp is generated once when the task starts (with the DAQmxStartTask) and the time difference betweeen the datapoints is then computed by 1 divded by the sampling frequency. However, if the treatment takes considerable time, how can I make sure, that this error does not accumulate?

    I'm sorry for the long plain text!

    You can find my attached example-vi(only to show roughly what I was thinking, I know there are two averaging-functions and the rate are not correctly set now).

    Best wishes and thank you in advance,

    MR. KSE

    PS: I should add: imagine the acquisition of data running on a really old and slow PC, for example a Pentium III.

    PPS: I do not know why, but I can't reach my vi...


  • How to control several input channels analog daqmx for data acquisition trigger (all on the same SMU-6368)

    Using the SMU-6368 module, I would like to monitor the analog signal on multiple channels and trigger on several channels - relaxation and acquisition channels is all on the same device. Probably going to be sampling at 200 kHz and more. FM LV 2009 2012, with SV toolkit in Windows 7.

    If SW trigger is the only way to follow, there example code shows how to manage the block size, etc.. ?

    jkessler,

    Yes, the example was in 2012.  I didn't get what you asked for in your first post because I didn't know you wanted to ANY channel to trigger acquisition of all channels.  It is not possible at the hardware level, because you cannot specify four channels as the command source. This will be implemented in the software.  I recommend the reading of all four channels and neglecting data until you determine that one of the channels reached your threshold value.

    Kind regards

  • How to find the time between two channels of entry in the data acquisition card or pci 6036

    Hello

    I read a lot-related posts on the simultaneous measurement of two input voltage of similar channels in map data acquisition. I know that the best material is "simultaneous measurments of the Series DAQ cards" but I only pci data acquisition card 6036 and I try to understand what is the time between the reading of the two channels . This period is always constant? (must it rely on a voltage (amplitude, frequency, waveform..). I send the sine wave (s) to the two channels and read the values of V, if they read the same value, the difference should always be zero but I get-0,002 to 0.002 Volt difference (I must find a way to convert it in time). A screenshot of my VI is attached. I wonder how I can accurately measure the time delay between the channel.

    I am open to any suggestion, my final goal to read exactly two channels at the same time ((ou connaître le délai exact donc je peux correspondre les données correspondantes étant donné le temps de retard))

    Hi spinup,

    better you should post your question in the forum of LabVIEW, LabWindows/CVI is used

    Good luck.

  • continuous recording of samples in file .lvm with data acquisition

    Hello

    I use DAQ to acquire the analog signal and I'm saving samples k 1 .lvm file using file capable of writing with a sampling frequency = 1 k, samples = 1 k in continuous mode. I am able to see the data stored in the .lvm file like this 1 k samples then a few lines of words (like channels, samples, date etc.) and then other samples of k 1 and so on not worked the .vi stopped but how to save the continually samples placed in without any line of words I mean save continuous samples.

    The sequence is shown it the file attached is .lvm.

    Thank you.

    It would have been preferable to set the code when you set up the Express VI. You just leave the Express VI in its default settings? Have you tried to change the configuration to one header only?

    Your choice of an Express VI means you have limited options. If the options do not match your needs, you will need to use lower entry level file functions.

  • USB multi channel data acquisition

    I use the VI to arduino HC-06 bluettoth of data acquisition. I would like to acquire data multicahnnel

    Could you suggest me how to acquire multichannel data from USB? To do this, how I have to program the arduino?

    The crux of your property doesn't do anything since you not write anything.

    Why you set the number of bytes to read at 8? You send more than that. You should be able to set it to a high number, such as 1000. Why do you use a dbl for this control?

  • data acquisition won't taste at the specified rate

    Material: C - DAQ 9178, AI 9239, inside a servo and an encoder potentiometer module

    Setup: I use the 9239 to measure the angular position of my servo and encoder of trees by streaming came pressure pot of the servo and my encoder. I put the sampling frequency on the DAQmx - Schedule VI to 100 Hz.

    Problem: I don't think that my DAQ is sampling data at 100 Hz because my VI registers more than 10 000 data points for a 10 second test. In addition, every time I have save my data in a text file, the vector of time my test data resets after a number of iterations.

    To debug, I tried the following configuration:

    I've defined the sampling frequency of 100 Hz (or is that s/s?), the samples per channel (size of buffer for continuous mode) at 2000 samples, number of samples per channel up to 10 and loop milliseconds timer on my VI at 10 m accordingly, data acquisition would send 100 samples per second (or 1 sample every 10 ms) on my PC buffer (which could store 20 X that amount). Then LabVIEW would read up to 10 samples per loop iteration (which is itself ~ 100 Hz) and work with these 10 samples inside the loop. However, since the loop is operating close to the sampling frequency of data acquisition, then LV should only work with 1 sample each iteration of the loop (100 Hz / 100 Hz)-not the 10-sample-max that I specified.

    However, I stumbled on "error-200279: the application is not able to cope with the acquisition of material" when I ran the program. Why?

    My code and materials should be easily able to cope with data acquisition - at least the way I put it in place

    This whole situation wondered my fundamental understanding of data acquisition timing, so I would really appreciate an explanation of exactly how to deliver DAQmx uses data synchronization, why my DAQ sample at 100 Hz, and how can I fix the calendar specified by the user.

    Thank you!

    aeroAggie wrote:

    The C - DAQ 9178 there some minimum sampling rate I will not meet?

    It's actually the 9239 that limit your sampling rate.  Read the data sheeton page 5 there's available data rates.  In short, your data rate allowed is 50kS/s / n, where is goes from 1 to 31.  50 k/31 gives you 1.6kS / s.  So, it's the minimum sampling frequency that can be used.

Maybe you are looking for

  • Police is messed up on Firefox 17.0

    Just updated to FF17.0 and fonts look awful when the ClearType is enabled in Windows. I cause disabled ClearType I hate the appearance of fonts with him helped, and now Firefox looks like it is everywhere. The police are in bold. That's happened? Can

  • print head deposited on 6520

    Can I remove the printhead on a photosmart printer 6520 in order to clean it?

  • WLC DHCP Proxy - to do or not to do?

    What is on the rise / decline of gyration of the DHCP Proxy of the WLC setting?  I know the option is there now, but it always by default the proxy mode, so what's the question?  I ask, because I could make an issue of a wlan comments becomes a dhcp

  • Unable to set up the connection to the base

    HelloI install Siebel Enterprise Server in a self-study environment. I'm following the Siebel IP 2015 online documentation (Siebel Innovation Pack 2015: installation of the Siebel database) and I can't get through the database Configuration Wizard.I

  • Someone could search by conflict script in my folder?

    I have a (DMX Zone) Nivo Slider placed in my Bootstrap file, and it does not appear. I'm sure that this is a conflict of script but I can't watch it any longer. I could really use some help. Thanks in advance. http://washingtonsquarewi.com/new/index-