夏 鍇,楊增寶
XIA Kai, YANG Zeng-bao
(長(zhǎng)江師范學(xué)院 物理學(xué)與電子工程學(xué)院,涪陵 408100)
作為虛擬儀器開發(fā)平臺(tái)的LabVIEW(Laboratory Virtual Instrument Engineering Workbench)軟件因其具有直觀簡(jiǎn)便的編程方式、靈活的顯示特性、廣泛的兼容性等一系列優(yōu)點(diǎn)在新興電子儀器的設(shè)計(jì)[1~4]和信息傳送、接收等領(lǐng)域得到了越來越廣泛的應(yīng)用。例如利用串口RS232接口可實(shí)現(xiàn)電腦與單片機(jī)之間的信息的交互,因而在基于單片機(jī)的測(cè)控領(lǐng)域中,虛擬儀器技術(shù)的利用也得到了極大的發(fā)展,減少了傳統(tǒng)測(cè)量技術(shù)在硬件設(shè)備上的投資[5~9]。本文在對(duì)LabVIEW的VISA與單片機(jī)之間信息傳送的理論研究基礎(chǔ)上,針對(duì)串口發(fā)送的數(shù)據(jù)信息,設(shè)計(jì)了基于LabVIEW對(duì)串口送入的信息的接收、保存并顯示等的處理。
將計(jì)算機(jī)的串口數(shù)據(jù)連接到計(jì)算機(jī)的接收線,利用LabVIEW軟件特性將數(shù)據(jù)接收到計(jì)算機(jī)。串口通信線的連接時(shí)將2接收線與3腳發(fā)送線在兩通信端交差相連。
圖1 設(shè)計(jì)方框圖
如圖1所示為L(zhǎng)abVIEW設(shè)計(jì)方框圖。設(shè)置VISA串口相關(guān)參數(shù)主要對(duì)VISA配置串口中的波特率、數(shù)據(jù)比特、奇偶和流控制等的設(shè)置(本文中設(shè)定值分別為典型值9600、8、0、1.0)。
通信設(shè)置主要針對(duì)與單片機(jī)之前的信息交流前的準(zhǔn)備工作:比如向單片機(jī)發(fā)送一字符或字符串時(shí),單片機(jī)得到對(duì)應(yīng)代碼,把采集到的數(shù)據(jù)通過串口發(fā)送計(jì)算機(jī)。
信息的讀取主要對(duì)當(dāng)前的從串口中返回計(jì)算機(jī)的相關(guān)信息的后期處理:為了方便于不熟悉計(jì)算機(jī)操作的用戶,應(yīng)用LabVIEW讀寫文件的方便,指定在運(yùn)行LabVIEW文件的當(dāng)前文件夾[10]。用戶可直接打開“數(shù)據(jù)保存.txt”,即可查詢歷史時(shí)間的數(shù)據(jù)。顯示信息可以是對(duì)收到的瞬時(shí)信息顯示出來;其他附屬功能涉及在特定環(huán)境下的功能需求,例如報(bào)警提示,以及波形方式顯示在一定時(shí)間或空間范內(nèi)的數(shù)據(jù)波動(dòng)特點(diǎn)等。
圖3 第2幀程序圖
圖2為第1幀的程序圖:圖中為順序結(jié)構(gòu)中,一部分通過對(duì)VISA向串口發(fā)出指令:指令的內(nèi)容要與單片機(jī)約定一致:如發(fā)送0x32時(shí),單片機(jī)向串口送出溫度數(shù)據(jù)的采集結(jié)果,另一部分與寫對(duì)提示保存時(shí)間的提取做準(zhǔn)備工作。
第2幀程序方框如圖3所示。通過對(duì)接收到的數(shù)據(jù)按一組字符串進(jìn)行處理,進(jìn)行字符串長(zhǎng)度的識(shí)別,對(duì)每一個(gè)元素進(jìn)行索引取出分別進(jìn)行處理,組成一維數(shù)組,再轉(zhuǎn)換成字符輸出。保存文件時(shí)通過對(duì)“創(chuàng)建路徑”的特殊應(yīng)用,結(jié)合通過“打開/創(chuàng)建/替換文件”和“設(shè)置文件位置”控件的應(yīng)用,在運(yùn)行程序時(shí)自動(dòng)新建并保存或繼續(xù)保存在“數(shù)據(jù)保存.txt”文件中。將開始執(zhí)行的時(shí)刻起,對(duì)所得到的數(shù)據(jù)用趨勢(shì)圖顯示出來。設(shè)計(jì)在串口每次獲得的字符串轉(zhuǎn)為數(shù)值的方法采用“分?jǐn)?shù)/指數(shù)字符串至數(shù)值轉(zhuǎn)換”控件就可實(shí)現(xiàn),再將這些數(shù)據(jù)組建成數(shù)組,用波形圖顯示,波形顯示的橫坐標(biāo)為了體現(xiàn)具體的時(shí)間,采用定義坐標(biāo)法實(shí)現(xiàn)。當(dāng)VI停止運(yùn)行后,緩沖區(qū)中的數(shù)據(jù)仍存在,對(duì)橫坐標(biāo)時(shí)間進(jìn)行合適的自定義,就可實(shí)現(xiàn)更長(zhǎng)時(shí)間段的趨勢(shì)圖的顯示。
在本測(cè)試過程中,發(fā)送“0x32”得到溫度的相關(guān)采集據(jù),當(dāng)手接觸溫度傳感器18B20在短時(shí)間內(nèi)溫度產(chǎn)生的變化情況用趨勢(shì)圖顯示:在2011.9.1920:58:38開始到2011.9.1921:02:48測(cè)試數(shù)據(jù)趨勢(shì)圖如圖4所示。對(duì)應(yīng)保存的TXT文件截圖如圖5所示。
圖4 測(cè)試數(shù)據(jù)趨勢(shì)圖
圖5 保存的TXT文件截圖
圖4中,設(shè)定在溫度10-32攝氏度以外發(fā)生警告,測(cè)試結(jié)果完成了設(shè)計(jì)預(yù)期。
本文利用計(jì)算機(jī)的S232串口實(shí)現(xiàn)LabVIEW軟件與單片機(jī)實(shí)現(xiàn)的信息傳送,通過單片機(jī)的傳感器采集到的信息進(jìn)行初步識(shí)別、處理,將結(jié)果通過串口返回計(jì)算機(jī),利用LabVIEW的VISA特性接收串口信號(hào),顯示當(dāng)前數(shù)據(jù)、在一定時(shí)間內(nèi)的波形趨勢(shì)圖并以文本文件的形式進(jìn)行保存。以此方法能對(duì)電壓、壓力、濕度等物理量的傳感器的采集數(shù)據(jù)實(shí)現(xiàn)測(cè)試與保存。在這一過程中,利用LabVIEW的優(yōu)勢(shì),在顯示和存貯等方面功能,可以大大減少單片機(jī)的硬件電路和軟件設(shè)計(jì),在一定程度上緩解了單片機(jī)在內(nèi)存空間的缺乏。
[1]陳錫輝, 等. LabVIEW8.20 程序設(shè)計(jì)從入門到精通[M].北京: 清華大學(xué)出版社. 2008.
[2]陳金平, 王生澤, 吳文英. 基于LabVIEW的串口通信數(shù)據(jù)校驗(yàn)和的實(shí)現(xiàn)方法[J]. 自動(dòng)化儀表2008, (29)3: 32-34.
[3]黃豪彩, 楊燦軍, 等. 基于LabVIEW的深海氣密采水器測(cè)控系統(tǒng)[J]. 儀器儀表學(xué)報(bào)2011, 1: 40-44.
[4]王吉平, 趙哲, 等. 基于LabVIEW的通信測(cè)量技術(shù)研究[J].自動(dòng)化與儀表, 2011, 1: 29-56.
[5]陳桂友, 柴遠(yuǎn)斌. 單片機(jī)應(yīng)用技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社. 2008.
[6]閆群民. 基于LabVIEW的超文本報(bào)表生成方法[J]. 自動(dòng)化儀表, 2010, (31)72: 9-31.
[7]睢丙東, 魏澤鼎, 等. 單片機(jī)應(yīng)用技術(shù)與實(shí)例[M]. 北京:電子工業(yè)出版社, 2005.
[8]黃永紅, 王恒海, 等. 基于LabVIEW的溫度監(jiān)控與介電譜測(cè)試系統(tǒng)研制[J]. 儀器儀表學(xué)報(bào)2008, (29)7: 1544-1547.
[9]李江全, 等. LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn)[M]. 北京: 人民郵電出版社, 2010.
[10]楊樂平, 等. LabVIEW程序設(shè)計(jì)與應(yīng)用(第2版)[M]. 北京:電子工業(yè)出版社. 2006.