新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > Labview字符串與文件I/O

Labview字符串與文件I/O

作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏

回到前面板,點擊“路徑”右邊的小圖標(biāo):

打開一個對話框,選擇文件的存儲路徑,如圖:

選擇完后,程序即可運行,運行結(jié)果如圖:打開記事本,即可看到寫入的文件,如圖:

此程序中利用了For循環(huán)自動索引的功能,一次產(chǎn)生了10個數(shù)據(jù),然后逐一寫入文本。正因為此,“寫入文本文件”是高層文件I/O操作函數(shù),高層文件I/O操作函數(shù)每調(diào)用一次就會實現(xiàn)創(chuàng)建或打開文件,讀寫文件,關(guān)閉文件的整個過程。如果需要向文件中連續(xù)寫入數(shù)據(jù),這樣的效率是非常低的。如果想要提高效率,可以采用底層文件I/O操作函數(shù)來實現(xiàn)寫文本文件。

例二:

使用底層文件I/O操作函數(shù)向文本文件寫入數(shù)據(jù)。

圖中框起來的便是底層文件I/O函數(shù)

前面板的構(gòu)建和例一類似,下面是程序框圖:

從途中可以看出,程序進(jìn)行循環(huán)后,文件則被打開,這樣就可以一直向文件中輸入數(shù)據(jù),直到循環(huán)結(jié)束,才關(guān)閉文件,它大大提高了寫文件的效率。

運行結(jié)果如圖:

從上圖可以看出,每兩個數(shù)字之間正好間隔一個Tab定界符。

例三:寫電子表格文件

“寫入電子表格文件”函數(shù)的應(yīng)用與“寫入文本文件”函數(shù)的應(yīng)用十分相似。它能直接寫入一維或是二維的數(shù)據(jù)。程序框圖如圖:

圖中Generate Waveform.vi也使LabVIEW自帶的一個VI,它與前面所講的Digital Thermometer.vi在同一個文件夾里,它是用于模擬產(chǎn)生抽樣信號的。該函數(shù)默認(rèn)的是將數(shù)據(jù)在表格中按行排列,那么一個二維數(shù)組的記錄則只有兩行,若在該接口中給其賦值“真”,則數(shù)據(jù)會按列排列。

運行結(jié)果如圖:

打開保存的電子表格文件,即可看到數(shù)據(jù)

例四:讀文本文件

該例采用在例一中保存的文件,程序框圖如圖:

說明:其中用到了一個LabVIEW自帶的子VI:Extract Numbers,它位于LabVIEW8.2→examples→general→strings,如圖:

單擊確定后,系統(tǒng)會彈出下面的對話框:

選擇Extract Numbers.vi,它的作用是提取由逗號,分行符號,非數(shù)值字符等分隔開的數(shù)據(jù)所組成的ASCII字符串,并將它們轉(zhuǎn)換成數(shù)值數(shù)組,用于將讀取的字符串轉(zhuǎn)換為雙精度數(shù)據(jù)類型的一維數(shù)組。運行結(jié)果如圖:

例五:另一種讀取文本文件的方法

上面的例子是用一個函數(shù)完成了,文件的打開,讀取,關(guān)閉。和寫入文本文件時一樣,我們也可以通過三個函數(shù)來實現(xiàn)以上的三個步驟,程序框圖如圖:

其中For循環(huán)默認(rèn)的是自動索引,在連線后,需將圖中框起來的兩個節(jié)點禁用索引。運行結(jié)果如圖:

例六:讀取電子表格文件

本例使用例三所產(chǎn)生的表格文件。

程序框圖如圖:

運行結(jié)果如圖:

從結(jié)果中可以看到,因為例三在生成表格文件時采用的格式為“%.3ft”,所以從該電子表格中讀取數(shù)據(jù)時,中間的一行空白LabVIEW會自動把它們默認(rèn)為0數(shù)組,從而在波形圖表中顯示的時候會出現(xiàn)中間的一行紅線。


上一頁 1 2 下一頁

關(guān)鍵詞: Labview字符串文件I

評論


技術(shù)專區(qū)

關(guān)閉