在軟件開發中,二進制文件格式相對于文本文件格式的缺點是,沒有文本文件通用性強、直觀,同時,在讀取文件數據時,用戶需要知道存儲數據的數據類型格式等,才可以準确還原文件内容,但是,二進制文件的優點也比較突出,如文件存取速度快、占用空間小,同時,也可有效保護自己的數據文件。
在上篇文章中已經詳細說了LabVIEW平台中文本文件的讀寫編程方法,這次通過例子再說下二進制文件的編程方法。
例1:入門例子例子要求:将1至16共16個32位的整型數字以二進制文件的格式存儲到計算機的D盤上,文件名稱為“test1.bin”,存儲完成後,立即讀出該文件内容,并顯示到前面闆的數組控件上。
程序運行後界面如下圖所示:
實現代碼如下:
用For循環産生32位的整型數字1-16,讀寫二進制文件同讀寫文本文件的步驟相同,依照着打開文件、讀寫文件、關閉文件的順序執行。
對于“寫入二進制文件”函數的主要參數說明如下:
本例字節順序使用的是大端序,存儲後文件内容以十六進制格式顯示如下,對于1-16之間的32位整型數字明顯看出,如對于數字1,低内存地上存儲的是數據的高位字節(00),而高内存地址上存儲的是數據的低位字節(01):
當以小端序存儲時,存儲後文件内容以十六進制格式顯示如下,其字節順序與大端序相反:
對于“讀取二進制文件”函數的主要參數說明如下:
以上篇文章中的例子說明,模拟一個實際的數據采集與存取場景。在例子中産生一個正弦波形數據,然後将波形數據以二進制文件的格式存儲到計算機的D盤上,文件名稱為“test2.bin”,波形數據點數為500點,采樣頻率為1000Hz,正弦信号頻率10Hz,幅值為5,文件中不僅包含了每個采樣點的數據值,也包含了采樣間隔信息。同樣,在存儲完成後,立即讀出該文件内容,将波形數據顯示到前面闆的波形圖控件上。
先看下程序運行後的界面:
實現代碼如下:
在文件中,調用了兩次“寫入二進制文件”函數,分别存儲采樣間隔dt和采樣數據Y。其中,在存儲Y時,與上例不同,這兒參數預置數組大小設為真,在讀取該文件時可以使用該值作為實際讀取Y元素的個數參數。
經分析,存儲後文件裡面的數據格式分别為:dt(4個字節,double型)、數組大小(4個字節,int32型)及數組Y(500個點的double型數組)。所以,在讀取波形數據時,也要按照這個格式進行讀取。例子中,調用了三次“讀取二進制文件”函數,分别讀取dt和數組大小和Y。
最後将dt和Y組合成一個波形數據輸出到波形圖控件上進行顯示即可。
結論LabVIEW中讀取二進制文件時,文件中的數據順序、類型必須與存儲時完全一緻,才能正确讀出文件中的數據。
大家加關注并私信回複:LabVIEW007,可獲取該文章對應的LabVIEW原程序下載。
歡迎加關注,共同交流。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!