Friday, November 11, 2005

Storing and Retrieving Data

A few years ago, a colleague and I looked at all of the ways in LabVIEW you can store and retrieve data. The list was not only large but it was a bit embarrassing how incompatible all of the methods were. For example

Mechanisms for performing data capture

  1. Print VI front panel, at completion or manually triggered
  2. Generate screenshot of VI manually and paste into report
  3. Log at completion, Use the front panel playback feature
  4. Log at completion and use the "enable database access" function to retrieve the data
  5. Generate report from front panel using reporting toolkit
  6. Ascii Files - write to spreadsheet file
  7. Binary file - write binary array to file
  8. Load/Store XML file
  9. Datalog File - write and read cluster using file primitives
  10. Database Toolkit
  11. DataSocket to File
  12. LabVIEW DSC Module
  13. LabVIEW Express File Storage VI
Whew. That's a lot. One thing that was frustrating when looking through this list is that there weren't many ways to store structured data. For example, it was difficult to take a lot of values, associate it with a "run" (time, date, location, etc..) and then store multiple "runs" in a particular place. I implemented it to an access database using the Database toolkit once and it was pretty time-consuming. Another observation is that there weren't many ways to browse the data that you had stored. There was the front panel datalogging "retrieve" function and there was the Citadel explorer in DSC but that was about it. You had to write a program in order to view the data you had stored. Various business forces combined to finally do something about this in LabVIEW 7.1 Our acquisition of GFS a number of years ago brought in a whole host of people experienced with storing and retrieving really large datasets. The two most important integrations between the two were

  1. You can open LabVIEW data files (the LabVIEW "measurement file format") in DIAdem. It's a configuration based program that lets you retrieve and manipulate data sets. No more writing a program just to get your data back
  2. The LabVIEW Data storage VIs. The object of these VIs was to allow structured data to be stored in multiple different representations. The data could be stored in a measurement file, a DIAdem file, or ASAM-ODS databases. And again, the data could be read from DIAdem without writing a program to do it.

Hopefully, this will give you leg up when you try and implement an application that reads and stores technical data. One day, I'd love to see you have a virtual notebook. Something you can use to store random bits of data but still be able to retrieve it and query it. Find all of the runs of data that gave you the answer "5". Ah, someday...

Technocrati Tags: LabVIEW, XML, Database, DIAdem

FREE hit counter and Internet traffic statistics from