analog parallel DAQmx reads at different rates of acquisition

I'm running two 9172 chassis with a total of 11 modules. I have two 9217 modules for reading RTDs and a 9205 for sensors of reading level. I've set up three spots, one for each module.
If I do a task sheet and place DAQmx Read in a loop, I can read all the data without problem, but the three tasks take 4.59 seconds per iteration (reading the RTD is seems to be slower). I need to update the level readings more Rapids, but if I do two parallel loops, try to read the RTD in a loop (two tasks) and the level in its own loop sensors I get an error that the resource is not available - apparently only one instance of DAQmx Read can be called both.
Is there a work around for this?

thanx
lmd2

Larry,

Your problems are all related to the task that is described in the manual DAQmx State model.  Each 9172 chassis can have 1 HAVE task that runs at a given time.  If you try to start a second task, you will get an error.  When you use the loop FOR your code is starting and collapses of each task in order that takes a lot of time and explains the 4.59 seconds.  Ideal for config and start tasks in an init State and then begins to acquire data.  The only thing left to do is to release the input/output by stopping and disabling tasks when you did.

One way to solve this problem would be to install two RTD modules in a single chassis and all 9205 modules in other chassis.  Another way would be to oversample of RTD and process the additional data later.

Tags: NI Hardware

Similar Questions

  • How to bothAnalog DBL and Analog 2D 1 d DAQmx read.vi wfm

    Hello

    I use Labview2010 and NIUSB6009 for aquairing data. I need to have two Analog1D waveforms and

    Analog DBl DAQmx Read.vi 2D. I do continuous sampling.

    no idea how to get both types of DAQmx Read.vi?

    Thank you

    If you get the data from one channel at a time, then you will probably get table 1 d of waveform. If you want to acquire data from multiple channels at the same time then you should get 2D table contains all the information channels.

    If I'm right, you can't get both types of data (1 d and 2D) DAQmx playback function. I did not hear that. That's all what I can expect.

  • How .vi DAQmx Read (analog 2D NChan DBL NSamp) to acquire continuous data?

    I try to get the .vi DAQmx Read (analog 2D NChan DBL NSamp) to acquire data continuously.  The 'help' indicates I need to wire the number of samples per channel-1, but it doesn't seem to work for my application.  If I have the wiring to any number greater than 0, the data collection works, but is not continuous.  I enclose the code (Sept15_MainPanel_WorkingBaselines_ApplyBaselines and Calibration.vi) and a Subvi (Collect_Baselines.vi) if someone wants to take a look.

    Here's what I'm trying to do:

    I use a unit NI USB-6009 to collect analog voltages of load cells 2 (channel 0 and channel 1) and 2 displacement transducers (channel 2 and 3).  The main panel of the VI contains a listbox with 4 options - 'Check EMG channel', "Collect base lines," "Collect Data" and "end of program".  'Collect base lines' 'End of program' work and I'm working on writing code to "Collect data".

    For the option "Basic collection", 2500 samples are read from 4 channels described above and 2500 samples are averaged.  This works.

    The option "Data collection" - I would like to that data from 4 channels to acquire permanently.  Finally, for the option of data collection, data acquisition stops when channel 0 detects the force of 200 N - so I will not always have a finite number of samples read.  The time it takes to reach the value of this force will be different for each test.

    -How can I get continuous samples for my 4 channel?  Is .vi DAQmx Read (analog 2D NChan DBL NSamp) function badly and if yes, what should I use?

    Thanks in advance for any ideas or advice.

    Esther

    First, in case 1, you need not the structure of flat sequence.  The son of the error and data properly will dictate the flow of execution.  Then, in State 2, you must initialize the shift register, unless you want to keep the data is accumulated each time that you run the vi.  The reason why you don't see all the data here is because you have - 1 wired for the number of samples per input channel.  You must connect a number here, even if you are taking continuous samples.  The service needs to know how much sample to gather at one time.  If you put-1 here, the number of samples per channel must be set up in the synchronization function DAQmx (sample clock).  If you specify a number here, then you put-1 in playback function.  The DAQ hardware will read continuously, you must retrieve the data from time to time, so you must specify the number of samples.  By reading inside a loop, it will continue to read until the stop function is encountered.  I guess that the Clear function acts as a stop.  But you must always indicate playback vi how many samples to read and return on each iteration of the loop.

    The documentation is a little misleading.  He warns that a - 1 will cause a continuous reading.  But the pads are so big, he can not read continuously forever without losing data.  If you specify a finite number, playback in a loop, and he will read this number and return the data (empty the internal buffer) at each iteration of the loop.  Continuous means that you just call the start function once.  He will read at each iteration of the loop until the stop function (or clear) is called.

    Here is the difference between the setting of the Timing DAQmx function for continuous or finished reading: finite samples requires a tenure, he reads the finite number of samples, and it's done.  It requires another start to read more data.  Continues to read requires only a start.  It still reads a finite number of samples, but when this is done, you can retrieve the data by calling the read function until he could continue.  After the reading, you don't have to call for new start.  Look at it this way.  Start is what starts the collection of data, not the read function.  Just read empty buffers in your data feed.  The data acquisition continues in continuous mode, but you must call read again to get the data on the pads.  If you specify basically buffer size when you set the number of samples per channel.

  • DAQmx reads (or writes) in parallel and series

    Is there a performance difference between putting DAQmx reads (or writes) in parallel or series?

    Well said.  In addition, using series would create dependencies of data flow, so the readings could not happen at the time of the soul, where parallel would remove the dependencies.

  • 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

    http://forums.NI.com/T5/Multifunction-DAQ/BD-p/250

    There are several ways to add multiple channels for a fast task-ni.com 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?

    http://digital.NI.com/public.nsf/allkb/A3A05920BF915F1486256D210069BE49

    Hope that helps!

  • Medium-sized dynamic data analog input read DAQmx read

    Hi, I'm new to labview. Is there an easy way to index using the dynamics of data returned by a readout DAQmx x samples to calculate a moving average? My thought was to read the analog input for X samples pump with the data in another loop through the data, but I can't quite understand how index using the returned data set to extract the measurement value double returned for each sample.

    Any ideas on that?

    Thank you...

    If you get a type of waveform data, why did you ask on dynamic data? No, of course not would you use the conversion of dynamic data on a waveform.

    If you want only one channel, then your DAQmx Read could be changed to 1Chan NSamp. If your channel list only has one channel, you will get a table 1 d with a single element that can be indexed. To get the average of a waveform use the statistical function with the waveform. You use the average Point by Point, and not the average function that has a table for an entry.

    Make sure you always have context-sensitive help on. You can avoid many of these rookie mistakes simple.

  • Get error-200088 DAQmx reading (Analog DBL 1Chan 1Samp) .vi < add >...

    Hello

    I am using examples of labview and Labview 2011, I use the a sample.vi acq for the value of the voltage reading.

    but the thing is that I get the error of block then read this DAQmx Read (Analog DBL 1Chan 1Samp) .vi - 200088 ... And it's not indicate the correct voltage in labview.

    I also connected Multi meter with the analog card reader and multi meter gives the correct value, but it is not possible to achieve with labview.

    Please guide me how can I solve this problem which could be the reason for this.

    Thank you very much.


  • How can I improve the rate of acquisition with daqmx and usb-6008?

    Hello

    I am trying to acquire data of analog voltage with a USB-6008. I'm under Labview 8.5 student on an HP laptop with a 1.33 Ghz cpu and 736MB RAM, apparently. I tried using the Daq assistant and the low-level Daqmx functions. My best results come with a task set in MAX for my analog input, and using the function 'Daqmx read' the 'unique double 1 d sample' value in a while loop. I insert the values returned in a table which built in the while loop, and then when I'm done, I check the number of samples in the table. In the test VI attached, I also use the time to Get before and after all loop. The best sampling rate I made using this method, is around 40samples/second. I have attached a VI below that illustrates this concept. In my actual application, the data acquisition code runs at a time while loop with 1ms, parallel to other code that controls the device I'm collecting data of. The sampling rate is roughly the same for my test below VI and my application program.

    The 6008 datasheet gives the sampling frequency maximum 10 kHz. I'd be happy with 2 to 2.5 kHz, or as soon as possible; I'm sure that I can achieve a little more than 40 Hz. My first idea was tied to the hardware, but the 6008 cannot make acquisitions NI hardware.

    My question is: How can I implement a faster sampling of analog voltages to a USB-6008 in LAbview? If I can't do it, is there another way I can taste the data more quickly?

    Thank you

    -SK-

    To the best of my knowledge, the USB-6008 can do timed equipment acquisition. Don't forget that this is a multiplexed device, so if you add 8 channels so the maximum you can set is 10 k/8

    If you are new to LabVIEW, I suggest that you try this sample program first

    \examples\DAQmx\Analog In\Measure voltage. llb\Acq & Graph tension-Int Clk.vi

    Amit

  • I can taste different channels at different rates in a task?

    I use a NI 9203 modules and 9215 9211 in a single CompactDAQ chassis. The software is LabVIEW 8.6.

    My VI use DAQ Assistant to sample all three modules within a single While loop. I can run the whole loop until about 13 kech. / S without problem. However, about 14 kech. / s, I get the following error:

    "Error 200361 occurred at DAQmx Read (analog 1-d Wfm NChan NSamp) .vi:3

    Possible reasons:

    Measurements: Overflow of on-board memory. Due to the limitations of system and/or the bandwidth of the bus, the driver could not read data of the device enough fast to follow the flow of the unit.

    Reduce the sampling frequency, or reduce the number of programs that your computer runs at the same time. »

    I need to sample the 9215 signals up to 20 kech. / s, but the signals emitted by the 9203 & 9211 don't need that you can enjoy at the s/s 1. could reduce the sampling rate in the 9203 & 9211 signals solve my problem? If so, how to apply these different sampling frequencies high within the same DAQ Assistant VI?


  • DAQmx read slowly measurement

    I am still fairly new to LabView, only it uses about 5 months, so bear with me.

    I'm trying to understand why the DAQmx playback function runs slower I expect.  I use a PCIe-6363 map connected to two BNC-2110 connector blocks.  I run the attached code (Position AOM control_prod_cons) and producer while the loop takes about 14 ms to execute.  Here's why this is a question:

    The Subvi belongs to a larger structure that we use in our research lab to run our system of construction craft nanofabrication.  You are using a computer-controlled turntable (wise move task), monitors of reading of the scene (spot monitor sensor) sensor and control a shutter that controls power to the sample (Subvi with lightning) laser.  Up to 4 outputs analog and three analog inputs.  The scene is being ordered to move in 5 steps of nanometer to a speed of 50 micrometers per second, a rate of analog output of 10,000 samples per second per channel (3 of them).  The shutter has a rate much more low yield, at most 5 samples per second.  Our goal is to synchronize the movement of the scene with the shutter, and so we must read the exact position of the scene using the analog inputs, one for each axis, x, y and z, vote as often as possible, even if in reality it didn't need to be more than one read each ms.

    AOM control_prod_cons position takes two points in space that we wish to move between two points where the shutter must open/close.  The first image in the flat sequence did some vector calculations to get the line that we write out the origin of the octant where x, y and z be positive by adding or subtracting, then making reflections around axes, if necessary.  The end of x, y and z values (which are now all positive) are summed and placed later in the sequence.  Coordinated sensor monitor are then read in (loop producer) and turn the same way coordinates the target have been transformed (consumer loop), then compared with the values of (x + y + z) end and start (0) and adjusted accordingly shutter. (For troubleshooting purposes, "off" is 2.5 and read the text file we entered to extract structure).

    All the tests I've done so now tell me that the loop of the producer is the rate limiting step.  For a line that is 30 microns long, with the displacement of scene I described above, I was 45 or 46 readings, that works on a read (on the three channels) once all the ~ 14 ms, or only 72 samples per second per channel, which is * very * slow for the card and is not acceptable for our application.  Am I missing something?  Why the producer loop takes 14 ms per iteration?  I tried to reduce the sampling frequency of writing to 1000 samples per second per channel, but that did not alter the reading rate, so I'm not sure I can cela pins on the map.

    I ran the DAQmx read function as a NChannel 1sample, read in a while loop like I do in more complicated VI, reading of the three analog inputs in a very simple VI who only reads the sensor monitors and nothing else and the reading rate was 2750 samples per channel (read 5000 samples through three channels in 1800 ms) , so I know that the card can read that fast.

    I've also attached the highest lying VI that sets up the physical channels for adding information.  I am also attaching a VI where the producer/consumer framework is not used.  Also, this while loop took ~ 14 ms to exploit.

    Sorry, that was so verbose, just try to do what I'm trying to erase.  If you have any other questions, please just ask.  Thanks in advance for your help.

    Well I'll be darn.  The "task AO is?" query seems to be the culprit.  I have no memory of being always aware that there was such an expensive application.  I don't know if I tried to make such a request in a tight loop before, but I'm a little surprised by the fact that I'm surprised.  I don't know if anything is changed, but in case it's a secondary-ish effect, I use the new DAQmx 16.0

    Another approach would be to use a property DAQmx writing node to query the Total number of the samples.  It seems quite a bit faster.

    -Kevin P

  • How to get the timestamp of data DAQmx Read

    Hello

    I have to read 4 analog channels using DAQmx AI read in LabVIEW 2012. I am using screws DAQmx.

    Acquisition rate is 4000 samples per second, and the number of samples per channel is 200.

    I use only one task DAQmx to read the data. I get 4 data tables for 4 channels each table length is 200, every time, DAQmx Read happens.

    But I want to get the seal of these 200 samples per channel. How to get the seal of these samples, made me know.

    Thank you

    You have not indicated your code. If you choose to read the waveform data, the cluster includes t0 and dt. That's all the information you need.

  • Why DAQmx read 200714 error when you save the file?

    In particular vi that I created, I have 3 analog inputs coming in and are graphically represented.  If I choose to save the information to a file, a dialog box appears and I can choose what to save it under.  If I take too long to save the file (aka about 8-10 seconds if the sample read rate is 500/s) then I get this error once the file has been saved:

    Error-200714 occurred at .vi DAQmx Read (analog 1-d NChan DBL 1Samp)
    Possible reasons:
    Acquisition stopped because the driver could not transfer the data from the device to the computer's memory rather quickly. This was due to limitations of the computer system.
    Reduce your sample clock rate, the number of channels in the task, or the number of programs on your computer that is running simultaneously.

    Why the DAQmx bed vi I have this problem when the vi has been idle for 10 seconds then I choose where to save the file?  How can I fix this error?

    Hi child of pre-school age,

    I think your error might be caused by the read buffer overflow. my suggestions for you would be to either the following four ideas:

    1. stop the acquisition before writing the file. This should mean that the DAQmx Read function will no longer be reading and therefore does not generate an error.

    2. If you still want to read the data but also write data as well, I think you'd be best suited for use live TDMS. TDMS allows the user to stream to a reading of filewhilst.

    3. the configuration backup dialog box file before starting the acquisition. Download the user to enter all data in the file before you start to acquire.

    4. change the buffer to unlimited so that you have enough time to navigate the record window.

    If you send your VI I can advise others

    Let me know how you go,

  • DAQmx Read 1 d vs 2D DBL WFM

    Another that the convenience of the format of the data acquired, are there benefits (e.g., memory, speed, etc.) usage

    DAQmx readout 1 d Wfm NChan NSamp

    -Or-

    DAQmx read analog 2D DBL NChan NSamp

    I'm a life-long in multiple buffer
    channels using an architecture of producer/consumer. I am not concerned by information in absolute time available in the format of the wave form; It is convenient, but I can get what I need also.  In post processing of the data, the format is a stack or face.  If I collect the Wfm 1 d data I end up stripping to the Y-data for certain analyses, but eventually the construction of waveforms for the analysis of the other if I collect a given 2D DBL.

    -CTF

    I did a quick comparative analysis and it seems that the WFM D 1 is slower and takes more memory than the 2D DBL.  The overall impact of these differences depends on the size of your data blocks.

  • DAQmx Read simultaneous calls on the same digital line

    Hi all

    I use v10.0 LV 32-bit on Windows 7.

    I use DAQmx Read (in a task) to check the value of a digital line. Is it OK to do this in two different locations in a program at the same time for the same digital line? Or I have to put a wrapper around reading to force operations to be sequential?

    Thank you
    Zola

    When you need to expose the capabilities of resources to multiple areas within a project (expand the scope of a resource) it is common to wrap the resource in an Action engine to encapsulate the resource functions. See here for an example of a 'Module on resources' material and a discussion animated about how this code help development construction and avoid resource conflicts.  If you have not read famous nugget again – he of Ben is a link in my tag "Required_Reading".

    Or more directly.  Yes, you should encapsulate these readings DAQ to avoid suspended

  • Error 200088 using the DAQmx reading VI in a case structure

    Main problem: I'm writing a VI that will read data from a data acquisition and write to a text file when I hit a button "registration". To do this, I use the VI of reading DAQmx in a while loop, which is located in a case statement (I hit the 'Save' button for the case of true), which is in another while loop. My DAQmx create Virtual channels screws are outside of the loop, so a wire goes through three structures to connect these screws to the VI DAQmx Read.

    After clicking on 'Save', my VI works until I hit the "Stop" button, how I get error 200088: ' specified is not valid or does not exist. " If anyone can help me get rid of this error, that would be greatly appreciated!

    I enclose my VI and an image of the error.

    Secondary problem: currently, I use two different DAQmx read live: one mentioned above, which lays down: after clicking 'Save' and the other who reads data continuously to display on maps. I want to combine these two, but I don't know if this is possible given the case statement.

    Thank you!

    Hi Alexwright,

    I made some quick changes to demonstrate the producer consumer loop that would be effective in your case. You want to loop of producer in the first while loop so that you use and the same closing DAQmx task. Moving a forwardthis will require some trial and effective change for your application. Please also make sure you use our debugging tools: http://www.ni.com/gettingstarted/labviewbasics/debug.htm.

    I hope this helps.

