LAVA Forums Buy cool LAVA gear Forums RSS Feed

Welcome Guest ( Log In | Register )

> Related links

Check out our Database and File IO Code Repository Files or visit the LabVIEW Wiki Database and File IO articles.


Tags
(This content has not been tagged yet)
 
Reply to this topic Start new topic
> [CR] Self-Decimating Storage VIs
torekp
post Jun 27 2007, 11:23 PM
Post #1


Very Active
***

Member
Posts: 110
Joined: 31-March 06
From: Detroit (work) / Ann Arbor (home), Mich.
Member No.: 4616
Using LabVIEW Since:2001
LV:8.5 ,. ,.
United States Nothing Selected Nothing Selected My Gallery



File Name: Self-Decimating Storage VIs
File Submitter: torekp
File Submitted: 26 Jun 2007
File Updated: 2 Jul 2007
File Category: Database and File IO

Self-Decimating Storage VIs V1.0.1
Copyright © 2007, Huron Valley Steel Corporation
All rights reserved.

Author:
Paul Torek
contact through http://forums.lavag.org, by sending PM (private message) to torekp

Instructions:
Unzip and place the folders Calculations, DB_accessory, tests, InputOutput, and Templates into one location in your file hierarchy, for example, all in user.lib. If you already have folders with some of these names, simply copy the contents into your folders. Examine the example VIs in the "tests" folder.

Description:
How would you like to cram infinite data into finite file space, with rapid reads and writes? Sorry, I can't deliver that - but this may be the next best thing.

These files allow the programmer to maintain a fixed-sized representative sample of data, regardless of how many data sets are accumulated. The storage may be in the form of a shift register (a.k.a. VI Global) - VIG_self_decimating.vi performs this job - or in the form of a binary file on disk - VIG_decimation_indices.vi and write_decim8_REentrant.vi do that job, with help from other VIs included as subVIs in test_decim8file_V101.vi. Note that the binary file VIs are polymorphic for storing 2D DBL arrays, 1D i32 arrays, and a few other types. It is straightforward to modify them to do other formats, or to modify the VI Global likewise.

Each time the storage fills up, the decimation factor doubles, and the storage begins to fill with the data at the new lower frequency, overwriting previously stored data that had been logged at a higher frequency.

Labview 8.0

Version History:
1.0.0:
Initial release of the code.
1.0.1:
New subVIs allow ease of reading decimated files, one record at a time.

License:
Creative Commons Attribution 2.5 License

Click here to DOWNLOAD this file

--------------------
Paul Torek, Ypsilanti/Trenton/Belleville, Michigan


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
Ad
post Jun 27 2007, 11:23 PM
Post #















Tags
(This content has not been tagged yet)
Go to the top of the page
Quote Post
torekp
post Dec 4 2007, 04:36 PM
Post #2


Very Active
***

Member
Posts: 110
Joined: 31-March 06
From: Detroit (work) / Ann Arbor (home), Mich.
Member No.: 4616
Using LabVIEW Since:2001
LV:8.5 ,. ,.
United States Nothing Selected Nothing Selected My Gallery


After upgrading to Labview 8.5, I encountered a problem with these VIs. The binary files of i32 indices somehow became scrambled in their byte and word order. I don't know if my files somehow got corrupted, or if this is a Labview 8.5 problem. If anyone else has this trouble please let me know.

--------------------
Paul Torek, Ypsilanti/Trenton/Belleville, Michigan


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post
torekp
post Jan 29 2008, 12:48 PM
Post #3


Very Active
***

Member
Posts: 110
Joined: 31-March 06
From: Detroit (work) / Ann Arbor (home), Mich.
Member No.: 4616
Using LabVIEW Since:2001
LV:8.5 ,. ,.
United States Nothing Selected Nothing Selected My Gallery


QUOTE (torekp @ Dec 4 2007, 04:36 PM) *
After upgrading to Labview 8.5, I encountered a problem with these VIs.


I found out that this is a known bug in Labview 8.5, and NI told me the work-around. Here you go. The secret is the "always copy" function (the black dot in a little box) just before the write-to-file near the right side of the diagram.

This is a bugfix for Labview 8.5 only. It is not needed for any other version. Unzip LV85bugfix.zip and place the VI into the directory Labview 8.5/user.lib/InputOutput/decimating, OVERWRITING any existing VI.
Attached Image

Attached File(s)
Attached File  LV85bugfix.zip ( 69.75K ) Number of downloads: 107
 

--------------------
Paul Torek, Ypsilanti/Trenton/Belleville, Michigan


Tags
(This content has not been tagged yet)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

 




Time is now: 7th January 2009 - 11:34 PM