閱讀 | 訂閱
閱讀 | 訂閱
控製係統

基於LabVIEW的外置串口采集控製卡的研製

星之球激光 來源:與(yu) 非網2012-01-14 我要評論(0 )   

本文介紹了基於(yu) LabVIEW的外置串口采集控製卡的設計思想,詳細的分析了采集控製卡的研製過程,並給出了LabVIEW的具體(ti) 程序設計。 引言 目前虛擬儀(yi) 器開發廣泛應用的是美國N...

    本文介紹了基於(yu) LabVIEW的外置串口采集控製卡的設計思想,詳細的分析了采集控製卡的研製過程,並給出了LabVIEW的具體(ti) 程序設計。

  引言

  目前虛擬儀(yi) 器開發廣泛應用的是美國NI公司的LabVIEW開發平台。LabVIEW軟件隱含了對設計虛擬儀(yi) 器時所麵臨(lin) 的多種困難的考慮、簡化了設計過程,對於(yu) 開發虛擬儀(yi) 器相當方便,但因其硬件卡昂貴,影響了虛擬儀(yi) 器在國內(nei) 的推廣使用。因而,本文提出了采用LabVIEW虛擬儀(yi) 器開發平台,自行設計硬件卡。

  設計中利用單片機作為(wei) 下位機,采用標準RS-232串口與(yu) PC機通訊來構建采集控製係統。上位機通過發送控製采集命令實行采集控製卡的通道選擇、量程選擇、數據采集等,然後將采集到的數據通過串口傳(chuan) 輸給PC機實現數據的存儲(chu) 、分析。此外基於(yu) 串口開發的采集控製卡還因具有熱插拔的優(you) 點而具有很強的實用性。

  外置串口采集控製係統構成

  外置串口采集控製係統主要由下位機硬/軟件以及上位機控製軟件兩(liang) 部分構成。下位機通過接收PC機命令來執行相應的操作,例如數據采集通道的選擇、輸入電壓範圍的選擇、或是其他量的選擇(如溫度、濕度等)。上位機軟件主要是發送控製命令,接收、顯示、存儲(chu) 以及處理數據。其中,數據的傳(chuan) 輸采用了數據幀格式進行,通過識別幀頭標誌位等規則來保證數據傳(chuan) 輸的準確性,本設計中是通過結合MAXIM公司所提供的A/D轉換器MAX197來實現的。

  采集控製卡硬件設計

  本設計硬件電路以單片機89C51為(wei) 控製核心,通過RS-232與(yu) PC機通訊,實現整個(ge) 數據采集係統的數據采集控製以及數據處理和存儲(chu) 。單片機通過接收PC機指令來控製MAX197,其中A/D采集以中斷方式進行。控製卡硬件電路結構如圖1所示。

采集控製卡硬件結構簡圖

 

圖1 采集控製卡硬件結構簡圖

  采集控製卡軟件設計

  單片機通過從(cong) 串口接收通道、量程選擇命令來執行相應通道、量程的數據采集,然後將數據采集的結果以數據幀的格式發送給PC機。兩(liang) 個(ge) 字節的幀頭標誌、以及兩(liang) 個(ge) 字節的A/D轉換結果合稱為(wei) 一幀數據。單片機軟件設計流程如圖2所示。

單片機程序流程圖

 

圖2 單片機程序流程圖

  上位機控製處理程序設計

  上位機控製處理程序在LabVIEW平台上進行開發,LabVIEW程序由兩(liang) 部分組成:前麵板和程序框圖。

  LabVIEW前麵板的功能等效於(yu) 傳(chuan) 統儀(yi) 器前麵板,它不僅(jin) 可以模擬眾(zhong) 多的傳(chuan) 統儀(yi) 器,而且可以模擬因為(wei) 結構複雜而不可實現的傳(chuan) 統概念儀(yi) 器,因此,設計具有很大的靈活性。本次設計的前麵板包括通訊端口、方式等的設置,對采集控製卡的配置,當前采集轉換結果顯示,采集轉換結果實時動態監控,以及將采集轉換結果寫(xie) 入Excel文件的設置等內(nei) 容。

  前麵板有如儀(yi) 器的外形設計,而程序框圖就是儀(yi) 器的內(nei) 部電路,是設計的核心部分。LabVIEW方便之處就是能很方便的將流程圖轉換為(wei) 圖形編程語言。流程圖中的循環可以直接調用LabVIEW中的While循環,順序執行可以調用LabVIEW中Sequence Structure(順序結構),條件執行則可以調用LabVIEW中Case Structure(選擇結構)。程序流程圖設計如圖3所示。LabVIEW所采用的是並行執行結構,主流程圖中橫虛線上方的左右兩(liang) 邊為(wei) 同時執行的兩(liang) 個(ge) 獨立的單元。

