Analog channel scan - skeleton


I use NEITHER-DAQmx in visual basic to scan 8 channels on a Windows timer component and I'm trying to separate the initialization code of the code for the analysis.

The code example lists all the functions I need to call sequences, but it is not clear what function I can call once (during initialization of the) and I need to call to make the analysis of functions and retrieve values.

I can call DAQmxCreateTask() and DAQmxCreateAIVoltageChan() during initialization of the can repeatedly call DAQmxReadAnalogScalarF64() whenever I need to read the ADC values?

Thank you




Reading the description of DAQmx functions you call as efficiently as possible for you to read that your data would be to ask CreateTask, CreateChannel, then call DAQmxStartTask, outside your loop.  Inside the loop, all what you call is DAQmx read.  By adding the Start Task call outside the loop, you guarantee that internal DAQmx state machine didn't need to transition through additional States when you call reading.

Hope this helps,

Tags: NI Hardware

Similar Questions

  • Channel scan does not.

    Hi all

    I am a string "a, b: c - d» A little need is to get a, b, c and d strings separately using "channel scan". I tried the format string "%s, % s: %s s. But the analysis of string does not work. string 1 = a, b: c - d; Channel 2, channel 3, Channel 4 are empty. I also have an error.

    Is there any format string format should I follow for a, b, c and d correctly from scan chain.

    Kind regards

    Abd Word S

    Hi Khalifa,

    If you have a single character such as 'a' and 'b' and so on, then he works with a fixed field of 1 size. Otherwise, you can work with the replacement string and splits the string with the "worksheet to function array string.


  • How to write table values to analog channel?

    Hi all

    If I have a table of values, is it possible to write these values as an analog voltage and then stop writing when he arrives at the end of the table? If so, how does do this?

    I have attached my code that generates a table of frequency swept sinusoidal voltages and I write that out to my analog channel, when I consult my output however, I get the same display of sinusoidal repetitive time and time again. I expect for example:

    writing of wave of 1 Hz, 2 Hz, 3 Hz etc...

    but I'm getting the 1 Hz wave over and over again, I selected samples in the sample clock and pretty much done a lot of trial and error and still no luck . Any help would be appreciated!


    Hi Daniel!

    Take a look at this example (you can find examples of LabVIEW):

    Gen CONT tension Wfm - Int Clk - no

    Here is an another VI I did (see table). It is slightly different from the example of the LV and it should help you.

    It could be that useful...


  • Exception on the creation of a second task with Analog channels?

    I'm getting an exception '{error =-50103 = "is reserved for the resource specified. The operation could not be performed as specified.\n\nTask name: _unnamedTask<5>\n\nStatus Code:-50103 "} ' when I call Control(..Commit) on a task with Analog channels, I just created."

    At the time of creation, I have another task set and running in the "we demand" move that uses another set of analogue channels in the same card to acquisition of data (NI6229).

    Is there a limitation on the number of tasks that can use analog in the channels of a single card?

    Thank you

    Go Paul

    Because the analog inputs share a unique clock, you can have only one task running. You can have as many channels as you want in a single analog input task, however.

  • Storage of samples of several analog channels (life-long)

    I use a USB6356 to read 5 analog channels (more digital input port A)) simultaneously until you press a stop button. The idea is to represent all the signals captured on a temporal scale after the acquisition.

    I am convert and storage of the 2D array that is captured in each iteration of the loop in another 2D array in order to have an output of 5 table lines (one for each input signal).

    However, Labview can not handle so much treatment in so short a time table (I think that the main bottleneck is the 2D Transpose VI table) and accidents very soon (I have to kill the entire process and restart Labview). Is there a better way to do this?

    See you soon

    Your problem is that you have horrible memory management here.  Whenever you add in the table, more memory is allocated, then the table is copied.  You are basically out of memory.

    1. use samples of N, N channels, 1 table D of waveforms for your Read DAQmx

    2. change your chart to a chart and move it to be inside the loop.  Maintain chart, a story, so you can still see the X last samples on it (1024 by default).

    3. save your data in a file.  I recommend using the DAQmx configure connection before starting the task.  This allows the stream directly to a TDMS file for further processing.

  • How to view analog channels during an ongoing acquisition, what type of used wave form, table, or chart?

    I use Labview 8.5. and the NI USB-6210 device.

    I want to display the analog channels over the continuous acquisition.

    I can use the table of waveform or waveform graph. Waveform allows you to eat a history buffer. This function is very interresting and useful for my system, but I can't change this value to programming (if I do not mistake!). So, I was wondering if I can also use the waveform graph, but I do not have how to make a circular buffer to replace function "history buffer. I have to use the waveform as a data type.

    What is the best solution for my problem? I would like to know if my solution is good (graphic use of waveform) and if anyone has a solution to make an effective circular buffer with the waveform data type?

    Thanks in advance, best regards, Daniel

    There is an example that comes with LabVIEW called "XY table". It shows you how to create a history for a XY Chart buffer. The size of the history can be changed on the fly. You can adapt the VI "graphic buffer XY ' to work with a data type of waveform." This type of data consists of 3 elements: start on time, delta t and table of values. The only thing that you should be buffering is the array of values.

  • SONY BRAVIA 50 "no signal message for find analog channels

    I bougth a BRAVIA 50 "and everything has worked perfectly, but suddenly the TV sent no signal message can not find the signal of channel or something like that. I bougth TV on December 2012 and this 4 last January that happened. What?, because I could see 7 channels before that. I tried to reset the original settings and I read, but nothing seems to work for some tips. The other features work well. It's just the analog channels. I hope someone knows the solution. Thank you

    I bougth a BRAVIA 50 "and everything has worked perfectly, but suddenly the TV sent no signal message can not find the signal of channel or something like that. I bougth TV on December 2012 and this February 4 this year that happened. What?, because I could see 7 channels before that. I tried to reset the original settings and I read, but nothing seems to work for some tips. The other features work well. It's just the analog channels. I hope someone knows the solution. Thank you

  • How to use DAQmx Read to measure several analog channels

    I have two analog inputs using USB 6221 and I want to measure the voltage of each of them.  I use vi DAQmx-read and I select input analog, 1 sample, several channels, but I do not know how to connect several channels at the entrance of the physical channel.

    Hello, Bernadette.

    For reference - I would recommend ad DAQmx questions here:

    NEITHER Forums: Multifunction Data Acquisition

    There are several ways to add multiple channels for a fast look for "select multiple channels DAQmx" gives me this like the hit albums:

    2X8D7F5Z knowledge base: How can I select more than one channel of NOR-DAQmx LabVIEW?

    Hope that helps!

  • Select the analog channels by custom names

    Hello friends of the Forum,

    My stuff:

    LabView 2009 SP1

    Windows 7

    I am rewriting code of LV7 LabView with the 2009 version.  The old code has a vi called "IA waveform" and it allows the user to specify the DAQ hardware and also select channels by simply enumerating as numbers (0,1,2,5,6 etc.) in a channel of the front input box.  I understood how to create something similar to 2009 using daqmx channel, but I list the channels like this: dev1\ai1, dev1\ai2, etc.  Is it possible to choose a figure like LV7?  From what I've read, I think it is, but I have been unable to make it work.  Thank you.


    I understand your question, but I don't understand why a list with ai1, ai2, ai0, etc., is so difficult to understand. In any case, its easy to convert numeric values Plains actual channel names. The format based on the string seems appropriate. You must create an array of channel numbers. A string is an acceptable entry in the DAQmx Create Channel function.

  • How to configure multi analog channels inputs in a single task

    Hello I want to acquire two signals of the two channels (input 1 analog acceleration; analog input voltage 2) without using wizard DAQmx because I have to use standard vi I use usb NI 9234 any suggestion please I tried with a chanel and I got good result but when I try two delivery channels I errors please hep me

    Hi Broutchoux,

    What are the errors you get when you run your code? This is a mistake-50103?  As long as your acceleration and your task of voltage use the same synchronization settings, you can combine the two channels in a single task.  This should fix the error you receive.  The article below has a picture that shows the configuration I describe:

    With the help of different Types of Global DAQmx channels in the same task

  • NEITHER 6229 Analog channel to generate the current


    I use PXI-6229 to generate values of current analog output channel, but I get the following error:

    "Physical channel selected does not support the selected property. Select a channel that supports the property, or select a property that is supported by the selected channel"

    I tried with all 4 channels of analog output: ao0, ao1, ao2, ao3, but I got the same error with all. Also, when I run the examples OR to

    'CVI\Samples\DAQmx\Analog Out\Generate Current\Cont Curr Wfm - Int Clk Gen' location, I get the same error.

    Kindly let me know the solution for it.

    Thank you


    Outputs analog 6229 are sources of tension - not a current source constant.

  • How to create analog channels in Labview

    I need to create 4 channels analog pressure through card PCI-6229 in Labview v8.2 and I have to set these channels so that labview can communicate with the card... But I'm failing to do...

    If you have an idea, then please e-mail me back...
    Waiting for your valuable advice...

    Thank you all for reply

    but my problem is still not resolved I want yo not individually define the four channels at once.

    If possible please sen me some screenshots.

    Thank you

    waiting for your advice

  • Lost many channels after running a new "channel scan".

    My Windows Media is a digital cable without a box set.  I could watch about 20 different channels.  Yesterday, I ran the scan just to see if any new channels were available.  I can now look at a total of six!  Anyway is to return to the prior game to the top?  I tried to restore my computer set, but it does not help Media Center...

    I lost my local news, etc.  I really want to go back.


    The following link can help you!

  • Not able to read 4000 samples the analog channels of cDAQ module (module NI 9205)

    Please check the chart bloack (FALSE Structure box state a wait with 20ms function) and attached the code (saved in LabVIEW 2015).

    On executing the code and using the button 'Trig', I can see only 1000 samples (for each channel) and not 4000 examples.

    Please help me to understand what I am doing wrong?

    Entry of son "4000" to "samples per channel" Schedule VI DAQmx. The default value when unwired is "1000".

  • DAQ write + read analog channels


    I need urgent help to solve a simple problem:

    My job is to write an analogue channel to a data acquisition device, then read two analogue channels of the device.

    It must be made at the rate of 5 KHz.

    For the smaller rate I can do using normal loops (or timed loops). But I don't know how to make using the DAQ features.

    Please give me an example.

    I found something but I don't know if it can be used in this way (see attachment)

    Thank you!

Maybe you are looking for