針對(duì)于測(cè)試測(cè)量行業(yè)的數(shù)據(jù)存儲(chǔ),LabVIEW提供了數(shù)種不同的文件格式,先來(lái)介紹一下LVM格式。LVM(LabVIEW Measurement File)總體來(lái)說(shuō)是一種比較輕量級(jí)的文件格式。它基于ASCII編碼,用一般的文本編輯器打開(kāi)都能看懂。當(dāng)然,這個(gè)特點(diǎn)優(yōu)劣參半,非二進(jìn)制代碼的文件,總體來(lái)說(shuō)性能較低,并且不夠緊湊(即存儲(chǔ)相同信息量,文件稍大)。所以,LVM文件格式適用于對(duì)性能、文件大小并不具有太高要求的情形。
本文引用地址:http://m.butianyuan.cn/article/201701/337029.htm
上圖顯示的就是用普通的文本編輯器打開(kāi)一個(gè)LVM文件的情形??梢钥吹降?1行文字為"***End_of_Header***",可見(jiàn)lvm文件具有header信息,header中的每一行都是一個(gè)鍵值對(duì),表示該文件的一個(gè)屬性,屬性名與屬性值之間目前以Tab分開(kāi)。
第13行開(kāi)始就是文件的主體部分,LVM文件中也有類似于"segment"的概念。每次往相同的文件中寫(xiě)入信息都會(huì)往這個(gè)文件的末尾增加一個(gè)segment。segment也可以含有自己的header,header中自然也是存著針對(duì)于這個(gè)segment的屬性信息。在segment的header之后就是真正的原始數(shù)據(jù)。比如一個(gè)波形圖的數(shù)據(jù)。在上圖中,我們存儲(chǔ)了一個(gè)一維數(shù)組的數(shù)據(jù)。LVM文件最多可以支持二維數(shù)組的數(shù)據(jù),如果打開(kāi)存儲(chǔ)二維數(shù)組的LVM文件,其原始數(shù)據(jù)部分看起來(lái)會(huì)與上圖稍有不同,很像一個(gè)excel中存儲(chǔ)的數(shù)據(jù)。
在LabVIEW中操作LVM文件格式的API主要是Read/Write Measurement File,如下圖所示:
LVM文件還有一個(gè)缺點(diǎn),就是header中的屬性是固定的,僅通過(guò)LabVIEW的API并不能增加用戶自定義的屬性,這是一個(gè)限制。當(dāng)然,不排除這樣的情況:用戶自己用文本編輯器打開(kāi)LVM文件,向其中寫(xiě)入或者修改一些屬性。
世上沒(méi)有完美的文件格式。LVM文件格式也有其自己的優(yōu)缺點(diǎn),有其獨(dú)特的應(yīng)用條件。并不能根據(jù)某個(gè)單一的指標(biāo)判斷它是好是壞,使用時(shí)應(yīng)先判斷自己的應(yīng)用要求,作出合適的選擇。
評(píng)論