閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

基于LabVIEW的外置串口采集控制卡的研制

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

本文介紹了基于LabVIEW的外置串口采集控制卡的設(shè)計(jì)思想,詳細(xì)的分析了采集控制卡的研制過程,并給出了LabVIEW的具體程序設(shè)計(jì)。 引言 目前虛擬儀器開發(fā)廣泛應(yīng)用的是美國N...

    本文介紹了基于LabVIEW的外置串口采集控制卡的設(shè)計(jì)思想,詳細(xì)的分析了采集控制卡的研制過程,并給出了LabVIEW的具體程序設(shè)計(jì)。

  引言

  目前虛擬儀器開發(fā)廣泛應(yīng)用的是美國NI公司的LabVIEW開發(fā)平臺。LabVIEW軟件隱含了對設(shè)計(jì)虛擬儀器時所面臨的多種困難的考慮、簡化了設(shè)計(jì)過程,對于開發(fā)虛擬儀器相當(dāng)方便,但因其硬件卡昂貴,影響了虛擬儀器在國內(nèi)的推廣使用。因而,本文提出了采用LabVIEW虛擬儀器開發(fā)平臺,自行設(shè)計(jì)硬件卡。

  設(shè)計(jì)中利用單片機(jī)作為下位機(jī),采用標(biāo)準(zhǔn)RS-232串口與PC機(jī)通訊來構(gòu)建采集控制系統(tǒng)。上位機(jī)通過發(fā)送控制采集命令實(shí)行采集控制卡的通道選擇、量程選擇、數(shù)據(jù)采集等,然后將采集到的數(shù)據(jù)通過串口傳輸給PC機(jī)實(shí)現(xiàn)數(shù)據(jù)的存儲、分析。此外基于串口開發(fā)的采集控制卡還因具有熱插拔的優(yōu)點(diǎn)而具有很強(qiáng)的實(shí)用性。

  外置串口采集控制系統(tǒng)構(gòu)成

  外置串口采集控制系統(tǒng)主要由下位機(jī)硬/軟件以及上位機(jī)控制軟件兩部分構(gòu)成。下位機(jī)通過接收PC機(jī)命令來執(zhí)行相應(yīng)的操作,例如數(shù)據(jù)采集通道的選擇、輸入電壓范圍的選擇、或是其他量的選擇(如溫度、濕度等)。上位機(jī)軟件主要是發(fā)送控制命令,接收、顯示、存儲以及處理數(shù)據(jù)。其中,數(shù)據(jù)的傳輸采用了數(shù)據(jù)幀格式進(jìn)行,通過識別幀頭標(biāo)志位等規(guī)則來保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,本設(shè)計(jì)中是通過結(jié)合MAXIM公司所提供的A/D轉(zhuǎn)換器MAX197來實(shí)現(xiàn)的。

  采集控制卡硬件設(shè)計(jì)

  本設(shè)計(jì)硬件電路以單片機(jī)89C51為控制核心,通過RS-232與PC機(jī)通訊,實(shí)現(xiàn)整個數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)采集控制以及數(shù)據(jù)處理和存儲。單片機(jī)通過接收PC機(jī)指令來控制MAX197,其中A/D采集以中斷方式進(jìn)行??刂瓶ㄓ布娐方Y(jié)構(gòu)如圖1所示。

采集控制卡硬件結(jié)構(gòu)簡圖

 

圖1 采集控制卡硬件結(jié)構(gòu)簡圖

  采集控制卡軟件設(shè)計(jì)

  單片機(jī)通過從串口接收通道、量程選擇命令來執(zhí)行相應(yīng)通道、量程的數(shù)據(jù)采集,然后將數(shù)據(jù)采集的結(jié)果以數(shù)據(jù)幀的格式發(fā)送給PC機(jī)。兩個字節(jié)的幀頭標(biāo)志、以及兩個字節(jié)的A/D轉(zhuǎn)換結(jié)果合稱為一幀數(shù)據(jù)。單片機(jī)軟件設(shè)計(jì)流程如圖2所示。

單片機(jī)程序流程圖

 

圖2 單片機(jī)程序流程圖

  上位機(jī)控制處理程序設(shè)計(jì)

  上位機(jī)控制處理程序在LabVIEW平臺上進(jìn)行開發(fā),LabVIEW程序由兩部分組成:前面板和程序框圖。

  LabVIEW前面板的功能等效于傳統(tǒng)儀器前面板,它不僅可以模擬眾多的傳統(tǒng)儀器,而且可以模擬因?yàn)榻Y(jié)構(gòu)復(fù)雜而不可實(shí)現(xiàn)的傳統(tǒng)概念儀器,因此,設(shè)計(jì)具有很大的靈活性。本次設(shè)計(jì)的前面板包括通訊端口、方式等的設(shè)置,對采集控制卡的配置,當(dāng)前采集轉(zhuǎn)換結(jié)果顯示,采集轉(zhuǎn)換結(jié)果實(shí)時動態(tài)監(jiān)控,以及將采集轉(zhuǎn)換結(jié)果寫入Excel文件的設(shè)置等內(nèi)容。

  前面板有如儀器的外形設(shè)計(jì),而程序框圖就是儀器的內(nèi)部電路,是設(shè)計(jì)的核心部分。LabVIEW方便之處就是能很方便的將流程圖轉(zhuǎn)換為圖形編程語言。流程圖中的循環(huán)可以直接調(diào)用LabVIEW中的While循環(huán),順序執(zhí)行可以調(diào)用LabVIEW中Sequence Structure(順序結(jié)構(gòu)),條件執(zhí)行則可以調(diào)用LabVIEW中Case Structure(選擇結(jié)構(gòu))。程序流程圖設(shè)計(jì)如圖3所示。LabVIEW所采用的是并行執(zhí)行結(jié)構(gòu),主流程圖中橫虛線上方的左右兩邊為同時執(zhí)行的兩個獨(dú)立的單元。

