Store data in a Labview buffer

Hi,
I was wondering if labview allowed to store data in a kind of buffer or temporary memory to wait for all test complete and then export them to excel using the report generation toolkit ?
If this is possible I would like to know how can I implement it, because I am using the report generation toolkit but it takes too much time to open and close excel for each test to save data.
thanks,
Solved!
Go to Solution.

Hi lngenu,
You can do this using the shift registers. Kindly go through the attached vi for more information.
Regards,
Nitzz
(Give kudos to good Answers and Mark it as a Solution if your problem is Solved) 
Attachments:
Untitled 6.vi ‏11 KB

Similar Messages

  • Store data in dynamic buffer

    Hello,
    I'm acquaring a blood pressure signal and I would like to integrate it from one heart beat until the next beat occure, and so on.
    I made a subVI which tells me when the peaks occure and gives me their timestamps.
    I will need to calculate the integral of this signal between the two peaks, in real time. So after each pulse, I will get a numeric value representing the integral.
    The best way to do that is to store the data in a buffer and overwrite it at each peak? If yes, how can I do that?
    If I store the data in a numeric array, will I lose the timestamps of each voltage data?
    For now since I can't use the sensors, I'm simulating the signal with a sine wave at 1Hz. The BPM detection and timestamps work perfectly; 60 BPM.
    I'm getting the dynamic data for the blood pressure signal as you can see.
    The boolean "Pulse" is true everytime there is a peak in the ECG.
    Regards

    Hi simo,
    why don't you stick with your original thread?
    I already told you how to store data! Use shift register(s)! (And stay away from DDT…)
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • How to insert delay without using loops, and how can I use variable to store data in labview

    Hi all,
    I am new to Labview and I realized that quite often I am in condition to require a delay beween two functions or elements.. how can we insert a delay in such cases?
    I know how to use delays in a loop. but don't know how to inser some time delay between two elements.
    I have one more question, I know its a bad practice to post 2 questions in 1 thread.
    How can I use a temporary variable to store data, So far I am storing it in an indicator by making it invisible in front panel and making local variable of that indicator, is it the right way to do it ?
    Thanks in advance.

    Generally, LV doesn't have variables in the same sense that most languages do. You can use indicators to perform the same function as variables, but as Adnan pointed out, you run the risk of having race condition and it creates data copies, which is a problem if you have a lot of data. In most cases, you should use wires to perform the function of variables, which is to store data and make it available to the different functions in your code. Instead of thinking about variables, you need to think about data (something like "I have the data coming out of this function. Where does it need to go?").
    Try to take over the world!

  • How to store data (in tdm files)

    I'm looking for advice on how to store data in tdm/tdx files.
    The main challenge is like this: At regular time intervals there is new data available (say every 10 minutes there are 10 minutes of new data available). All data is time based. So every ten minutes I may create a new tdm/tdx file containing this data segment. However, when i want to analyze the data i dont necessarily want to view 10 minutes of data from all channels, but maybe 20 hours of data from one particular channel.
    The way I've achieved this so far is to manually load each 10 minute segment of this particular channel and then add these parts together. This is both time consuming and cumbersome. Is there a better way to do this that I've simply not discovered yet? Is there a better way to store data to simplify this process?
    One solution is of course to save data from several 10-minute frames in one file, but seeing as there is a never ending supply of data i cant simply save all data in one giant file, it has to be split up at some point, and the problem will still remain.
    One factor to have in mind here is that this is rather large amounts of data (maybe 10GB each day), so the option to simply load all the data into memory goes out the window rather quickly.
    Feel free to ask if I've not made myself very clear

    Hi salte,
    If your test ever ended, and if you had LabVIEW 8.20 or higher, I would recommend using a TDMS file, which handles data appeands flawlessly.  DIAdem 10.1 now also does data reduction and index windowing during file loading for TDM / TDMS / DataPlugin files, so that you could easily load out only the part of the file you wanted to look at.  But since you describe your data acquisition as never stopping and amassing 10 GB per day, I agree that it would be impractical to use only 1 data file.  So we are stuck with some number of files which each contain a part of your measurement.  This approach can have advantages, since you can save operational properties for each "buffer" such as average value, dominant frequency, ambient room temperature, etc., and later on you can use the DataFinder to query out only the data buffers which meet specific conditions based on these properties.  The problem remains to load and assemble data based on multiple files.  This is an old problem in DIAdem, and one for which I have an efficient and I hope satisfactory workaround application.  It does what you describe already doing in the minimum amount of time and with the minimum amount of user interaction, and it can be highly parametrized to suit your particular situation.  The ideal way to start the application would be as part of a ResultsList custom menu.  This would enable you to query out the buffers you wanted, highlight those rows in the ResultsList, right-click and choose your custom menu, and WHAM! the selected buffers for your queried channel(s) are automatically appended together in the DataPortal.  Launching from a ResultsList custom menu would mean that you could skip the file dialog and just read out the data sources directly from the ResultsList selection.
    Let me know what you think,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments
    Attachments:
    Importing Data from Multiple DataPlugin Files.zip ‏198 KB

  • How can I store data in CompactFlash in a PCI 7041?

    Hi.
    I have built an application for RT control in a PCI 7041 that executes the main loop at 5 kHz, so cycle time is 200 us. Now I want to save some data generated during execution. I would like to register timestamp and three values per cycle so I'd have four values every 200 us.
    I think that the best way to do this is to store data in the CompactFlash memory included in PCI 7041 in real time (one "row" per cycle), and then, after RT loop execution (it lasts about 2 seconds), download all data to Host's hard disk.
    How can I do this? How can I access CompactFlash from Labview? Is there a better way to solve my problem?
    Thanks!

    The 7041's CompactFlash is accessible as a drive (C through LabVIEW's file I/O functions. You can open/create/replace files on the 7041, just as you would on the host by calling file I/O functions in your downloaded VI.
    Once the data is on C:, FTP to the 7041 from the host to retrieve your files. You can FTP programmatically in LabVIEW if you have the internet toolkit. If you don't have the internet toolkit, you can use System Exec to run your FTP commands.
    If you prefer not to use FTP, you can transfer the data via TCP, UDP, or Datasocket, but that will require some additional programming.

  • Can I just send the data to NIC's buffer in LV? (how to access data link layer?)

    Now, I need to send something over network, yet those are not packed in TCP/IP or IPX packet, them are just some data a device can understand.
    So the problem I met is seems I cann't send the data into NIC's buffer(I can do that in C, yet I want to use LabVIEW to do that)
    And I don't want to do that by using a CIN, every time the program call or exit the CIN,there will be a delay, it's would bring me a bad impace to my application.
    So is there anyone can help me with that? I really need some master can give me a comfirm!

    I'm not an expert on network communication, so maybe you can explain how data can travel on an IP based network without being wrapped in some packets from a protocol like TCP or UDP? Maybe it's possible for LabVIEW to do what you want, or maybe compiling your C code into a DLL (no need for a CIN) and calling that will be fast enough for what you want.
    In any case, I think I can answer one question:
    So, how long would we have to expect LV add/improve these functions? Could it be in next minor update?
    Not likely, nor is it likely to be in any other version soon. LabVIEW is not built to handle this sort of thing any more than PHP or perl are and I don't think NI will change it to be able to do so. For that you have C, which you can call through a DLL. Some DLLs are supported on RT targets as well, but I'm not sure what the criteria are. They are probably listed somewhere on this site.
    I assume that calling a DLL in an RT target will hurt your determinism, but communication code should not be time-critical code, unless your application is an application which requires high speed data transfers and synchronization between different nodes.
    Try to take over the world!

  • Where to store data (queued message handler)

    Hello,
    i'm developing an image processing application. As a template i'm using the 'queued message handler'. In my app I need to store some images, arrays, and so on in RAM. Now the question is  if i should store that data in the message loop's shift register (in a cluster) or somewhere else.
    At the moment i have hidden front panel indicators where i store all my data. This isn't good practise, is it?
    thanks alot
    MN

    nollMarvin wrote:
    Hello,
    i'm developing an image processing application. As a template i'm using the 'queued message handler'. In my app I need to store some images, arrays, and so on in RAM. Now the question is  if i should store that data in the message loop's shift register (in a cluster) or somewhere else.
    At the moment i have hidden front panel indicators where i store all my data. This isn't good practise, is it?
    thanks alot
    MN
    No that is not good practice.
    A Shift register is a much better place to store data in memory it does that without creating copies the OS must interperate for display.  (Yeah the displaying of data to a user is a different concept than having data in memory) Ben's famous Action Engine Nugget is always a good read. http://forums.ni.com/t5/LabVIEW/Community-Nugget-4-08-2007-Action-Engines/m-p/503801
    And a basic concept to LabVIEW that attending a training session (or asking questions on these forums) will help you master
    Jeff

  • Store data in Oracle

    I´m using LabVIEW v.8 and Database Connectivity toolkit.
    Sending the SQL statement and with the DB Tools Execute Query vi in a loop, I store data in the Oracle database v 10. The data to be stored in the Oracle is in an ASCII file and in each iteration of the loop I store one data (really four, the first row of the file which has four columns each one containing some 10 000 data). This procedure is very time consuming.
    Does anyone knows how to store all the data at ones in the Oracle  DB.
    Thanks
    Simbani

    Hi Simbani
      There is no easy answer to your question. In the following link there are some hints you can take a look at
    http://forums.ni.com/ni/board/message?board.id=170&message.id=194233
    Hope it helps
    Javier Gutiérrez
    NI Spain Aplication Engineering

  • Store data in R/3 without page refresh

    Dear BSP-Masterminds,
    we need to store data in R/3 without a recurrent page refresh. The problem is that our engineers are using PDA's and the page refresh is taking too much time. The engineers are changing equipment data on the PDA's. Every time they click on  save button, the data get send to the R/3 system and the checking, if the data are correct, takes up to 30 sec. Additional the new page refresh on PDA takes another 20 sec. It would be great to find a solution which stores the data somewhere and by hitting the 'final save-button' the data get checked and saved.
    The worst case scenario would be a table of around 600 equipment data, so it might be a huge table that has to be stored somewhere. I thought of a client side cookie but I have no experience if it is possible to store such a big internal table and by the way I don't know if this would be possible on a PDA.
    Every little hint is welcome!
    Regards
    Nicola
    P.S.: Please excuse any spelling mistakes )

    Hi,
    Javascript as such can't do it without refreshing the page. You need to use the AJAX function. But you don't need to be scared about it. Just look at the web logs I've mentioned and you'll understand it quickly.
    Here's an additional AJAX tutorial
    http://www.w3schools.com/ajax/default.asp
    Eddy
    PS. Reward the useful answers and you will get <a href="http:///people/baris.buyuktanir2/blog/2007/04/04/point-for-points-reward-yourself">one point</a> yourself!

  • How can i store data in term of a tree structure

    how can i store data in term of a tree structure

    What a tree is the question. If you just want a fast access, ehats about Hashtable or dictionary classes ? The data there is structured in a tree. For a simple binary tree, you can use something like
    class Node {
    Node(Object data){
       Node left;
       Node right;
       Object data = data;
    void insert(Object data, Node parent){
      int test = data.compareTo(parent.data);
      if(test < 0 ){
        if(parent.left == null){
          parent.left = new Node(data);
        else{
          insert(data, parent.left);
      else{
        if(parent.right == null){
          parent.right = new Node(data);
        else{
          insert(data,parent.right);
    }And so build up a binary tree. The traversing methods can be found in almost any good book (pre-order, post-order, in-order), for search you have just to look at greater/smaller and descend in the tree.
    The Object data can be changed to what you want for storage, String, or primitive Numbers, Vectors ...
    Is that what you search for?

  • How to store data in hashmap so that it can be used by different methods.

    Hello,
    I have an ADF/JSF application and the database is DRM. The program gets data from DRM into this hashmap. Program needs this data frequently. Getting this HashMap is very resource intensive due to a lot of data it has.
    I want to get the data in HashMap once ( I can do this - no problem).  But where/how do I keep it so that different methods can just use this and not make individual trips to DRM? It may be a very basic java question but I seem to be stuck :)
    I am not very concerned about the HashMap part, it can be any collection - the question is of storing it so that it can be used over and over.
    Thanks,

    User,
    If I understand you correctly, you have a JSF application that needs to store data in a HashMap such that it can be accessed over and over? You could put the hashmap into an appropriately-scoped managed bean and access it from there. I'm not sure what a "DRM" is (a digital rights management database, perhaps, in which case it's a "database"), so there is something special about a "DRM" that we need to know, please share.
    John

  • I have an iMac with 2 internal drives and set-up with multiple user accounts.  How do I create a path to store data files on my second drive within an application?

    I have an iMac with 2 internal drives and a multiple user account set-up.  Hw do I create a path to store data files on the second drive within an application?

    This is the Mac mini forum not the iMac forum however...
    Applications written for average users like Photoshop, Word, i.e. GUI based applications provide a 'Save' dialog box which while allow selecting second drives or any drive. The dialob box initially shown might be in the simple mode but you just need to click on the triangle to show the full set of options. You should then see the different drive names amongst other options.
    If your referring to an application your writing yourself then you need to build a pathname. This can be in one of two styles depending on the programming system your using. This could be a POSIX style path or a Mac style path.
    POSIX = /Volumes/volname/foldername
    Mac style = Volname:foldername:

  • I have a Time Capsule with 2tb of storage, and an I-Mac with 500Gb. (which is at capacity) Can I use the Time Capsule to store data in addition to backing up the hard drive?

    I have a Time Capsule with 2tb of storage, and an I-Mac with 500Gb. (which is at capacity) Can I use the Time Capsule to store data from my hard drive that I want to access later in addition to backing up the hard drive?

    Can I use the Time Capsule to store data from my hard drive that I want to access later in addition to backing up the hard drive?
    Yes, but if you move the "original" data on your iMac to the Time Capsule....then the "original" data is now on the Time Capsule disk. 
    When...not if...the Time Capsule disk has a problem, you have no backups for this data.
    Perhaps a much safer plan might be to add an external hard drive attached directly to your iMac. Then, move the data to that drive from the iMac.
    Now, Time Machine will back up both your iMac and the external hard drive so you have "originals" on one drive and backups on another. Would that plan work for you?

  • Store dates in UTC, view in SESSIONTIMEZONE

    Hi,
    I have users in many time zones - each with daylight savings rules - and I want to store dates on the database in UTC/GMT.
    In order to get them displaying in local time in ApEx, I have done the following:
    - Set the SESSIONTIMEZONE in the VPD security section
    - Convert from UTC to SESSIONTIMEZONE in the "Post Calculation Computation" option of the screen item as it is displayed
    - Convert from SESSIONTIMEZONE to UTC in a Calculation when the row is saved back
    I have tried to get this working with the data type TIMESTAMP WITH TIME ZONE. It does the conversion to UTC OK, but the time zone stored on the database is the SESSIONTIMEZONE. I have to stick to the format model associated with the ApEx DatePicker I am using, which does not include a time zone, so I cannot explicitly instruct the Automatic Row Processing which zone to write.
    Surely there is an easier way.
    Should I just abandon the TIMESTAMP WITH TIME ZONE and go with TIMESTAMP or DATE? Then the UTC zone would just be implicit on the database.

    Check out the already existing thread about this: iTunes8 - How to turn off genre and links to shop in the browser?

  • What is the best way to store data to a file? Serialization?

    FYI: I am some what of a novice programer. I have almost finished my degree but everything I know about Java is self taught (never taken a course in java). Any way here is my question.
    So I have an example program that I have created. It basically just has three textpanes which also have the ability to contain images. Now I would like to learn how to store data to a file for later retrieval and decided to use a program such as this as an example. I am not sure if I should use the serialization API that java has or some other means such as XML. If I used XML I was not sure how to store the image data that would be contained in the text panes. I figured serialization would take care of that if I just serialized my main class and then restored it. So That is that I tried first. Is this a good direction to go?
    The problem I am having is that I cant seem to get the serialization to work the way I need it to. I am not sure what I am doing wrong because I have read many tutorials and looked at allot of example code but still dont understand. The tutorial I looked at most is [this one at IBM.|http://java.sun.com/developer/technicalArticles/Programming/serialization/]
    The eclipse project folder for my example program can be found here:
    [http://startoftext.com/stuff/myMenuExp/]
    zipped version:
    [http://startoftext.com/stuff/myMenuExp.zip]
    The main class is mainwindow.java. I know the source is kinda dirty. Any comments are welcome but I am most interested in how to solve this serialization problem. Thanks
    -James

    DrClap wrote:
    What will the nature of the data be? Just a handful of strings? A bunch of objects of different types reflecting the current state of your program to great depth and complexity? Something else?The data will be what is contained in three text panes. Each text pane containing rich text and images. For an example take a look at the example program in my first post.
    How will the data be used? Just write it out when the app shuts down, and read it all back in when it starts up? Do you need to query or search for specific subsets of the data? Is there any value in the stored form of the data being human-readable?Basically the data will need to be saved when the application shuts down or when the user selects save from the file menu. The data will be restored when the user opens the file from the file menu. It would be nice if the stored data is human readable but its not of primary importance.
    How often will the data be written and read? How many reads/writes/bytes/etc. per second/minute? Not often. Just a simple open and save from the file menu.
    How large could the data conceivably get?It will probably be a few paragraphs of formated text and less then a dozen images per text pane.
    Will reading and writing of the data need to occur concurrently?no.
    Do you need to add new data to the storage as your app goes along, or just replace what's there with the most current state?Replace with the most current state of the data.
    If it's a simple read once at startup, write once at shutdown, overwriting the previous data, read only by your app, not by humans, then serialization via ObjectInput/OutputStream is probably the way to go. If there are other requirements, you may want to go with XML serialization, a DB, or some other solution.Thanks for the information. Serialization sounds like the way to go. Even if I end up using XML serialization in the end it would still be of interest to me to learn how to use serialization without xml.
    I was trying to go with using serialization in be beginning but I cant seem to get it to work. Would you be willing to take a look at my example program. I attempted to implement serialization but it does not seem to work. Could you take a look and see what I am doing wrong. At this point I am stuck as i cant seem to get serialization to work.
    I am going to go ahead and mark this thread as answered because I think I already got most of the information I was looking for except what I am doing wrong with my attempt as serialization.
    Thank you jverd for your time.

Maybe you are looking for