程序流程圖

 

圖3 程序流程圖

  本次設計的圖形編程可以分為(wei) 串口通訊、數據接收以及文件讀寫(xie) 三個(ge) 部分。

  在LabVIEW中,實現串口通訊方式有直接調用NI公司提供的Serial係列子VI; VISA串行係列(位於(yu) Functions->All Functions->Instrument I/O->serial中);采用Active X控件來控製訪問串行口(先向LabVIEW中添加一個(ge) Active X Container控件,然後向其中添加MSComm控件)三種方式。本次設計采用了第二種方式來訪問和控製串行口,即通過調用功能模板的VISA中的Serial係列(包含VISA Configure Serial、VISA Write、VISA Read、VISA Close)來實現對串行口的訪問和控製。采用該方式設計的優(you) 點是:每個(ge) 函數開始接收一個(ge) 端口號,結束後輸出一個(ge) 其複製的端口號,這樣在設計中就不用擔心對於(yu) 一個(ge) 端口有遺忘或是重複的操作,從(cong) 而使程序設計更加清晰。
 

 LabVIEW中對於(yu) 串行口的讀寫(xie) 都是以字符為(wei) 單位傳(chuan) 輸其ASCII碼來實現的,因而需將需要傳(chuan) 輸的數據字符轉換成對應的ASCII碼。本設計通過調用CIN (代碼接口接點)將C語言程序嵌入到整個(ge) 設計中,然後采用LabVIEW與(yu) C語言混合編程來實現所需的功能(CIN在LabVIEW中的調用路徑為(wei) Functions→All Functions→Advanced→Code InteRFace Node)。

  本設計中首先將采集控製係統的通道號和量程發送給下位機,然後程序進入到相應的數據接收處理程序。在數據接收過程中采用了數據幀方式:下位機將對應通道號、相應量程的采集結果以一幀數據為(wei) 單位循環發送給PC機,PC機通過判斷幀頭來識別數據,從(cong) 而提高數據傳(chuan) 輸的準確性。幀數據格式如下:

幀數據格式

 

  前麵兩(liang) 個(ge) 字節數據0xAA和0xAB為(wei) 幀頭標誌,DATA1和DATA0為(wei) 采集結果,但並非為(wei) 最終的結果,它們(men) 仍需要相應的處理(該處理在服務子程序中進行)。

  采集到的數據要轉換為(wei) 實際電壓值後,再進行顯示、存儲(chu) 。本設計可以很方便的把每個(ge) 實際電壓值存儲(chu) 到Excel文件中,以便於(yu) 查看和處理。而且在存儲(chu) 的過程中可以將通道號、量程、采集數據序號信息都寫(xie) 入文件,這樣,就很容易生成報表輸出。

  根據流程圖設計的采集控製係統程序框圖如圖4所示。

采集控製係統程序框圖

 

圖4 采集控製係統程序框圖

  係統測試

  將采集控製係統硬件、軟件按要求設計好後,運行控製軟件,先對采集控製係統進行相應的配置,然後可以實時觀看某個(ge) 通道的電壓值。調節輸入電壓,通過實時監控界麵可以觀看到輸入電壓的變化過程。程序運行結束後,可以在程序的安裝目錄下找到一個(ge) 由先前配置所命名的Excel文件,打開這個(ge) 文件就可以看到采集到的所有數據(包括通道號、量程、采集數據及所采集數據序號信息)。通過測試表明,采集控製係統操作簡單、方便,采集數據準確、價(jia) 格低廉,且有熱插拔優(you) 點。

  結語

  因為(wei) NI公司所提供的數據采集卡價(jia) 格昂貴,對用戶來說,自主研製基於(yu) LabVIEW的采集控製卡在實際中有很大的意義(yi) ,采用LabVIEW平台來實現,很大程度上簡化了設計,希望本文能給眾(zhong) 多設計者帶來新的設計概念。
 

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