<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW中測(cè)試測(cè)量數(shù)據(jù)的存儲(chǔ)(2)

          LabVIEW中測(cè)試測(cè)量數(shù)據(jù)的存儲(chǔ)(2)

          作者: 時(shí)間:2017-01-06 來(lái)源:網(wǎng)絡(luò) 收藏
          在分析TDM模型的優(yōu)劣勢(shì)之前,我想最好先羅列一下一些數(shù)據(jù)文件格式的技術(shù)要求。

          NI軟件平臺(tái)上針對(duì)于測(cè)試測(cè)量的數(shù)據(jù),有很多不同的文件格式,其中有幾種是支持TDM模型的。并不是說(shuō)這些文件都能滿足以下技術(shù)要求,我只是先羅列出來(lái):

          本文引用地址:http://www.ex-cimer.com/article/201701/337025.htm

          1)寫(xiě)文件速度必須要快。很多情況下需要一邊采集數(shù)據(jù)一邊就把數(shù)據(jù)寫(xiě)到文件中,采集卡的速度已經(jīng)相當(dāng)快了,這時(shí)候瓶頸常常是在寫(xiě)文件這個(gè)步驟上。相反,讀文件可能并沒(méi)有如此高的要求。

          2)向文件追加(append)數(shù)據(jù)的時(shí)候,速度要快,這個(gè)時(shí)候不能讀取文件中的信息。這其實(shí)也是常用的一個(gè)use case,采集數(shù)據(jù)寫(xiě)入文件的動(dòng)作可能經(jīng)常要進(jìn)行(比如在一個(gè)循環(huán)中),往往又是往同樣的文件中寫(xiě)入信息。

          3)寫(xiě)文件的速度不能與文件大小成正比。我們希望不管文件有多大,寫(xiě)文件的速度總是保持相對(duì)恒定,不能文件越大就寫(xiě)得越慢。

          4)支持隨機(jī)的讀取。比如我想讀文件中某個(gè)位置的某些內(nèi)容,不能要求把這個(gè)位置之前的所有數(shù)據(jù)都先讀出來(lái)(即讀到內(nèi)存中)。

          5)支持分別讀寫(xiě)描述性信息和原始數(shù)據(jù)。這是上一條的延伸,讀描述性信息(meta data)的時(shí)候不要求把原始數(shù)據(jù)(raw data)讀進(jìn)來(lái),同樣,讀原始數(shù)據(jù)的時(shí)候也不要求把描述性信息讀進(jìn)來(lái),否則,勢(shì)必影響讀文件的速度。

          6)對(duì)讀文件的速度也有一定的要求。這個(gè)要求主要來(lái)自于搜索數(shù)據(jù)。無(wú)數(shù)浩瀚的數(shù)據(jù),怎樣才能快速的找到用戶需要的數(shù)據(jù),這一直是一個(gè)難題。

          7)文件不能太大。存儲(chǔ)同樣的數(shù)據(jù)量,文件自然越小越好。

          技術(shù)要求暫時(shí)就寫(xiě)這么多,其實(shí)總結(jié)起來(lái),無(wú)非兩點(diǎn):1)快;2)方便。我們對(duì)照TDM的數(shù)據(jù)模型,對(duì)于“快速”,暫時(shí)看得不明顯(以后可以談?wù)劄槭裁碩DMS文件可以達(dá)到“快速的要求”),但是說(shuō)它“方便”,還是可以理解的。

          這個(gè)模型的設(shè)計(jì)完全是依照用戶的應(yīng)用實(shí)例。首先,它是分層次的。比如說(shuō)我們需要測(cè)試汽車(chē)發(fā)動(dòng)機(jī)的各個(gè)指標(biāo)。我們用8個(gè)通道的采集卡采集發(fā)動(dòng)機(jī)振動(dòng)的數(shù)據(jù),8個(gè)通道分別采集8個(gè)部位的振動(dòng),存到文件中,作為一個(gè)組(group),組的名字就叫做“發(fā)動(dòng)機(jī)振動(dòng)”。我們還需要采集發(fā)動(dòng)機(jī)的進(jìn)氣管、排氣管壓力,又作為一個(gè)組。還要采集發(fā)動(dòng)機(jī)的溫度,可能也用8個(gè)通道的采集卡采集8個(gè)部位的溫度,每個(gè)部位的溫度數(shù)據(jù)作為一個(gè)通道(channel)存到文件中,8個(gè)通道作為一個(gè)組,叫做“發(fā)動(dòng)機(jī)溫度”等等。我們可能會(huì)采集多次,其他參數(shù)都不變,只是數(shù)據(jù)每次都附加在文件的后面。我們有很多的測(cè)試工程師,每個(gè)工程師做的測(cè)試分別存成一個(gè)TDM模型的數(shù)據(jù)文件??梢园l(fā)現(xiàn),這樣的三層結(jié)構(gòu)還是很清晰的。這就好比用LabVIEW些程序,VI大了,就不知道怎么管理了,那就多用幾層SubVI嘛。

          其次,它具有描述性信息。比如可能需要把測(cè)試的日期、測(cè)試者的名字、測(cè)試的環(huán)境配置等信息寫(xiě)下來(lái)。有些描述性信息是針對(duì)“文件”這個(gè)層次的,比如測(cè)試者的姓名。有些信息可能針對(duì)“組”這個(gè)層次,比如采集的是“溫度”,單位是“攝氏度”。有些信息則可能針對(duì)“通道”,比如采集的是發(fā)動(dòng)機(jī)哪個(gè)部位的溫度等等。描述性信息比較利于他人閱讀文件,并且,在搜索文件數(shù)據(jù)的時(shí)候,可以派上大用場(chǎng),可以先利用這些描述性信息進(jìn)行定位。當(dāng)然,這些信息最好能和“原始數(shù)據(jù)”(raw data)放在一起,要是放在兩個(gè)文件中,一是難以對(duì)應(yīng)起來(lái),而是不利于維護(hù)。這也好比是寫(xiě)LabVIEW程序,你寫(xiě)的程序,別人也要能看到,沒(méi)太多的好辦法,就多寫(xiě)點(diǎn)注釋吧。

          這樣的TDM模型也有其缺點(diǎn)。至少看起來(lái)有點(diǎn)復(fù)雜,同時(shí)有原始數(shù)據(jù)和描述性數(shù)據(jù),還要實(shí)現(xiàn)那么多的技術(shù)要求,著實(shí)有點(diǎn)困難啊。其次,這個(gè)模型寫(xiě)下來(lái)就固定了,一共就3個(gè)層次,說(shuō)到底在某個(gè)文件中也就2個(gè)層次,不能擴(kuò)展,不像XML那樣方便。我有時(shí)候就想要把數(shù)據(jù)寫(xiě)到一個(gè)“通道”中,我還非得先造一個(gè)“組”出來(lái)(其實(shí)可以不寫(xiě),默認(rèn)會(huì)造一個(gè)出來(lái),但是邏輯結(jié)構(gòu)上不能缺少)。還有其他限制條件,比如原始數(shù)據(jù)必須寫(xiě)在“通道”這個(gè)層次,不能寫(xiě)在“組”這個(gè)層次等等。

          總體來(lái)講,TDM數(shù)據(jù)模型利大于弊,比較適合測(cè)試測(cè)量領(lǐng)域的數(shù)據(jù)的存儲(chǔ),是一套不錯(cuò)的解決方案。



          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();