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...


Tags: NI Software

Similar Questions

  • square pulse time rather than the sampling frequency and size dependent frequency

    Anyone know if it is possible to create a pulse square with its dependent on the frequency at the time rather than the sampling frequency and size?

    for example if I set the frequency to 10. That means 10 pulses per second.

    rather than having to set the sampling rate and use the equation

    frequency = [(# of cycles) * (sampling frequency)] / sample size

    Thanks in advance. a photo of the block diagram would be grateful if possible

    NVM, that I solved it

  • I had my computer checked by professionals and they added Malwarebytes, my MSE keeps turning the real-time protection off the coast of almost every day and take 2 or more going to turn around.

    I had my computer checked by professionals and they added Malwarebytes, my MSE keeps turning the real-time protection off the coast of almost every day and take 2 or more going to turn around.

    original title: MICROSOFT SECURITY ESSENTIALS AND MALWAREBYTES ARE OK, YES or NO

    I had my computer checked by professionals and they added Malwarebytes, my MSE keeps turning the real-time protection off the coast of almost every day and take 2 or more going to turn around.

    There are 2 types of Malewarebytes:

    A free edition
    An edition of Malewarebytes Pro you have to buy.

    Ask thos 'pro' that is they added to your computer.
    Let them also disable the protection in real time of the Malwarebytes.

    I have MSE as my time protection rel and Malwarebytes (free version) as my program "we demand."
    Ways to request that is not run until I turn it on, and it stops when finished scanning.

  • Real-time display and receive data from txt files

    Hello

    I am creating a Flash component and I'm doing an editor for him.

    The component itself receives all its parameters to a .txt file.  The editor is a form of reading/record, that initially loads the settings in the form fields, then replace the .txt file when the user presses submit.  Then, you update the component on any Internet site, you have to see the changes.  I plan also to import the swf of the component in the editor.

    Here is the php code I found to help me will do:

    <? PHP
    Enter the data in the table of $_POST
    $title = $_POST ["title"];
    $comments = $_POST ['comment'];
    $image = $_POST ['image'];
    Make a chain in a Flash format
    $toSave = "title =". "." $title. "& comments = '. '. $comments. "& image =". " $image;
    Open a file in write mode
    $fp = fopen ("anastasio.txt", "w");
    If (fwrite ($fp, $toSave)) echo "write = Ok;
    else echo "write error";
    fclose ($FP);
    ? >

    If I have correctly configured as3 to send and receive on the fields of form a dozen as an experiment.

    What I want to do now is to do more in real time, so that the changes are reflected in the component that the user types parameters in, rather than submit them htting and then having to refresh the component swf to see the changes.

    What is a good way to go about this?

    Thanks for your help on this one.

    Shaun

    AS3 textfields have a change event that is sent when a textfield text changes.  You can use it to update your text file.  refresh a component in another swf file will require you to use the localconnection class to communicate between the two rulers.

  • Why don't c:\users\attrib h 'All Users' changing the directory to all users so that it displays in the file Explorer? Same thing with %APPDATA%\microsoft\windows\sendto and ProgramData directories?

    Title asks this.

    Why don't c:\users\attrib h 'All Users' changing the directory to all users so that it displays in the file Explorer?  Same thing with %APPDATA%\microsoft\windows\sendto and ProgramData directories?

    Thank you.

    Title asks this.

    Why don't c:\users\attrib h 'All Users' changing the directory to all users so that it displays in the file Explorer?  Same thing with %APPDATA%\microsoft\windows\sendto and ProgramData directories?

    Thank you.

    Hello

    In Windows 7, the AllUsers folder is not a real file.

    It is a symbolic link that redirects to the C:\ProgramData folder.

    ProgramData is not hidden, by default.

    The correct syntax for the Attrib command would be,

    C:\>attrib h ProgramData

    You can view all files by going to the tab options\View Organize\Folder and research.

    In the section files and hidden files , place a check mark in the Show drives, folders and hidden files.

    Click Apply/OK.

    Concerning

  • How to make the variable data record (intermittent time), with a real-time display

    I'm a complete newbie to Labview. We are currently developing a piece of hardware in the lab to automatically take the readings of the concentration of a sample, through correlations with voltage readings. I have read and worked through the getting started with Labview .pdf, but other than that my knowledge is minimal. I have a flowsheet of work who is able to do it correctly and display and write the data in real time. However, I want to be able to write to a file only every 10 minutes or so, since experiments can run for several days and the amount of data it currently logs is unnecessary.

    Would be nice if he could write it in columns like this:

    [date time]  [voltage ave]  [levels]

    xx                     xx                        xxx

    xx                     xx                        xxx

    xx                     xx                        xxx

    .. .but only once every 10 minutes. Or at any interval of time, I put.

    I tried to connect different parallel loops, but I failed miserably. I don't know if it is a relatively simple problem for you guys to help me with.

    I have attatched file. Please note that the file variables.txt is there simply to hold the settings for the correlation of concentration, which took charge of him.

    In addition, advice or tips to improve this would be greatly appreciated.

    Hi mooray.

    I took a quick look at your code, but you should be able to do something like this:

    When you have an Express VI elapsed time set to 600 seconds (10 minutes). If every 600 seconds time out will pass a Boolean TRUE, which will allow to write the measurement file Express VI. Therefore, what iteration of the while loop, you would write some input comes in the signal input to write it into a file position.

    There are other ways to do this as well, but it's pretty simple. I hope this helps!

    Thanks for choosing National instruments.

    Aaron P

    National Instruments

    Technical sales engineer

    http://www.NI.com/support

  • The new Records real-time display

    I developed a CRM that is based on this post to a database of prospects.  The CRM index page performs a select query and displays a filtered recordset based on the SQL code.  This index page is updated every 30 seconds by an update of the Meta tag.  But I think there must be a more robust and efficient method.  Ideally, I would like to have a popup is displayed each time that the new record messages when clicked would reveal the details of the record.  And if such a robust method exists, which could better the overall updating of the data other than a Meta Refresh?  Any direction you can advise would be appreciated.
    .

    Some of which can easily be done with JavaScript and a function that makes calls to ColdFusion AJAX to check new records, on a timer (30 seconds).  You can use WebSockets which offers the display in real time, but according to the rate of data change, which might be overkill.

    For example, look at how this site or Google followed new messages using AJAX. If you are connected to these forums, your avatar at the top of the screen may have a white number in an orange circle to the left of the avatar - stating that you have new messages or updates waiting for your attention.  If you have no messages or elements, the circle disappears.  While new messages or items arrive in your Inbox, reappears in the circle and the number will change.  This is done via AJAX requests that ask the service Inbox on a given time interval. In your application, you will need to decide what is the appropriate interval (or make a user setting which gives them options such as 30 seconds, 1 minute, 5 minutes, etc.).

    All this is done without refreshing the entire page (what does refresh Meta Tag).

  • Count the number of times a letter appears in a string and the number of real-time display?

    Hello

    I need to count how many times a letter is contained inside a string that the user types in the text box (i.e., real-time) and display the counter on the page? I would really appreciate if someone can give me some advice how to do this in ActionScript 3.0/Flash CS6.

    Thank you very much in advance!

    A single element, you should not use is a listener for the CHANGE event of a textfield.  You will use as a trigger to check the text in the TextField.

    The details of how you check the text may depend in part on how the text is allowed to enter, but you essentially have to examine each character is entered and determine if it is the character you intend and if so, add it to t a sum.  You can use the String class charAt() method to get individual characters.

  • The time displayed in the "Received" column is not the last time received in the headers, this is indeed the sent time.

    RE: Thunderbird email list
    I like to see the columns 'Date' and 'receipt '. I noticed that the time displayed is exactly the same in both columns, and I knew from Outlook it wasn't normal. When I checked the headers, I found that Thunderbird did not display the received time, but rather, in all cases, it is at once sent. Here is an example:
    The last "Received" line in the header is: (> > added)
    > > received: by 10.216.205.198 with SMTP id j48csp33972weo;
    > > Thu, May 22, 2014 07:25:10-0700 (PDT)

    The other relevant line is:
    > > date: Thu, May 22, 2014 14:21:21 + 0000

    Note that there is difference of 4 minutes which is not too uncommon, but 09:21 for the two columns is displayed. It is sent in good time, but not the good received on time. It should display at 09:25 in this column.

    http://blog.dmitryleskov.com/small-hacks/putting-the-received-column-in-Thunderbird-to-work/

  • Trying to update channels in real time while controlling the Agilent 34970

    Hi all

    I got Aussie help on these forums and I hope that someone will be able to point me in the right direction with this problem. I'm still fairly new to LabVIEW please bear with me.

    I work with the LabVIEW driver for the Agilent 34970 connected on a GPIB-ENET 100/1000. The device was detected and works very well. The reason why I am writing today, what I'm trying to update the list channels in real-time. Currently I need to stop the whole process in order to modify the list of channels, but due to the nature of the tests we will occur, it is important that I can add more channels I want without interrupting the ongoing trials.

    I searched the forums and tried to change control of chain of channel for "Update of the value while typing" and "limit to the only line." The motivation behind the change of the latter was so that I could change the channel list and use the ENTER key to run. I also tried to create a while loop with shift registers but construction ws so clumsy that it does no more.

    I am sure that the change must take place as soon as the control of the chain, but is not certain since the pint is so he can reset which channels to scan and which appears lower in the VI. I have attached the VI I work with; It is a slightly modified version only Advanced Scan example of the driver.

    Thank you in advance,

    Yusif

    You might have added a registry to shift, but you're not actually compare anything. You compare the value of the control to the value of the data coming from the shift register to see if it has changed. If so, change the scan list.

    If you need to have a delay after you change the scan list, then you must add the delay within the business structure that calls the VI to reconfigure the scan list. You can use the late VI period causes the delay occur after you set up the analysis using the wires of the error to force the order of execution.

    P.S. Your naming scheme for screw means that you probably use a source code control system. If so, you would be well served by taking the time to discover the source control systems and installing a. It is very easy, and he has had several discussions in the LabVIEW forum on recommendations of source code control systems.

  • Bug: Canada - the time display in the status bar has a zero extra after 12:00

    After 12:00, the time is displayed in the status bar in 12-hour format, but with a zero extra time.

    When the screen lock turns, the zero disappears.

    Switching to the American regional format thus removes the zero no significant.

    Related issue:

    24 hours is used in some parts of the Canada. This should be available as an option.

    Palm he has in its system of tracking software problems. We strive to continually improve our software quality and thank you for this bring to our attention. We are grateful to the community and evaluate options based on best practices, feedback and client software.

  • How can I make a person in a gesture of real time video as the background moves more quickly?

    So the plan is to make a video that has only one in midle or at a specific position in the video in real time and things or people that surround this person to spend x times faster without coverage or ruin the video by spanning the main character. I've seen a few videos with this in my mind, I think that this is done by placing early in the video, the main character in a place that no one intervenes so that it can be done with diapers multiples and mocha. Is it like that? I would really appreciate the help on this.

    Thank you!

    The subject is shielded green and turned independent background.

  • You can change the size of the the time display on the lock screen?

    The time stamp on the lock screen always interferes with my pictures... is there a way to reduce the size?

    N °

  • Time base / real-time display problems

    I am under a layout with no hardware and simulation takes 5 X longer than expected.  But when I exit graph it shows the correct output!  Is there something to put in place the basis of time?

    The installer is completely relevant.

    Sampling rate 1000 and block size 1 will bog down the software to the point where it gets behind. Because there is no equipment, you don't get a driver error... but you would. In this case, it is just work really hard. The timestamp is based on how the time of module of data generator assigned.

    1000 and 10 is almost as bad.

    I would really like to see the spreadsheet... There are modules, such as the average module, that may need to adjust the size of the block down.

  • 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

Maybe you are looking for

  • FPGA LabVIEW 2011 Compilation Crash - i/o node

    "" When I try to compile this code LabVIEW FPGA and LabVIEW crash each during "generating intermediate files. He doesn't like these variables "FPGA I/o in" node of e/s FPGA. "POT_net_1_x" constants are same standard DIOs. Material: PXI-7841R

  • Excel printing strangely icons

    Excel 2010 offers games of icons as a conditional formatting option. Cells icons appear correctly, but when the worksheet is printed, some of the icons are rendered with what looks like a minitature version of the icons coming to overlap a quarter of

  • How to print an email from mail electronic windows 8 is not any menu?

    How do print you an e-mail in windows mail 8 app.  I have several e-mail accounts connected to it, but I can't print anything email.  Is there some kind of secret?

  • Type of distortion in CS6

    Is it possible to recreate the attached curved header line in InDesign... something even close? I have a BC I have to recreate w/number of laps.Any ideas? Resources?THANKS IN ADVANCE.

  • I need a my verification email to be a student to use creative cloud.

    I have problems which would go back to adobe on my audit of the use of adobe creative clouds. But I can't find an email to meet them for my audit.