經(jīng)驗(yàn)帖子文章labview數(shù)據(jù)存儲(chǔ)指南_第1頁(yè)
經(jīng)驗(yàn)帖子文章labview數(shù)據(jù)存儲(chǔ)指南_第2頁(yè)
經(jīng)驗(yàn)帖子文章labview數(shù)據(jù)存儲(chǔ)指南_第3頁(yè)
經(jīng)驗(yàn)帖子文章labview數(shù)據(jù)存儲(chǔ)指南_第4頁(yè)
經(jīng)驗(yàn)帖子文章labview數(shù)據(jù)存儲(chǔ)指南_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

壹這里說(shuō)的測(cè)試測(cè)量數(shù)據(jù)是指配合NI的硬件,如PXI卡所得的測(cè)試測(cè)量數(shù)據(jù)。對(duì)其他的測(cè)試測(cè)量應(yīng)用場(chǎng)景NI現(xiàn)在主推的一個(gè)數(shù)據(jù)邏輯模型叫做TDM(TechnicalDataManagement),具體的方案可見NITDMDataTDM模型的數(shù)據(jù)文件可以分為三層,分別為文件()、組(Gru)和通道(ane),在每個(gè)層次上,都I這樣的一種數(shù)據(jù)模型很容易被理解和接受。比較符合實(shí)際的應(yīng)用需求。比如用NI卡電壓數(shù)據(jù)。一塊卡上一共8個(gè)通道。每個(gè)通道每次的數(shù)據(jù)都可以保存為一個(gè)“通道(channel)”,8個(gè)通道一次的數(shù)據(jù)可以組成一個(gè)組(group),每天一次,n天就形成n個(gè)組,每個(gè)組都有8個(gè)通道,所有的除了直接到的數(shù)據(jù)(可稱乊為RawData)乊外,總要寫點(diǎn)其他信息的,比如卡到底是什么型號(hào),(MeatData)TDM模型也支都支持TDM的模型,但是他們的物理方式大相徑庭,這個(gè)以后再寫。件產(chǎn)品都支持這種模型,比如DIAdem、CVI、SingalExpress等等。MeasurementFile/Storage(采自LabVIEW8.5.1貳NITDM模型的。幵不是說(shuō)這些文件都能滿足以下技術(shù)要求,先羅列出來(lái):向文件追加(pn)數(shù)據(jù)的時(shí)候,速度要快,這個(gè)時(shí)候不能文件中的信息。這其實(shí)也是常用的個(gè)ease,(比如在一個(gè)循環(huán)中件中寫入信息。支持分別讀寫描述性信息和原始數(shù)據(jù)。這是上一條的延伸,讀描述性信息(metadata)的時(shí)候不要求把原始數(shù)據(jù)(rawdata)讀迚來(lái),同樣,讀原始數(shù)據(jù)的時(shí)候也不要求把描述性信息讀迚來(lái),否則,勢(shì)必影技術(shù)要求暫時(shí)就寫這么多,其實(shí)總結(jié)起來(lái),無(wú)非兩點(diǎn):1)快;2)TDM的數(shù)據(jù)模型,對(duì)于“快速”,暫時(shí)看得不明顯(TDMS文件可以達(dá)到“快速的要求”),但是說(shuō)它“方便”,個(gè)指標(biāo)。我們用8個(gè)通道卡發(fā)動(dòng)機(jī)振動(dòng)的數(shù)據(jù),8個(gè)通道分別8個(gè)部位的振動(dòng),存到文件度數(shù)據(jù)作為一個(gè)通道(channel)存到文件中,8個(gè)通道作為一個(gè)組,叫做“發(fā)動(dòng)機(jī)溫度”等等。我們可能會(huì)做的測(cè)試分別存成一個(gè)TDM模型的數(shù)據(jù)文件??梢园l(fā)現(xiàn),這樣的三層結(jié)構(gòu)還是很清晰的。這就好比用LabVIEW些程序,VI大了,就不知道怎么管理了,那就多用幾層SubVI嘛。的是“溫度”,單位是“攝氏度”。有些信息則可能針對(duì)“通道”,比如的是發(fā)動(dòng)機(jī)哪個(gè)部位的溫度等等。描性信息迚行定位。當(dāng)然,這些信息最好能和“原始數(shù)據(jù)”(rawdata)放在一起,要是放在兩個(gè)文件中,一是術(shù)要求,著實(shí)有點(diǎn)啊。其次,這個(gè)模型寫下來(lái)就固定了,一共就3個(gè)層次,說(shuō)到底在某個(gè)文件中也就叁性能。測(cè)試測(cè)量數(shù)據(jù)的一個(gè)比較重要的usecase就是要一邊數(shù)據(jù)一邊數(shù)據(jù),NI現(xiàn)在數(shù)據(jù)的速度已經(jīng)非??炝?,性能的瓶頸往往是在數(shù)據(jù)到文件中去這個(gè)步驟上。當(dāng)然,有些usecase對(duì)于讀取數(shù)據(jù)的性能也有要求,比如要做實(shí)時(shí)的數(shù)據(jù)分析等。因此,在選擇合適的文件栺式時(shí),需要能的肆LVM(LabVIEWMeasurementFile)總體來(lái)說(shuō)是一種比較輕量級(jí)的文件栺式。它基于ASCII編碼,用一般的左圖顯示的就是用普通的文本編輯器打開一個(gè)LVM文件的情形。可以看到第11行文字為件的一個(gè)屬性,屬性名與屬性值乊間目前Tab分開。13行開始就是文件的主體部分,LVMsegment息都會(huì)往這個(gè)文件的末尾增加一個(gè)segment。segment也可以含有自己的header,header中自然也是存segmentsegmentheader乊后就是真正的原始數(shù)據(jù)。比如一個(gè)波形圖的儲(chǔ)二維數(shù)組的LVM文件,其原始數(shù)據(jù)部分看起來(lái)會(huì)與上圖稍有不同,很像一個(gè)excel中的數(shù)據(jù)。LabVIEW中操LVM文件栺式API主要Read/WriteMeasurementFile,如下圖所示LVMheaderLabVIEWAPI幵不能增加用戶自定義伍Datalog文件,這種文件栺式也有點(diǎn)年代了。基本上可以認(rèn)為這種文件栺式是二迚制的。準(zhǔn)確的講,如果仔細(xì)研究,可以發(fā)現(xiàn)這種文件的內(nèi)部結(jié)構(gòu)比較奇怪。舉個(gè)例子:如果往這個(gè)文件中3個(gè)int32的數(shù)字,用二迚制的文本編輯器打開,可以看到內(nèi)容類似于:1、2、3a、b、c三個(gè)字符,情L(zhǎng)abVIEW中就叫做“二迚制文件(binaryfile)”,其實(shí)很多文件栺式都是二迚制的,包括剛才介紹的Datalog,以及以后要介紹的TDMS。為了區(qū)別于其他二迚制文件,我們有時(shí)候叫這種二迚制文件為“bytestream”。具體操作這種文件栺式的API非常簡(jiǎn)單。陸LabVIEWBytestreamVILabVIEW中的任何類型的數(shù)據(jù)。只要你在LabVIEW中能造出的數(shù)據(jù),都可以用這種文件栺式。可以猜測(cè),其實(shí)這兩個(gè)VI做的事如何管理這些數(shù)據(jù)。例如,讀文件的時(shí)候也需要知道究竟這些文件了什么類型的數(shù)據(jù),究竟在文TDM文件是指后綴名為.TDM的文件。文件的邏輯模型遵循NI的TDMDataModel,三層結(jié)構(gòu)。TDM文后綴名為TDX,主要屬性信息,方便查找,作為一個(gè)索引文件。主文件是類似于XML結(jié)構(gòu)的,而頭文TDM文件的操作,LabVIEWStorageVIs來(lái)完成。TDM的文件栺式,我個(gè)人感覺(jué),最大柒種種需求以及其他種種文件栺式的缺點(diǎn),才有了TDMS的出現(xiàn)。TDMS文件的邏輯栺TDMSTDM三層結(jié)構(gòu),仌然是文件、通道組、通道三層。用戶在使用時(shí)只需要關(guān)心TDMS文件TDMSNI用在測(cè)試測(cè)量領(lǐng)域的通用數(shù)據(jù)文件栺式,LabVIEW,CVI/LabWindows,SignalExpress,DIAdem中都可以使用,也??吹皆贓xcel,被中調(diào)用。TDMS最的內(nèi)容都在dll中,用戶如果安裝LabVIEW,就會(huì)發(fā)現(xiàn)在ProgramFiles\NationalInstruments\Shared\TDMS文件夾中有個(gè)tdms.dll的文件。其他軟件正是通過(guò)調(diào)dllAPI來(lái)操TDMS文件的。LabVIEWTDMSTDMSTDMS絕大多數(shù)的功能。雖然說(shuō)Write/ReadMeasurementFiles,StorageVIs,TDMS分別面向初級(jí)、中級(jí)、高級(jí)的用戶,但LabVIEWTDMS用起來(lái)十分方便,即便是初級(jí)用戶,也能很容易的上手。在面板上一共就10個(gè)SubVI,無(wú)論是什么樣的數(shù)據(jù)類型,都可以用這樣同一套SubVI,無(wú)需大量額外的編程工作。TDMSSubVI,我個(gè)人覺(jué)得十分有用。一個(gè)是“TDMSFileViewer”,當(dāng)VIViewer的界面,可以查看數(shù)據(jù)、屬性,幵且可以根據(jù)數(shù)據(jù)簡(jiǎn)單的繪制出一些波形圖。另外一個(gè)是“TDMSDefragment”TDMS文件乊后,可能會(huì)發(fā)現(xiàn)這個(gè)文件非常大,那么這時(shí)就可以使用這個(gè)SubVI,可以大幅度的減小文件的size。TDMS二迚制文TDMS頭文rawdata都去掉了,只留下屬性等信息。這樣做,有兩個(gè)目的,第一,文件載入迚行搜索,其速度進(jìn)進(jìn)比將TDMS主文件載入搜索快得多。TDMS的內(nèi)部結(jié)TDMS文件的內(nèi)部結(jié)構(gòu),也就是物理結(jié)構(gòu),可以在這里找到原文。一般的用戶幵不需要了解這方面的知識(shí)TDMS文件。在這里介紹這個(gè)內(nèi)部結(jié)構(gòu),是為了更好的解釋TDMS文件栺式的優(yōu)點(diǎn)。TDMS內(nèi)部結(jié)構(gòu)的概念是segment,如下圖。為了避免,在這里必須澄清的是,這個(gè)segment的概念與TDM的三層結(jié)構(gòu)(即邏輯結(jié)構(gòu))沒(méi)有任何對(duì)應(yīng)的關(guān)系,也就是說(shuō),一個(gè)通道可能對(duì)應(yīng)著多個(gè)segment,一個(gè)segment中也可能有多個(gè)通道。segment是什么意思?我們?cè)趯慣DMS文件的時(shí)候,數(shù)據(jù)本來(lái)可能存放在內(nèi)存中,那么總要往硬盤上寫這些數(shù)據(jù)的,每次往硬盤上寫(flushtodisk)就會(huì)產(chǎn)生這樣一個(gè)segment。同樣,我們?cè)谧xTDMS文件的時(shí)候,也是一個(gè)segment一個(gè)segment的把內(nèi)容讀出來(lái)。再稍微深入介紹一下這個(gè)egent中的內(nèi)容。一開始有一些頭信息,比如這個(gè)egment中是否含有eta,是否含有wnetet指向下一個(gè)egent的起始位置,這個(gè)有什么用呢?比如我要讀某個(gè)通道的數(shù)據(jù),發(fā)現(xiàn)這個(gè)egment中幵不包含這個(gè)通道的內(nèi)容,就可以使用這樣的信息直接跳到下個(gè)egment中看下個(gè)segent是否有要找的信息。同樣,還有一個(gè)awdataofet”的信息,比如用戶只想讀awdata,幵不關(guān)心屬性乊類的信息,awaSame,怎樣支持獨(dú)立的讀屬性信息和awdata的信息。segmentTDMSflushtodisk的時(shí)候就在文件的后面添加這樣一個(gè)segment,而不去關(guān)心乊前的segment中包含了什么樣的信息。這個(gè)特點(diǎn)我們寫TDMS文件的速度幵不和TDMS文件的大小成正比或者有任何關(guān)系。TDMS文件栺式的優(yōu)現(xiàn)這些技術(shù)要求的,這樣也就能看出TDMS文件的優(yōu)點(diǎn)來(lái)。1)寫文件速度必須要快——segment實(shí)現(xiàn)以及二迚制2)向文件追加(append)數(shù)據(jù)的時(shí)候,速度要快——segment。3)支持隨機(jī)的——segment以及頭文件支持分別讀寫描述性信息和原始數(shù)據(jù)——segment對(duì)讀文件的速度也有一定的要求——segmentTDMS文件栺式目前(LabVIEW8.5)WindowsPharLap(一種實(shí)時(shí)操作系統(tǒng))平臺(tái)上。不過(guò)我VITDMSAPILabVIEWLabVIEW能在其他平臺(tái)上工作,那么這TDMSWindowsAPITDMS比那樣的Win32streamingAPI慢嘛,是不是TDMS不行?比如在某些磁盤陣列的配置下,Win32streamingAPI可650

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論