版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、虛擬儀器設計與應用,光電工程系,第十六講 文件 I/O,文件 I/O:傳遞數(shù)據(jù)到文件中和從文件中讀取數(shù)據(jù) 文件類型 文本文件(.txt) 二進制文件(.dat) 數(shù)據(jù)記錄文件(.dat) 電子表格文件(.xls;.txt):一種特殊的文本文件 波形文件(.dat):特殊的數(shù)據(jù)記錄文件 LabVIEW測量文件(.lvm) 每種類型的文件操作都有專門的VI與之對應,讀/寫文件的一般步驟,新建或打開一個文件 寫入數(shù)據(jù)或讀出數(shù)據(jù) 關閉文件 這三步對各種類型的文件都適用 每個步驟都有對應的VI或函數(shù),File I/O模板,位置: Functions All Functions File I/O,File
2、 I/O模板(續(xù)),位置: FunctionsAll functions Waveform Waveform File I/O,File I/O (續(xù)),文件讀寫操作有兩種實現(xiàn)辦法 用各種類型的專用VI。一個VI就包含了文件讀寫操作的三個步驟。 用低級VI。文件讀寫操作的每一步驟都用一個專門VI實現(xiàn)。,文本文件,電子表格 文件,二進制文件,波形文件,低級VI,*.lvm文件,使用高層函數(shù)保存文本文件,格式化字符串函數(shù) Format into string 寫字符串文件函數(shù) Write Characters to File 格式化文件函數(shù) Format into File 作用為上述Format
3、 into string + Write Characters to File 同樣的效果,不同的是不能向文件后追加數(shù)據(jù)。 Write Characters to File是高層文件操作函數(shù),每執(zhí)行一次都要打開寫入關閉,效率低。,舉例文本文件的輸入 低層函數(shù)保存文本文件,File I/O的基本VI,File I/O分三個步驟 打開/新建文件 讀/寫文件 關閉文件,對應的三個基本VI Open/Create/Replace File VI Read File VI / Write File VI Close File VI,Open/Create/Replace File VI, 打開/新建文件
4、VI,Read File VI / Write File VI, 讀/寫文件VI,Close File VI 關閉文件VI,Open/Create/Replace File 打開/新建文件VI,功能:打開已有文件,或創(chuàng)建新文件,或替換已有文件。 輸入端口 Pattern :文件類型模板,字符串型。用于過濾顯示在“文件”對話框中的文件類型。例如*.txt,表示在“文件”對話框中只顯示所有txt文件。多個模板用“;”分隔,中間不要留空格,如*.txt;*.dat。 prompt :提示;字符串型。顯示在“文件”對話框中文件列表、目錄或文件夾上方的提示信息。 file path :文件路徑,路徑型。
5、即要打開/創(chuàng)建/替換的文件的路徑。如果該輸入端口為空或等于,該函數(shù)將打開一個對話框以便選擇文件的路徑。,Pattern文件類型,prompt提示,Default name 缺省文件名,Open/Create/Replace File,輸入端口 start path :起始路徑,路徑型。是“文件”對話框打開時顯示的默認目錄或文件夾的路徑名。缺省值為,此時使用最近一次顯示的路徑名。 function :功能,枚舉型。用于定義該函數(shù)的功能。功能表如下:,Open/Create/Replace File,輸入端口 error in :錯誤輸入簇,簇型。 default name :顯示在“文件”對話框
6、中的缺省文件名,字符串型。缺省值為空字符串。 advisory dialog? :權限提示;邏輯型,當它等于TRUE時,如果function端口等于0或4并且文件不存在,或者function端口等于2或3并且文件已存在,那么該VI將彈出一個對話框。缺省值為TRUE。,Open/Create/Replace File,輸出端口 refnum :文件標識,句柄型。打開或創(chuàng)建的文件的句柄標識,通過它可實現(xiàn)對該文件的訪問。如果文件不能打開,該端口返回一個Not A Refnum 值。 new file path :打開或創(chuàng)建的文件的路徑,路徑型。如果選擇了“文件”對話框的Cancel 按鈕,該端口返回
7、一個 值。 file size :文件大小,以字節(jié)為單位,數(shù)值型。 error out :錯誤輸出簇,簇型。,Read File 讀文件VI,功能:從文件中讀取數(shù)據(jù)。 輸入端口 convert eol:行尾轉(zhuǎn)換標志,邏輯型,該端口決定是否將文件行尾標志轉(zhuǎn)換為LabVIEW的行尾標志。如果該端口為TRUE,則轉(zhuǎn)換,反之則不轉(zhuǎn)換。缺省值為FALSE。(注意:該參數(shù)只適用文本文件) line mode:邏輯型,該端口決定何時停止讀取操作。如果為TRUE,該函數(shù)一直讀取到行尾或文件尾,如果指定了讀取的數(shù)量,則讀取指定數(shù)量的數(shù)據(jù)。如果為FALSE,該函數(shù)只讀取指定數(shù)量的數(shù)據(jù),若沒有指定數(shù)量則不讀取數(shù)據(jù)。
8、缺省值為FALSE。(注意:該參數(shù)只適用文本文件) refnum:文件標識,句柄類型。,Read File(續(xù)),輸入端口 pos mode:起點位置,枚舉型。 pos offset :位置偏移量,整型。以pos mode為參考位置,字節(jié)為單位。讀取數(shù)據(jù)的起始位置由pos mode和pos offset 兩個參數(shù)共同確定。 error in :錯誤輸入簇,簇型。,Read File(續(xù)),輸入端口 count:需讀取的數(shù)據(jù)數(shù)量。 byte stream type:整型,用于指明該函數(shù)從字節(jié)流文件中讀取數(shù)據(jù)時應當使用的類型。(二進制文件和文本文件都是字節(jié)流文件) 輸出端口 dup refnum:
9、文件標識復件,句柄類型。 data:輸出數(shù)據(jù),讀取返回的數(shù)據(jù)。 offset:起點偏移量,整型,用于指明文件標志相對文件起始點的新位置。 error out:錯誤輸出簇。,Write File 寫文件VI,功能:寫數(shù)據(jù)到文件中。 輸入端口 convert eol:行尾轉(zhuǎn)換標志,邏輯型,該端口決定是否將文件行尾標志轉(zhuǎn)換為LabVIEW的行尾標志。如果該端口為TRUE,則轉(zhuǎn)換,反之不轉(zhuǎn)換。缺省值為FALSE。(注意:該參數(shù)只適用文本文件) header:寫頭文件,邏輯型,當要寫入文件的數(shù)據(jù)是字符串或數(shù)組時,可以設置該參數(shù)。該參數(shù)為TRUE時,函數(shù)自動增加一個文件頭,若為FALSE則不加。 refn
10、um:文件標識,句柄類型。,Write File(續(xù)),輸入端口 pos mode:起點位置,枚舉型。 pos offset :位置偏移量,整型。以pos mode為參考位置,字節(jié)為單位。讀取數(shù)據(jù)的起始位置由pos mode和pos offset 兩個參數(shù)共同確定。 error in :錯誤輸入簇,簇型。 data:需要寫入到文件中的數(shù)據(jù)。類型任意。,Write File(續(xù)),輸出端口 dup refnum:文件標識復件,句柄類型。 offset:起點偏移量,整型,用于指明文件標志相對文件起始點的新位置。 error out:錯誤輸出簇。,Close File 關閉文件VI,功能:關閉打開的
11、文件并返回該文件的路徑 圖標 輸入端口 refnum:文件標識,句柄類型。 error in:錯誤輸入簇,簇型。 輸出端口 path:文件路徑 error out:錯誤輸出簇,簇型。,Write To Spreadsheet File VI 寫電子表格文件VI,該VI的功能:將一維或二維數(shù)組轉(zhuǎn)換成字符串然后寫入到新字節(jié)流文件或追加到已有文件中。 位置: Functions All Functions File I/O 圖標,(續(xù)),輸入端口 format:格式,字符串型,數(shù)字轉(zhuǎn)換為字符串的格式定義。 file path:路徑型,文件全路徑,空時為對話框。 2D data:單精度二維數(shù)組 1D
12、data:單精度一維數(shù)組 Append to File?:添加至文件,邏輯型,是否追加到文件末尾。TRUE,追加;FALSE,不追加。 transpose?:轉(zhuǎn)置,邏輯型,是否將數(shù)組轉(zhuǎn)置。 delimiter:字符串型,字符之間的分隔符。 輸出端口 New File Path:新建文件路徑,路徑型,返回的文件路徑。取消為非法,Read From Spreadsheet File 讀電子表格文件VI,功能:從電子表格文件中讀取數(shù)據(jù)并將其轉(zhuǎn)換為一維或二維數(shù)組。 位置: Functions All Functions File I/O 圖標,(續(xù)),輸入端口 format:格式,字符串型,字符串的格
13、式定義。 file path:路徑型,文件全路徑,空時為對話框。 number of rows :讀取的最大行數(shù),整型。它0,讀取整個文件,全部:-1。 start of read offset :讀取的起點偏移量,整型。以字節(jié)為單位。 max characters/row:每行讀取字符的最大個數(shù),整型,無限制:0。 transpose:轉(zhuǎn)置,邏輯型,是否將數(shù)組轉(zhuǎn)置,無轉(zhuǎn)置:F。 delimiter:分隔符,字符串型,字符之間的分隔符,(t)。,輸出端口 New File Path:新建文件路徑,路徑型,返回的文件路徑,取消為非法。 all rows:所有行,單精度型2D數(shù)組,返回的數(shù)據(jù)。 f
14、irst row :第1行,單精度型1D數(shù)組,返回的第一行數(shù)據(jù)。 mark after read:讀后標記(字符),整型,讀取后文件標志的位置。 EOF?:錯誤簇,邏輯型,讀取是否超出文件末尾,TRUE,超出;FALSE,沒有超出,其他專用VI,Write Characters to File.VI(寫字符文件VI) Write to SGL file.VI(寫波形文件VI),讀/寫LabVIEW測量文件,LabVIEW測量文件(*.lvm)也是一種文本文件 它的讀寫可以用兩個Express VI實現(xiàn) Read LabVIEW Measurement File Write LabVIEW Me
15、asurement File,Write LabVIEW Measurement File,Read LabVIEW Measurement File,讀寫示例,寫 LVM 文件,讀 LVM 文件,演示文件的讀寫操作,File Dialog 函數(shù) 對話框VI,功能:顯示一個對話框,讓用戶選擇文件路徑或目錄 輸入端口 button label:字符串型,顯示在文件對話框的OK按鈕或Select Cur Dir按鈕上的標簽。 prompt:字符串型,顯示在文件對話框的文件列表或目錄下的提示信息 start path:路徑類型,打開文件對話框時,默認顯示的路徑。如果該參數(shù)為空,則默認路徑為最近一次顯
16、示的路徑。,File Dialog(續(xù)),輸入端口 select mode:枚舉型,設置 用戶在文件對話框中可以選擇的文件類型或目錄。有如下選項:,File Dialog(續(xù)),輸入端口 default name:缺省名,字符串型,顯示在文件對話框中的缺省文件或目錄名。缺省值為空字符串。 pattern:文件類型模板,字符串型。用于過濾顯示在“文件”對話框中的文件類型。例如*.txt,表示在“文件”對話框中只顯示所有txt文件。多個模板用“;”分隔,中間不要留空格,如*.txt;*.dat。 datalog type:整型,限制文件對話框只能顯示指定數(shù)據(jù)類型的數(shù)據(jù)記錄文件。 pattern l
17、abel:標簽,字符串型,文件類型模板的標簽。,File Dialog(續(xù)),輸出端口 path:路徑,路徑型,返回選擇的文件的全路徑。如果用戶選擇了“取消”按鈕,該函數(shù)將返回值。 exists:已建文件,邏輯型,如果Path參數(shù)返回的是一個已有的文件或目錄的路徑,該參數(shù)為TRUE。 cancelled:取消,邏輯型,如果用戶選擇了“取消”按鈕或出現(xiàn)錯誤,該參數(shù)為TRUE。,圖示說明,練習十(1) 溫度數(shù)據(jù)的記錄,目標: 記錄一段時間(一天,每隔半個小時測量一次)的環(huán)境監(jiān)測溫度,并將數(shù)據(jù)記錄到文件中(用三種方法分別保存為txt、dat、lvm文件)。 分析: 用隨機函數(shù)發(fā)生器模擬環(huán)境溫度的采集
18、,用For循環(huán)實現(xiàn)每隔半小時(以半秒表示半小時)采集一次溫度,采集時間自定(單位:天)。同時利用For循環(huán)的自動索引功能將這些溫度值記錄下來。然后用文件I/O函數(shù)將數(shù)據(jù)記錄到文件中。,前面板,框圖程序,補充說明,已監(jiān)測時間和天數(shù)的計算利用了Quotient & Remainder函數(shù)(求商和余數(shù)函數(shù)) 該函數(shù)的功能:求輸入端的整數(shù)商和余數(shù) 圖標 位置: Functions All Functions Numeric 端口 輸入端口:x是被除數(shù),y是除數(shù) 輸出端口:x-y*floor(x/y) 是余數(shù),floor(x/y) 是整數(shù)商,練習十(2)溫度歷史數(shù)據(jù)的分析,目標: 對記錄的溫度歷史數(shù)據(jù)進
19、行分析,求出這段時間內(nèi)的溫度最大,最小值和平均值。 分析:首先從保存的文件中讀出記錄的溫度數(shù)據(jù),然后用最大最小值函數(shù)求出溫度的最大、最小值,用平均值函數(shù)求溫度平均值。,Mean 求平均值VI,功能:求輸入序列的平均值 位置: Functions All Functions AnalyzeMathematicsProbability & Statistics 圖標 端口 輸入端口:X 是輸入的序列(一維數(shù)組) 輸出端口:mean是平均值;error 是錯誤代碼,Array Max & Min 數(shù)組最大與最小值,功能:返回輸入數(shù)組的最大最小值及其索引值。 位置: Functions All Functions Array 圖標,Array Max & Mi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年河南機電職業(yè)學院高職單招職業(yè)適應性考試備考題庫有答案解析
- 2026年撫州職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫帶答案解析
- 2026年北京社會管理職業(yè)學院高職單招職業(yè)適應性測試備考試題帶答案解析
- 2026年黑龍江生態(tài)工程職業(yè)學院高職單招職業(yè)適應性測試參考題庫帶答案解析
- 土地合作開發(fā)協(xié)議2025年爭議解決路徑
- 2026年鄂爾多斯生態(tài)環(huán)境職業(yè)學院單招綜合素質(zhì)考試備考試題帶答案解析
- 2026年廣西機電職業(yè)技術學院高職單招職業(yè)適應性測試備考試題帶答案解析
- 2026年德宏師范高等專科學校高職單招職業(yè)適應性測試模擬試題帶答案解析
- 2026年鄭州商學院單招綜合素質(zhì)筆試參考題庫附答案詳解
- 2026年廣東金融學院高職單招職業(yè)適應性測試備考題庫帶答案解析
- 槍械安全培訓試題及答案解析
- 內(nèi)分泌科醫(yī)師醫(yī)療質(zhì)量控制方案
- 澳洲簽證代理合同范本
- 科技論文寫作教案(2025-2026學年)
- 期末安全教育課件下載
- 華電電氣電機學期末考試試題及解答
- 煤制天然氣項目酚氨回收裝置項目施工方案
- 易制毒化學品管理條例培訓試卷與答案
- 消防裝備管理規(guī)定
- 醫(yī)院保潔開荒合同(標準版)
- 2025國開本科《公共部門人力資源管理》期末歷年真題(含答案)
評論
0/150
提交評論