Maybe you are looking for

  • USB-5133 appearing does not in MAX, "loader" shows driver in Device Manager.

    I have a USB-5133 can I use it on several computers. I'm putting it on another PC (XP Pro). The device is recognized by windows and it goes to install the drivers. When it's done, in the Device Manager-> data acquisition devices, I see "NI USB-5133 L

  • TestStand and Gateway requirements

    Hello It is more a question of RG, but there is no RG area to post. I have a Word Document that defines the requirements for a test sequence. Needs are covered by the two (1) LabVIEW VI (2) sequence TestStand. What I want to do is to see what is my c

  • CMOS Date/time not Set__CMOS Settings Wrong

    Hello I use Windows XP and Vista. When I turn on my computer, it displays the error message: CMOS Date/time not set Fault of CMOS settings How could I solve this problem without changing the motherboard?

  • LRT224 Port forwarding of specific Port

    Is it possible with this router to do port forwarding on a specific port to a pc? I have a basic need: Transfer the incoming request to WAN port 37777 to RDP port 3389 to the local server xxx.xxx.xxx.xxx. I try to do a formward configured like this:

  • How to upgrade qml component an act any

    Hello I need to display the remaining battery time. I tried to put some battery_info in their context but couldn't as long as it's not QObject. I need display the calendar in real time on my qml. How can I do