High sampling rate for 18 strings in a single task - DAQmx

Hello

My current experiences require the acquisition of 18 channels (6 HAVE custom voltage with excitement, voltage AI 12) data at a sampling frequency of 50 kHz. My question is if it is faesible using a single cDAQ-9172 chassis. Used modules are 2 x NI 9237 and 4 x NI 9215.

The previous researcher on this project used 2 different Renault to do this, but I was hoping that I could reduce it to a single DAQ to simplify the synchronization of all channels.

I wrote a *.vi (attached) to do this and write to a TDMS file using a structure of producer-consumer; However, when I run the * .vi, I can run for minutes, but the number of samples recorded for the PDM is rarely more than 100 k. Subsequently a buffer size error (attempted to read from the samples that have been overwritten) with less than 200 k samples ever record. I checked the max sampling rate (using a property timing node) with the configured task as in the * .vi and it shows a maximum of 235kHz.

I can't say if I make just the structure of the producer consumer incorrectly or if I ask too much of the cDAQ-9172 unique?

Any help would be much appreciated.

See you soon

Bart

Hi bart.s,

TiTou speaks sampling aggregate not simultaneous, so sampling rate 50kS/s is the same for all channels.

I see the problem in the loop of the producer. If your sampling frequency is 50kS/s/ch and you read that a single sample/ch you will lose data because the producer loop cannot run so fast. You should read more than one sample. I recommend you also to move your tracing to the consumption loop code and work with larger amounts of data.

The second problem may be with the error handling in your loop of consumer. Merge the mistakes of loop of consumer and producer and also add a few general for two loops off if the error occurs (for example, using local variable).

Best regards

CaravagGIO

Tags: NI Software

