针对于
测试测量行业的
数据存储,
LabVIEW提供了数种不同的文件格式,先来介绍一下LVM格式。
LVM(LabVIEW Measurement File)总体来说是一种比较轻量级的文件格式。它基于ASCII编码,用一般的文本编辑器打开都能看懂。当然,这个特点优劣参半,非二进制代码的文件,总体来说性能较低,并且不够紧凑(即存储相同信息量,文件稍大)。所以,LVM文件格式适用于对性能、文件大小并不具有太高要求的情形。
上图显示的就是用普通的文本编辑器打开一个LVM文件的情形。可以看到第11行文字为"***End_of_Header***",可见lvm文件具有header信息,header中的每一行都是一个键值对,表示该文件的一个属性,属性名与属性值之间目前以Tab分开。
第13行开始就是文件的主体部分,LVM文件中也有类似于"segment"的概念。每次往相同的文件中写入信息都会往这个文件的末尾增加一个segment。segment也可以含有自己的header,header中自然也是存着针对于这个segment的属性信息。在segment的header之后就是真正的原始数据。比如一个波形图的数据。在上图中,我们存储了一个一维数组的数据。LVM文件最多可以支持二维数组的数据,如果打开存储二维数组的LVM文件,其原始数据部分看起来会与上图稍有不同,很像一个excel中存储的数据。
在LabVIEW中操作LVM文件格式的API主要是Read/Write Measurement File,如下图所示:
LVM文件还有一个缺点,就是header中的属性是固定的,仅通过LabVIEW的API并不能增加用户自定义的属性,这是一个限制。当然,不排除这样的情况:用户自己用文本编辑器打开LVM文件,向其中写入或者修改一些属性。
世上没有完美的文件格式。LVM文件格式也有其自己的优缺点,有其独特的应用条件。并不能根据某个单一的指标判断它是好是坏,使用时应先判断自己的应用要求,作出合适的选择。