LabVIEW的文件I/O
發(fā)布時間:2008/9/24 0:00:00 訪問次數(shù):2472
在labview程序設(shè)計中,常常需要調(diào)用外部文件數(shù)據(jù),同時也需要將程序產(chǎn)生的結(jié)果數(shù)據(jù)保存至外部文件中,這些都離不開文件i/o操作。文件iio操作是labview和外部交換數(shù)據(jù)的重要方式。
文件i/o的基本概念和術(shù)語
在文件i/o中會用到一些相關(guān)的概念和術(shù)語,包括文件引用旬柄、文件格式、流程控件、流盤等。
1.文件路徑
文件路徑分為絕對路徑和相對路徑。絕對路徑指文件在磁盤中的位置,labview可以通過絕對路徑訪問在磁盤中的文件;相對路徑指相對于一個參照位置的路徑,相對路徑必須最終形成絕對路徑才能訪問磁盤中的文件。labview中,路徑可以是有效的路徑名、空值或非路徑。非路徑是labview提供的一種特殊的路徑,是在路徑操作失敗時的返回值。
2.文件引用句柄
文件引用句柄是labview對文件進(jìn)行區(qū)分的一種標(biāo)識符,用于對文件進(jìn)行操作。打開一個文件時,labview會生成一個指向該文件的引用句柄,對打開的文件進(jìn)行的所有操作均使用引用句柄來識別每個對象。引用旬柄控件用于將一個引用旬柄傳進(jìn)或傳出ⅵ。labview通過文件路徑訪問到文件后,為該文件設(shè)置一個文件引用句柄,以后通過此句柄即可對文件進(jìn)行操作。文件引用句柄包含文件的位置、大小、讀寫權(quán)限等信息。
3.文件i/o格式
文件i/o格式取決于所讀寫的文件格式。labview可讀寫的文件格式有文本文件、二進(jìn)制文碉 i數(shù)據(jù)記錄文件3種。使用何種格式的文件取決于采集和創(chuàng)建的數(shù)據(jù)及訪問這些數(shù)據(jù)的應(yīng)用程序。
。1)文本文件。
文本文件是最便于使用和共享的文件格式,幾乎適用于任何計算機(jī)。許多基于文本的程序可讀取基于文本的文件。多數(shù)儀器控制應(yīng)用程序使用文本字符串。
如果磁盤空間、文件i/0操作速度和數(shù)字精度不是主要考慮因素,或無需進(jìn)行隨機(jī)讀寫,可以便用文本文件存儲數(shù)據(jù),以方便其他用戶和應(yīng)用程序讀取文件。
若要通過其他應(yīng)用程序訪問數(shù)據(jù),如文字處理或電子表格應(yīng)用程序,可將數(shù)據(jù)存儲在文本文件中。
如需將數(shù)據(jù)存儲在文本文件中,使用字符串函數(shù)可將所有的數(shù)據(jù)轉(zhuǎn)換為文本字符串。文本文件可包含不同數(shù)據(jù)類型的信息。
如果數(shù)據(jù)本身不是文本格式(如圖形或圖表數(shù)據(jù)),∶掃于數(shù)據(jù)的ascii碼表示通常要比數(shù)據(jù)本身大,因此這種情況下文本文件要比二進(jìn)制和數(shù)據(jù)記錄文件占用更多內(nèi)存。
。2)二進(jìn)制文件。
二進(jìn)制文件可以用來保存數(shù)值數(shù)據(jù)并訪問文件中的指定數(shù)字,或隨機(jī)訪問文件中的數(shù)字。與人可識別的文本文件不同,二進(jìn)制文件只能通過機(jī)器讀取。
二進(jìn)制文件是存儲數(shù)據(jù)最為緊湊和快速的格式。這種文件占用較少的磁盤空間,且存儲和讀取數(shù)據(jù)時無需在文本表示與數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換,因此二進(jìn)制文件效率更高。
二進(jìn)制文件可在1字節(jié)磁盤空間上表示256個值。除擴(kuò)展精度和復(fù)數(shù)外,二進(jìn)制文件中含有數(shù)據(jù)在內(nèi)存中存儲格式的映象。因?yàn)槎M(jìn)制文件的存儲格式與數(shù)據(jù)在內(nèi)存中的格式一致,無需轉(zhuǎn)換,所以讀取文件的速度更快。
文本文件和二進(jìn)制文件均為字節(jié)流文件,以字符或字節(jié)的序列對數(shù)琿進(jìn)行存儲。
(3)數(shù)據(jù)記錄文件。
數(shù)據(jù)記錄文件以相同的結(jié)構(gòu)化記錄序列存儲數(shù)據(jù)(類似于電子表格),每行均表示一個記錄。數(shù)據(jù)記錄文件中的每條記錄都必須是相同的數(shù)據(jù)類型。labview會將每個記錄作為含有待保存數(shù)據(jù)的簇寫入該文件。
字符串和文件
每個數(shù)據(jù)記錄可由任何數(shù)據(jù)類型組成,并可在創(chuàng)建該文件時確定數(shù)據(jù)類型。數(shù)據(jù)記錄文件只需進(jìn)行少量處理,因而其讀寫速度更快;數(shù)據(jù)記錄文件將原始數(shù)據(jù)塊作為一個記錄來重新讀取,無需讀取該記錄之前的所有記錄,因此簡化了數(shù)據(jù)查詢的過程;僅需記錄號就可訪問記錄,因此可更快更方便地隨機(jī)訪問數(shù)據(jù)記錄文件。
創(chuàng)建數(shù)據(jù)記錄文件時,labview按順序給每個記錄分配一個記錄號。每次運(yùn)行相關(guān)的vi時,labview會將記錄寫入數(shù)據(jù)記錄文件將記錄寫入數(shù)據(jù)記錄文件后,將無法覆蓋該記錄。讀取數(shù)據(jù)記錄文件時,可一次讀取一個或多個記錄。
labview還提供了獨(dú)特的測量文件格式。測量文件包括基于文本的測量文件(lvm文件)和二進(jìn)制測量文件(tdm文件、tdms文件)。
基于文本的測量文件(.lvm文件)包括由寫入測量文件express vi生成的數(shù)據(jù)。該文件是用制表符分隔的文本文件,可在電子表格應(yīng)用程序或文本編輯應(yīng)用程序中打開。.lvm文件不僅包括由express vi生成的數(shù)據(jù),還包括該數(shù)據(jù)的相關(guān)信息,如生成數(shù)據(jù)的日期和時間等。在,lvm文件中,labview保存的數(shù)據(jù)精度可高達(dá)6位數(shù)。lvm文件用逗號作為數(shù)字的分隔符。如需將.lvm文件中的數(shù)據(jù)從字符串轉(zhuǎn)化為數(shù)值,可用本地化代碼格式說明符將句點(diǎn)指定為小數(shù)點(diǎn)分隔符。
二進(jìn)制測量文件(.tdms文件和.tdm文件)包括由寫入測量文件express vi或
在labview程序設(shè)計中,常常需要調(diào)用外部文件數(shù)據(jù),同時也需要將程序產(chǎn)生的結(jié)果數(shù)據(jù)保存至外部文件中,這些都離不開文件i/o操作。文件iio操作是labview和外部交換數(shù)據(jù)的重要方式。
文件i/o的基本概念和術(shù)語
在文件i/o中會用到一些相關(guān)的概念和術(shù)語,包括文件引用旬柄、文件格式、流程控件、流盤等。
1.文件路徑
文件路徑分為絕對路徑和相對路徑。絕對路徑指文件在磁盤中的位置,labview可以通過絕對路徑訪問在磁盤中的文件;相對路徑指相對于一個參照位置的路徑,相對路徑必須最終形成絕對路徑才能訪問磁盤中的文件。labview中,路徑可以是有效的路徑名、空值或非路徑。非路徑是labview提供的一種特殊的路徑,是在路徑操作失敗時的返回值。
2.文件引用句柄
文件引用句柄是labview對文件進(jìn)行區(qū)分的一種標(biāo)識符,用于對文件進(jìn)行操作。打開一個文件時,labview會生成一個指向該文件的引用句柄,對打開的文件進(jìn)行的所有操作均使用引用句柄來識別每個對象。引用旬柄控件用于將一個引用旬柄傳進(jìn)或傳出ⅵ。labview通過文件路徑訪問到文件后,為該文件設(shè)置一個文件引用句柄,以后通過此句柄即可對文件進(jìn)行操作。文件引用句柄包含文件的位置、大小、讀寫權(quán)限等信息。
3.文件i/o格式
文件i/o格式取決于所讀寫的文件格式。labview可讀寫的文件格式有文本文件、二進(jìn)制文碉 i數(shù)據(jù)記錄文件3種。使用何種格式的文件取決于采集和創(chuàng)建的數(shù)據(jù)及訪問這些數(shù)據(jù)的應(yīng)用程序。
。1)文本文件。
文本文件是最便于使用和共享的文件格式,幾乎適用于任何計算機(jī)。許多基于文本的程序可讀取基于文本的文件。多數(shù)儀器控制應(yīng)用程序使用文本字符串。
如果磁盤空間、文件i/0操作速度和數(shù)字精度不是主要考慮因素,或無需進(jìn)行隨機(jī)讀寫,可以便用文本文件存儲數(shù)據(jù),以方便其他用戶和應(yīng)用程序讀取文件。
若要通過其他應(yīng)用程序訪問數(shù)據(jù),如文字處理或電子表格應(yīng)用程序,可將數(shù)據(jù)存儲在文本文件中。
如需將數(shù)據(jù)存儲在文本文件中,使用字符串函數(shù)可將所有的數(shù)據(jù)轉(zhuǎn)換為文本字符串。文本文件可包含不同數(shù)據(jù)類型的信息。
如果數(shù)據(jù)本身不是文本格式(如圖形或圖表數(shù)據(jù)),∶掃于數(shù)據(jù)的ascii碼表示通常要比數(shù)據(jù)本身大,因此這種情況下文本文件要比二進(jìn)制和數(shù)據(jù)記錄文件占用更多內(nèi)存。
。2)二進(jìn)制文件。
二進(jìn)制文件可以用來保存數(shù)值數(shù)據(jù)并訪問文件中的指定數(shù)字,或隨機(jī)訪問文件中的數(shù)字。與人可識別的文本文件不同,二進(jìn)制文件只能通過機(jī)器讀取。
二進(jìn)制文件是存儲數(shù)據(jù)最為緊湊和快速的格式。這種文件占用較少的磁盤空間,且存儲和讀取數(shù)據(jù)時無需在文本表示與數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換,因此二進(jìn)制文件效率更高。
二進(jìn)制文件可在1字節(jié)磁盤空間上表示256個值。除擴(kuò)展精度和復(fù)數(shù)外,二進(jìn)制文件中含有數(shù)據(jù)在內(nèi)存中存儲格式的映象。因?yàn)槎M(jìn)制文件的存儲格式與數(shù)據(jù)在內(nèi)存中的格式一致,無需轉(zhuǎn)換,所以讀取文件的速度更快。
文本文件和二進(jìn)制文件均為字節(jié)流文件,以字符或字節(jié)的序列對數(shù)琿進(jìn)行存儲。
。3)數(shù)據(jù)記錄文件。
數(shù)據(jù)記錄文件以相同的結(jié)構(gòu)化記錄序列存儲數(shù)據(jù)(類似于電子表格),每行均表示一個記錄。數(shù)據(jù)記錄文件中的每條記錄都必須是相同的數(shù)據(jù)類型。labview會將每個記錄作為含有待保存數(shù)據(jù)的簇寫入該文件。
字符串和文件
每個數(shù)據(jù)記錄可由任何數(shù)據(jù)類型組成,并可在創(chuàng)建該文件時確定數(shù)據(jù)類型。數(shù)據(jù)記錄文件只需進(jìn)行少量處理,因而其讀寫速度更快;數(shù)據(jù)記錄文件將原始數(shù)據(jù)塊作為一個記錄來重新讀取,無需讀取該記錄之前的所有記錄,因此簡化了數(shù)據(jù)查詢的過程;僅需記錄號就可訪問記錄,因此可更快更方便地隨機(jī)訪問數(shù)據(jù)記錄文件。
創(chuàng)建數(shù)據(jù)記錄文件時,labview按順序給每個記錄分配一個記錄號。每次運(yùn)行相關(guān)的vi時,labview會將記錄寫入數(shù)據(jù)記錄文件將記錄寫入數(shù)據(jù)記錄文件后,將無法覆蓋該記錄。讀取數(shù)據(jù)記錄文件時,可一次讀取一個或多個記錄。
labview還提供了獨(dú)特的測量文件格式。測量文件包括基于文本的測量文件(lvm文件)和二進(jìn)制測量文件(tdm文件、tdms文件)。
基于文本的測量文件(.lvm文件)包括由寫入測量文件express vi生成的數(shù)據(jù)。該文件是用制表符分隔的文本文件,可在電子表格應(yīng)用程序或文本編輯應(yīng)用程序中打開。.lvm文件不僅包括由express vi生成的數(shù)據(jù),還包括該數(shù)據(jù)的相關(guān)信息,如生成數(shù)據(jù)的日期和時間等。在,lvm文件中,labview保存的數(shù)據(jù)精度可高達(dá)6位數(shù)。lvm文件用逗號作為數(shù)字的分隔符。如需將.lvm文件中的數(shù)據(jù)從字符串轉(zhuǎn)化為數(shù)值,可用本地化代碼格式說明符將句點(diǎn)指定為小數(shù)點(diǎn)分隔符。
二進(jìn)制測量文件(.tdms文件和.tdm文件)包括由寫入測量文件express vi或
熱門點(diǎn)擊
- LabVIEW的寫入電子表格文件
- LabVIEW的XY圖顯示實(shí)例
- LabVIEW的公式節(jié)點(diǎn)
- LabVIEW的波形圖表顯示實(shí)例
- LabVIEW的組合框
- LabVIEW的讀取電子表格文件
- LabVIEW創(chuàng)建一維數(shù)組
- LabVIEW的布爾型數(shù)據(jù)
- LabVIEW的寫入測量文件
- LabVIEW的移位寄存器
推薦技術(shù)資料
- 聲道前級設(shè)計特點(diǎn)
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細(xì)]
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究