Similar Questions

  • Save the high sampling rate data

    Hello!

    I use NI PXI-4462. (204.8kS, input analog 4 / s sampling frequency)

    I want to collect data from "load" (channel 1) and "acceleration sensor" (2nd, 3rd, 4th channel).

    I also want to save data to a text file.

    So I do a front pannel and block diagram. You can see in the attached file.

    The program works well in a low sampling rate.

    However, when I put up to 204800 s/s sample rate, the program gives me "error-200279".»

    I don't know what means this error, and I know why this happened in the high sampling rate.

    I want to know how I can fix it.

    Is there any problem in my diagram?

    Is it possible to save high sampling rate data?

    I really want to samplling more than 200000 s/s rate.

    I would appreciate if you can help me.

    Thank you.

    NH,

    You have provided excellent documentation.  So what has happened is that the amount of time it takes to run the other portion of the loop results in a number of samples to be taken is greater than the size of the buffer you provided (I don't know exactly what it is, but it will happen at high frequencies of sampling high) resulting in samples are crushed.  You might be best served in this case to take a loop of producer-consumer - have the loop you have acquire the data but then have an additional loop that processes the data in parallel with the acquisition. The data would be shipped from the producer to the consumer via a queue.  However, a caveat is that, if you have a queue that is infinitely deep and you start to fall behind, you will find at the sampling frequency, you specify that you will begin to use more and more memory.  In this case, you will need to find a way to optimise your calculations or allow acquisition with loss.

    I hope this helps.  Matt

  • DAQmxCfgSampClkTiming sampling rate for external sources

    I'm looking at the example of Synchronized_AIAO_Shared_Clock.c to http://zone.ni.com/devzone/cda/epd/p/id/2352 .  This example creates a string of tension that HAVE streams at 10 kHz, and then creates a tension AO channel that is bound to the sample clock HAVE to synchronize channels.  I use this example to understand the use of DAQmxCfgSampClkTiming here.  This is the corresponding code (comments are mine):

    Create a channel of tension HAVE will work continuously at 10 kHz

    DAQmxErrChk (DAQmxCreateTask("",&taskHandleRead));

    DAQmxErrChk (DAQmxCreateAIVoltageChan(taskHandleRead,"Dev7/ai1","",DAQmx_Val_Cfg_Default,-10.0,10.0,DAQmx_Val_Volts,NULL));

    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleRead,"",10000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000));

    Create a tension AO channel, and then attach the clock of the chain in tension of the AO for the sample clock HAVE
    DAQmxErrChk (DAQmxCreateTask("",&taskHandleWrite));
    DAQmxErrChk (DAQmxCreateAOVoltageChan(taskHandleWrite,"Dev7/ao0","",-10.0,10.0,DAQmx_Val_Volts,NULL));

    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandleWrite,"ai/SampleClock",1000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000));

    .. So what I'm trying to understand here is how to interpret (1000.0) sampling rate argument in the second call to DAQmxCfgSampClkTiming, where the canal AO is related to "AI/sampleClock.  It seems to me that this argument must be meaningless, other than perhaps to determine the size of the buffer, since by definition this AO channel will clock on a sample of every time that AI/SampleClock rises.  Then maybe someone can help me understand how this argument is used...

    But in all cases, the docs say "If you use an external source for the sample clock, set this value to the maximum expected rate of the clock."  In this case, the clock is set up a few lines earlier at 10 kHz, so is not this 'evil' in the second call to DAQmxCfgSampClkTiming, a sampling rate of 1 kHz is specified (much less than the maximum rate of sample expected)?  What is the consequence of this?

    Thank you!

    -Dan

    Hey Dan, some big questions you've got.

    You pretty much put the nail on the head with your guesses. The size of the buffer is based on the resolution of data acquisition in combination with the sampling frequency that you specify. Think of it as an implicit in the size of the buffer declaration (but it is certainly an explicitly define that, if you wish).

    As for your second question, which relates to new back to the size of the buffer, except that this time it is for the use of an external clock source. Given that the material has no implicit way to know the frequency of clock of this external source, it asks you to specify explicitly the maximum frequency so it can create a buffer of the right scale size.

  • High sampling rate is not correct

    Dear alls,

    Anyone know why the time loop is not accurate for the period defined in the Trace Viewer in real time? In figure VI, I put the period for the time loop is 250 US, but when I analyze in real time Trace Viewer, it the true period time about 676 shows us. This means that my data is sampled in the incorrect sampling frequency.

    Could you give me some explane it please? And how can I solve this problem? I tested this code with MyRIO Council.

    Best regards

    Kien

    Why do you have a waiting in your timed loop?  The point of the timed loop is the percentage rate of the loop.

    You can post your real VI?  I suspect something is happening here that we cannot see (configurations, channels, etc.).

  • Blu - ray error: "file already exists", Code: "6", "Audio buffer overruns. Total too high sampling rate

    I hope someon can help out me here - I'm stuck in my tracks.    I read through many discussions on this topic, but do not understand what is happening here.    CS6.  Note: I used even before I put this material on a disk.  I currently have a separate sequence paired down, with only about 1/5 of the entire production.   1920x1080i, 29.97, H.264 Blu - ray, VBR 2-pass, PCM inside PP to produce .m4v/.wav.  This is what confuses me - I tried a target of 10 and a maximum of 20, and I still get this error.   I tried different bits max rate 'default' settings for transcoding in again.    Note the timecode listed "0.000000" - maybe someone said something.    I don't really understand yet again, so maybe it's something that I've set wrong in still vs my exports?

    Capture.JPG

    Good news!  Suggestion of Stan update seems to have solved the problem.  I think it was on the side of the PP, not yet.   I have updated both, but still using to try to make a comic about made export with the PP before update failed.   But once I upgraded to PP, a new rendering, etc. I am able to build a BD.

    Disappointment, before I had installed all updates patches, but later everything uninstalled and ran the vacuum cleaner, try to debug another problem.

  • Sampling rate higher for the measurement of precision meter

    I have a BNC 6259 M Series DAQ USB. I am currently using the DAQ Assistant to perform simple cash rising measured with the measuring mode single sample on request. I tested my VI with a known square wave with a function generator signal and it clearly lacks a few edges. I think that the solution lies in faster sampling. However, I was not able to understand how to use clocks to set up continuous sampling mode. I tried the forums and I found articles that were close, but not quite exactly the problem I am facing with as (http://forums.ni.com/t5/Digital-I-O/trying-to-use-NI-6251-s-DIO-port-as-input-and-output/m-p/448035#...) or (http://forums.ni.com/t5/Multifunction-DAQ/Using-Counter-of-PCI-6024E-with-Quadrature-Encoder/m-p/984...). Any guidance here would be great.

    In fact, the calendar should not have anything to do with the edges being detected.  Configuration of a sample clock for a county of just edge task allows you to enjoy deterministically in the account register and has no impact on the edges which can be counted.  Also, the analog examples really have nothing to do with what you seem to be asking questions on.

    ... So it leaves the question unanswered as to why you might miss the edges.  Perhaps the following information could shed some light on the question:

    1. it is possible that you do not configure the counter exactly as you think you are.  Can you post the VI you use?  As a point of reference, count digital events shipping example does not use any clock sample timing and just questioned the value of the register count with a software loop, but the meter should not miss all this edge on the input source.  There are examples that are timed by the material available as well, but this is not necessary, unless you need a constant specified dt between your counter samples.  To use the examples of the timed sample, you will need to generate a clock of either another subsystem on the map or use an external clock.

    2. assuming that the configuration of the counter is not the issue, there may be a problem with the method that you use to determine if you are away from the edges.  How do you know that you are away from the edges?  The function generator produces only a finite pulse amount?  You start the meter before start out impulses?

    3. If the two points above do not raise red flags, it seems likely that the meter is registered just not some of the impulses of your FGEN.  Can I assume that the output of the FGEN is 0 - 5V TTL?  What is its frequency and duty cycle?  The maximum external source for the meter on the M-series products: DAQ (like the 6259) is specced at 20 MHz, but this depends on a clean signal with good connections.  At frequencies above it, the bandwidth of the front-end of the PFI lines becomes limiting.  If you have an available specification document for your FGEN I'd like to be able to see it.

    I hope this gets you throw on the right track to solve the problem - impatience comes back with more information.

    Best regards

  • Specific sampling rate?

    So maybe this is a stupid question, but I need to know because I train for a specific sound. Is there a way [to logic] to shoot/change of a certain frequency sampling rates. I can imitate the sound I'm looking for with a low pass filter, reverb and a distortion. But I don't want to 'emulate', this sound, I want to create. Then I can put my own effects and play with it like I want to. If I have to use a bunch of effects to make it sound like I want that also the addition of said effects remove the sound and sound horrible. as to where pulling the sampling frequency of the high frequency and no downs will make me THE noise that I need and always allow to add nice effects to make MY sound instead of someone else. I hope you know what I mean. Let me to you specific real once more. I want to pull or carry a certain frequency sampling rates for a sound under water. I don't want to use filters to make the sound. So can you please help me. I invited everyone locally on how to do it and nothing works. Also if this is not possible in the logic of tell me if there are third party plug ins or maybe even a different DAW that could do like komplete Kontrol or audacity.

    Effect under water

    See if this thread is helpful at all...

  • Sample rate Max USB-4065

    Currently, I am trying to log readings of DC voltage with an AA battery in an ASCII using LabVIEW 2009 of SingalExpress file and the USB-4065 digital multimeter (DMM). I have two stages:

    (1) acquisition of Signal > voltage DC using DMM

    -resolution 4.5 with 3.333333E the value-5 sampling period

    2) save in ASCII

    -The value to add to the file, delete the file after each race

    Faster reading, I can get is a data point written in the ASCII file every eighth of a second.

    Furthermore, I am new and software OR LabVIEW, the LabVIEW SignalExpress software I have is only for evaluation as it was included in the CD of the driver for the USB 4065 DMM.

    1. Max (30 000 samples per second) sampling rate is only achievable by a LabVIEW VI?

    2. Don't I have the wrong settings for DMM step?

    3. Is it because I haven't activated SignalExpress and am only using the evaluation version?

    Thanks in advance for any help!

    Hello Lukos,

    You are assuming that you need access to lower level functions in order to obtain the higher sampling rates. In order to get these speeds, we need to disable some settings that are not accessible via Signal Express. You can create a VI and then use a step VI call in Signal Express to stay in the same environment.

    Kind regards

    -Travis E

  • With the NI 9205 module Max sampling rate - problems

    Dear friends,

    I develop a project of lv, which makes and control system of engine dyno. The material is CRio-9022 with other cards and also 9205 for AI. There is an encoder for angle attached to the motor shaft with 3600 chatted by Tower as well as an index to indicate the end of a revolution. the output of the encoder is measured by card 9411. The speed of the motor is 1500 rpm. I measure pressure data and couple when I receive a 'tick' of the wheel. This means my sampling rate for pressure and torque each is 90KO/s.

    but I was not successful to lead it. The program is great and I can show them, but I believe that there is a problem in the choice of material for the task. With the data of pressure and torque of the 9205, I also measure other channels for the controller output mass flow and temperatures. So in all I use 8 channels of the 32 available. But only the pressure and torque are acquired at the wheel-driven sampling rate. the rest are acquired about 5 times per second.

    Since the 9025 is a multiplexing ADC, 250K sampling frequency is divided by the number of channels accessed = 250 K/8 = 31 K samples/channel. With this in mind, I decided to acquire data of pressure and torque with each beat 3rd rotary encoder, essentially on 30K samples/s sampling. However, I see a large amount of noise.

    So I decide to average more than 1 second cycles (so the engine runs at about 25 cycles/sec, I averaged over this issue). The resulting pressure and torque graphics do not match with those measured by an oscilloscope in terms of amplitude but the frequency and shape is correct.

    I noticed an interesting feature in the charts. When I pass interpolation between the points, I see several curves made by points instead of a continuous locus of points. Accordingly, I find that the acquisition is slower than necessary, and so there are less number of points sampled as required. These points are not synchronized 25 cycles I have on average and therefore the separate "curves". It is because of the possibility that some points receive a higher number of 'contributions' several times (when you add), the neighbouring points.

    so I conculde that the 9205 is not fast enough to do the job. also noise, perhaps due to crosstalk or gosting when the mux changes channels. the impdences output pressure and the couple are of the order of 10 K ohms.

    the Labview code outline: well, there is a vi FPGA, which takes the rotary encoder ticks and sends a signal to the case of each 3rd tick. The signal contains a 16-bit integer, indicating the number of ticks. This signal is sent to a 1 element FIFO. This fifo is read in a parallel while loop, where it remains awaiting a new element. The while loop bed fifo, where data are available, takes a measure of pressure channel. A node memory of the method is called to provide data according to contained in the index number equal to the number of ticks to signal fifo. Then he adds the current pressure reading to the reading of the memory and stores the sum in the same memory location.  Thus, an array of elements of 1200 is formed, where each elemnt is a sum of the values taken of more than 25 cycles. This memory is transferd to a dma fifo and reading side host. is done similarly to involved couple. host-side the fifo is read and divided by 25 to get the average. This average is displayed on a waveform graph.

    Please check the attached file to get an idea of the problem. Sorry for the long post.

    Please suggest if you understand the problem and suggesstions or solutions.


  • The sample rate conversion

    Hello

    If I scan documents to Audition 2.0 48 kHz and then convert to 44.1 using software for recording on CD, would there be loss of quality?

    Thank you.

    If it has voice recordings and you need an original CDs can just master at 44.1 k and have done with it. Since there is no content in your files anywhere near the limit of Nyquist (this is half of the sampling frequency and represents the highest frequency at this rate, you can save), then all you need to do is an extra oversampling when the format of distribution requires.

    The speech contained in frequencies up to 12 kHz (hopefully) and even if you add music the answer will not exceed 20 kHz - and in any case, this is where the human ear cup (in children - rather less than that of adults). Therefore recording at 44.1 k means that you will capture all this, and you will be able to register without creating large files by scanning of a plu top noise load audio - which is all that recording at a higher sample rate will reach.

    If you need pace to a different distribution format, then you have lost nothing - just do it when you need to.

    I record a lot of original acoustic music and unless specifically requested to (which is never arrived, I might add...) I always master to 44.1 k. It's been proven by research academics caution that no one can tell the difference, then what is the point of a high sampling rate, besides wasting disk space unnecessarily?

  • Different sampling rate with the same connector AIO, Labview FPGA

    Hello

    I use LV 2009 with the new Toolbox FPGA and an NI PXI 7854R. I acquire an analog signal with a sampling frequency of 600kS / s. I need as the sampling rate for the processing of the data, but I also need the signal sampled with a much smaller, variable sampling frequency to a FFT.

    I've attached a picture to clarify, in a simple example, I'm looking for.

    I tried with the structure case only take each ' iht iteration, but did not get the expected results.

    Does anyone have another idea how to solve my problem? Of the, "Resampling" express VI in the funtion FPGA palette does not help me.

    Thanks in advance,

    Concerning

    Hello

    the connector for the analog input is a "shared resource", so you should he alone in your FPGA Code.

    Find attached an example that shows how to perform this task of analysis.

    Concerning

    Ulrich

    AE OR-CER

  • Dedicated for each channel from multiple channels in a single task task disadvantage

    Hello

    My current acquisition software (C + c++ / GCC) encapsulates the methods rather clumsy niDAQmx C to interface with the data acquisition equipment in a class that represents a task of acquisition. This way I can create several instances, for example counter input, analog input, analog output, their terminals and the class supports all work low level as ensuring input analog fake internal is started if there are only counter entries such as the sample clock starts, or configure reminders N-sample, etc.

    It seems to work very well, and also the time seems to be good, because first of all the tasks on multiple instances of my wrapper. For triggered early, that I use

    DAQmxCfgDigEdgeStartTrig(mTask,mTriggerTerminal.toAscii().constData(),DAQmx_Val_Rising)

    in-house.

    Now my real question: what is the advantage of multiple channels, when everything seems to work fine with multiple tasks and only one channel per task? I don't see the disadvantage, it would first classify necessary acquisitions in types (I, ao,...) because several strings in a single task must be of the same type. With my approach I need not care because each channel still gets its own task.

    I don't know I'm missing something here. Maybe someone can explain it to me, maybe some limitation of multi-tasking, I have not yet read.

    Hey!

    Unless you specified for managing the it (simultaneous sampling) or modular instruments and hardware devices (see link )

    You cannot perform two tasks at the same time that access to the analog inputs, for example, because the

    ADC is a shared resource that is connected to a multiplexer, and that only one task can work in it at a time given. (see here )

    Similar restrictions often apply to other types of operations.

    I'm not aware of any performance issues, perhaps a little more memory could be used.

    So as long as your hardware supports what you are doing, you should be ok, I think,

    and it is only a question of clarity and intelligibility, ease of use and structure.

    As you use classes, I'm sure you've heard about encapsulation - so it is a

    question of how you want to design your application.

    In addition, when you work in LabVIEW, tasks feel more natural to the principle of data flow, because you have a thread for your data acquisition,

    and it works very well with our modes of standard design.

    So, if it is better for you (and works with the hardware), you can give all the channels its own task.

    Hopefully this might clarify some things,

    Kind regards

    Rome

    OR Germany

  • acquisition of data with different sampling rates high

    I have a few questions on the use of the OMB-DAQ-3005 with different sampling rates high.

    For our application, we have 8 analog inputs. Which two are a quick response and should be sampled frequently.  We have an encoder quadrature (CPR 1000 running at 1800 rpm).  We plan to sample X 4 encoder.  For the analog inputs for the quick response, we want to trigger a sample of each pulse or each a few pulses, thus creating a timestamp with the position of the encoder with respect to position index as well as two fast analog inputs.  We have data correlating the analog inputs with the position of the encoder.   Other analog inputs, we want to measure relatively slowly (for example once every 5 dry or similar).

    How can I go on the configuration of the two (or more) sampling rates different wherein I can taste entered at different frequencies?  Also, is there a way to reset the encoder count after outbreak of the index as I have the position of the encoder with respect to the index?

    Maybe you'll find someone here who uses the OMB-DAQ-3005, but this forum is really more designed for LabVIEW programming issues.

    I've never used the OMB-DAQ-3005, but out of curiosity, I took a glance at the Manual of OMB-DAQ-3005.  The answer to both your questions are:

    1. you cannot run a hardware DQA Multiplex (like this one) at independent rates by channel.

    2. the OMB-DAQ-3005 supports an Index Z feature to reset the counter - look for documentation on how to configure any software interface you are using.  If you get stuck, you can try to discover media appropriate for instrument channel.

    Best regards

  • Download booted from the games online for high ping rates

    Original title: high ping rate

    When you try to play online multiplayer games in Windows 7, I keep getting starts to have a medium too high ping. Is it possible to accelerate only? I have done speed tests and am running at speed more than enough for anything but games!

    ----------------

  • I still have to pay the 29.99 as I am an instructor and cannot afford the higher rate.  I see the rate for students and instructor is 19.99 per month, which is easier to handle.

    I still have to pay the 29.99 as I am an instructor and cannot afford the higher rate.  I see the rate for students and instructor is 19.99 per month, which is easier to handle.

    Adobe in education... Start here https://creative.adobe.com/join/edu

    Educational https://creative.adobe.com/plans?plan=edu

    When you purchase a subscription to education, the terms you "click to accept" should be clear about the first/last years

    -Intro price http://forums.adobe.com/thread/1448933?tstart=0 one can help

    http://www.Adobe.com/products/creativecloud/students.edu.html

    http://www.Adobe.com/education/students/student-eligibility-Guide.edu.html

    Redemption Code https://creative.adobe.com/educard

    Proof of ID http://www.adobe.com/store/au_edu/academic_id.html

Maybe you are looking for

  • Hits search engine - shortcuts for next/previous page?

    It is probably more features than of problems, but I would start thinking here. When you use a search engine (my favorite is multi-engine DogPile, URL below), usually there are a number of pages of results. At the bottom of each page, there are a lim

  • How to find the version of my iphone?

    I need to download an app that tells me that I need 8 IOS and I have iOS 7.1.2? I think my version of the iphone is 4.

  • "game play cd, dvd does not play, get a" have no authorization error. »

    for some unknown reason, my discs do not play my dvd. an error message indicates that I have perhaps not permissions... all readers worked, (2 drives), they recognize the cd but not dvd's... help!

  • Not clear some numbers on system IOPV?

    Dear any expert. I have problem on some part number, I don't know when we need to use this the partnumber .all I read on the document, but still not clear! 1. when we need this part number? I1-ATA187-A = Cisco ATA 187 with configurable impedance 2. w

  • Different the InsydeH20 BIOS.

    SIRS, I have a HP-15g080nr, I install a 120 GB SSD, but couldn't find any SATA Configuration in the InsydeH20 BIOS (on the way IDE to AHCI). Now, I find that to install a new Hard Drive (SSD), it comes to dismantalling the half of the machine. One of