基于LabVIEW串口通信的數(shù)據(jù)采集串口收錄系統(tǒng)設(shè)計(jì)
LabVIEW收錄系統(tǒng)程序流程圖如圖3所示。按下開(kāi)始讀取按鈕后,程序進(jìn)行串口配置,串口配置好后通信分兩路實(shí)現(xiàn),分別用于數(shù)據(jù)讀取和數(shù)據(jù)存儲(chǔ):讀取的數(shù)據(jù)顯示在波形圖標(biāo)中;數(shù)據(jù)以二進(jìn)制格式.dat文件存儲(chǔ)在硬盤(pán)中。存儲(chǔ)之前程序彈出對(duì)話框讓用戶指定存儲(chǔ)路徑。波形顯示采集數(shù)據(jù)的同時(shí),還可以回放之前已存儲(chǔ)的數(shù)據(jù)文件,實(shí)現(xiàn)采集和回放同時(shí)進(jìn)行。
3.2.1 上位機(jī)軟件實(shí)現(xiàn)過(guò)程
軟件編寫(xiě)要用到VISA Configure Serial Port.vi、VISA Property Node.vi、VISA read.vi、VISA Close.vi、Write To Binary File.vi及Graph Chart.vi[1]。其功能分別是:
(1)VISA Configure Serial Port.vi用于串口配置,如串口資源名、波特率、數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等的設(shè)置。
(2)VISA Property Node.vi用于讀取屬性,將接收到的數(shù)據(jù)全部讀出來(lái)。
(3)VISA Read.vi用于讀取串口接收來(lái)的數(shù)據(jù)。
(4)VISA Close.vi釋放串口資源,關(guān)閉函數(shù)。
(5)Write To Binary File.vi將接收數(shù)據(jù)以二進(jìn)制形式保存起來(lái)。
(6)Graph Chart.vi用于顯示采集波形。
3.2.2 LabVIEW系統(tǒng)界面和程序
根據(jù)上位機(jī)軟件設(shè)計(jì)流程圖,利用NI公司的可視化編程軟件LabVIEW編寫(xiě)完成的系統(tǒng)界面如圖4所示。運(yùn)行前,用戶只需設(shè)置串口資源,選擇串口號(hào)、波特率大小、傳輸數(shù)據(jù)位數(shù)、停止位、校驗(yàn)位等。串口工作在方式1,傳輸1幀信息為10 bit,其中1 bit起始位、8 bit數(shù)據(jù)位(先低位后高位)、1 bit停止位[4]。
圖4上面部分為開(kāi)始讀數(shù)據(jù)、停止讀取、回放、停止回放和退出系統(tǒng)5個(gè)控制按鍵。兩個(gè)圖形控件分別顯示讀取波形和回放波形,讀取值以數(shù)字形式顯示在讀取值窗口。系統(tǒng)界面還可以利用LabVIEW自身強(qiáng)大的數(shù)據(jù)處理能力,借助內(nèi)部處理函數(shù)進(jìn)行波形調(diào)理、波形測(cè)量、FFT變換和濾波等。
4 測(cè)試與結(jié)論
將下位機(jī)程序下載到單片機(jī),打開(kāi)電源,按下采集獨(dú)立按鍵,給MAX306某通道加上2 V左右的電壓信號(hào),測(cè)得結(jié)果如圖4所示。借助信號(hào)發(fā)生器給單片機(jī)輸入-10 V~+10 V范圍內(nèi)的任意波形,在上位機(jī)均可得到相應(yīng)波形。
本文利用單片機(jī)采集數(shù)據(jù),使用LabVIEW編寫(xiě)串口接收數(shù)據(jù)界面,將結(jié)果以二進(jìn)制.dat格式存儲(chǔ)起來(lái),帶查看回放功能,較好地實(shí)現(xiàn)了數(shù)據(jù)采集的實(shí)時(shí)顯示和存儲(chǔ),達(dá)到了系統(tǒng)的設(shè)計(jì)要求和預(yù)期目標(biāo)。該LabVIEW顯示界面可應(yīng)用于其他具有串口接口的數(shù)據(jù)采集系統(tǒng),目前已應(yīng)用于航空物探部分?jǐn)?shù)據(jù)的收錄。 雙控開(kāi)關(guān)相關(guān)文章:雙控開(kāi)關(guān)原理
評(píng)論