程序流程圖

 

圖3 程序流程圖

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

  在LabVIEW中,實(shí)現(xiàn)串口通訊方式有直接調(diào)用NI公司提供的Serial系列子VI; VISA串行系列(位于Functions->All Functions->Instrument I/O->serial中);采用Active X控件來控制訪問串行口(先向LabVIEW中添加一個Active X Container控件,然后向其中添加MSComm控件)三種方式。本次設(shè)計(jì)采用了第二種方式來訪問和控制串行口,即通過調(diào)用功能模板的VISA中的Serial系列(包含VISA Configure Serial、VISA Write、VISA Read、VISA Close)來實(shí)現(xiàn)對串行口的訪問和控制。采用該方式設(shè)計(jì)的優(yōu)點(diǎn)是:每個函數(shù)開始接收一個端口號,結(jié)束后輸出一個其復(fù)制的端口號,這樣在設(shè)計(jì)中就不用擔(dān)心對于一個端口有遺忘或是重復(fù)的操作,從而使程序設(shè)計(jì)更加清晰。
 

 LabVIEW中對于串行口的讀寫都是以字符為單位傳輸其ASCII碼來實(shí)現(xiàn)的,因而需將需要傳輸?shù)臄?shù)據(jù)字符轉(zhuǎn)換成對應(yīng)的ASCII碼。本設(shè)計(jì)通過調(diào)用CIN (代碼接口接點(diǎn))將C語言程序嵌入到整個設(shè)計(jì)中,然后采用LabVIEW與C語言混合編程來實(shí)現(xiàn)所需的功能(CIN在LabVIEW中的調(diào)用路徑為Functions→All Functions→Advanced→Code InteRFace Node)。

  本設(shè)計(jì)中首先將采集控制系統(tǒng)的通道號和量程發(fā)送給下位機(jī),然后程序進(jìn)入到相應(yīng)的數(shù)據(jù)接收處理程序。在數(shù)據(jù)接收過程中采用了數(shù)據(jù)幀方式:下位機(jī)將對應(yīng)通道號、相應(yīng)量程的采集結(jié)果以一幀數(shù)據(jù)為單位循環(huán)發(fā)送給PC機(jī),PC機(jī)通過判斷幀頭來識別數(shù)據(jù),從而提高數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。幀數(shù)據(jù)格式如下:

幀數(shù)據(jù)格式

 

  前面兩個字節(jié)數(shù)據(jù)0xAA和0xAB為幀頭標(biāo)志,DATA1和DATA0為采集結(jié)果,但并非為最終的結(jié)果,它們?nèi)孕枰鄳?yīng)的處理(該處理在服務(wù)子程序中進(jìn)行)。

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

  根據(jù)流程圖設(shè)計(jì)的采集控制系統(tǒng)程序框圖如圖4所示。

采集控制系統(tǒng)程序框圖

 

圖4 采集控制系統(tǒng)程序框圖

  系統(tǒng)測試

  將采集控制系統(tǒng)硬件、軟件按要求設(shè)計(jì)好后,運(yùn)行控制軟件,先對采集控制系統(tǒng)進(jìn)行相應(yīng)的配置,然后可以實(shí)時觀看某個通道的電壓值。調(diào)節(jié)輸入電壓,通過實(shí)時監(jiān)控界面可以觀看到輸入電壓的變化過程。程序運(yùn)行結(jié)束后,可以在程序的安裝目錄下找到一個由先前配置所命名的Excel文件,打開這個文件就可以看到采集到的所有數(shù)據(jù)(包括通道號、量程、采集數(shù)據(jù)及所采集數(shù)據(jù)序號信息)。通過測試表明,采集控制系統(tǒng)操作簡單、方便,采集數(shù)據(jù)準(zhǔn)確、價格低廉,且有熱插拔優(yōu)點(diǎn)。

  結(jié)語

  因?yàn)镹I公司所提供的數(shù)據(jù)采集卡價格昂貴,對用戶來說,自主研制基于LabVIEW的采集控制卡在實(shí)際中有很大的意義,采用LabVIEW平臺來實(shí)現(xiàn),很大程度上簡化了設(shè)計(jì),希望本文能給眾多設(shè)計(jì)者帶來新的設(shè)計(jì)概念。
 

 

轉(zhuǎn)載請注明出處。

暫無關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
③ 任何單位或個人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請及時向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評
0相關(guān)評論
精彩導(dǎo)讀