基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計_第1頁
基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計_第2頁
基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計_第3頁
基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計_第4頁
基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 鄭州大學(xué)畢業(yè)設(shè)計(論文)題目:基于LabVIEW的紅外傳感器的多路數(shù)據(jù)采集系統(tǒng)設(shè)計指導(dǎo)教師: 趙紅梅 職稱: 講師 學(xué)生姓名: 逯靜丹 學(xué)號: 20092250118 專 業(yè): 電子信息科學(xué)與技術(shù) 院(系): 物理工程學(xué)院 完成時間: 2013.5.24 2013年5月24日摘要虛擬儀器是當(dāng)前測控領(lǐng)域的技術(shù)熱點。LabVIEW是目前多數(shù)虛擬儀器系統(tǒng)所采用的開發(fā)軟件。它是一種圖形化的編程語言。在這種基于圖形化編程語言的開發(fā)環(huán)境中,LabVIEW可以高效、快速地編寫出相應(yīng)的應(yīng)用程序。本設(shè)計就是采用LabVIEW平臺,編程實現(xiàn)了數(shù)據(jù)采集、實時顯示以及數(shù)據(jù)存儲等功能。本文先對系統(tǒng)結(jié)構(gòu)和LabVIEW

2、虛擬儀器平臺作了簡要概述,并說明了本設(shè)計要完成了工作和要解決的問題。在第3節(jié)中簡述了串行通信的概念,介紹了LabVIEW中串行通信模塊中的一些功能函數(shù),并解決了串行通信在LabVIEW中是如何實現(xiàn)的問題。在第4節(jié)中對本設(shè)計中用到的的Modbus ASCII協(xié)議作了詳細(xì)說明,包括Modbus ASCII模式、Modbus ASCII幀、LRC校驗和的實現(xiàn)等。在第5節(jié)中,介紹了數(shù)據(jù)采集系統(tǒng)的整個框架,包括前面板設(shè)計和各個模塊的程序框圖設(shè)計步驟。最后對本設(shè)計的整個工作過程作了回顧與總結(jié)。關(guān)鍵詞:虛擬儀器;LabVIEW;數(shù)據(jù)采集;串行通信;Modbus ASCII協(xié)議AbstractVirtual

3、instrument is now a tech fad in the field of measurement and control. LabVIEW is a development software used by most of the virtual instrument system currently. It is a graphical programming language. In this development environment based on graphical programming language, we can program the corresp

4、onding application with LabVIEW fast and efficiently. In the paper, we program to achieve the function of data acquisition, real-time display, and data storage using the platform of LabVIEW.This paper firstly gives a brief overview of the structure of the system and LabVIEW virtual instrument platfo

5、rm, and illustrates the work we will complete and the problem we will solve. In the third section, we describe the concept of serial communication, introduce some functions of serial communication module of LabVIEW, and solve the problem how to realize the serial communication in LabVIEW. In the fou

6、rth section, we make a detailed explanation for Modbus ASCII protocol, including Modbus ASCII pattern, Modbus ASCII frame, and LRC checksum realization. In the fifth section, we introduce the whole framework of the data acquisition system, including the design of the front panel and the step of prog

7、ram diagram design of each module. Finally we make a review and summary of the whole design process.Keywords: Virtual instrument; LabVIEW; Data acquisition; Serial communication; Modbus ASCII communication protocol目錄摘要IAbstractII目錄III0 引言11 系統(tǒng)結(jié)構(gòu)簡介22 LabVIEW概述32.1 圖形化虛擬儀器開發(fā)平臺LabVIEW32.2 基于LabVIEW平臺的虛

8、擬儀器程序設(shè)計42.3 本設(shè)計所做的工作53 基于LabVIEW的簡單串行通信的實現(xiàn)63.1 基本功能函數(shù)63.2 串口通信步驟及程序框圖64 Modbus ASCII協(xié)議簡介84.1 Modbus ASCII模式84.2 Modbus ASCII幀84.3 Modbus ASCII校驗方式(LRC校驗)94.4 Modbus ASCII校驗方式在LabVIEW中的實現(xiàn)105 數(shù)據(jù)采集系統(tǒng)設(shè)計115.1 程序流程圖115.2 前面板設(shè)計125.3 地址搜索125.4 濃度采集145.5 溫度采集165.6 數(shù)據(jù)保存166 本設(shè)計的總結(jié)及研究意義176.1 總結(jié)176.2 研究意義18致謝19參

9、考文獻(xiàn)20III 0 引言    虛擬儀器(VirtualInstrument)是基于計算機的軟硬件測試平臺,已經(jīng)在工業(yè)控制領(lǐng)域得到廣泛的應(yīng)用。LabVIEW是由美國國家儀器公司推出的、主要面向計算機測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺,是一種基于圖形開發(fā)、調(diào)試和運行的集成化環(huán)境。利用LabVIEW設(shè)計多路數(shù)據(jù)采集系統(tǒng)時,可配置NI公司的數(shù)據(jù)采集板卡模擬采集多路信號,但是數(shù)據(jù)采集板卡價格較貴。本設(shè)計選用smartGAS紅外氣體傳感器作為前端數(shù)據(jù)采集系統(tǒng)進(jìn)行多路數(shù)據(jù)采集,然后通過RS-485串口通訊將數(shù)據(jù)傳輸至上位機,在LabVIEW開發(fā)平臺下,對各路數(shù)據(jù)進(jìn)行處理和實時顯

10、示,從而實現(xiàn)了一種在LabVIEW環(huán)境下的單片機多路數(shù)據(jù)采集系統(tǒng)。1 系統(tǒng)結(jié)構(gòu)簡介儀器控制是指通過PC上的軟件遠(yuǎn)程控制總線上的一臺或多臺儀器。它比單純的數(shù)據(jù)采集要復(fù)雜得多,它需要將儀器或設(shè)備與計算機連接起來協(xié)同工作,同時還可以根據(jù)需要延伸和拓展儀器的功能。一個完整的儀器控制系統(tǒng)除了包括計算機和儀器外,還必須建立儀器與計算機的通路以及上層應(yīng)用程序。RS-485接口在總線上是允許連接多達(dá)128個收發(fā)器,即具有多站能力。這樣用戶可以利用單一的RS-485接口方便地建立起設(shè)備網(wǎng)絡(luò)。但是PC上都不帶RS-485的接口,因此在接入電腦前需要通過485-232轉(zhuǎn)換器或485-USB轉(zhuǎn)換器才能接入PC。本設(shè)計

11、測試時,選用的是485-232轉(zhuǎn)換器。多路數(shù)據(jù)采集系統(tǒng)框架如圖1所示。PC機485-232轉(zhuǎn)換器RS485接口紅外傳感器紅外傳感器···RS485接口···圖1 多路數(shù)據(jù)采集系統(tǒng)框架圖2 LabVIEW概述 現(xiàn)代技術(shù)的進(jìn)步,特別是以計算機技術(shù)為代表的不斷革新的計算機技術(shù),正從各個層面上影響并引導(dǎo)著各行各業(yè)的技術(shù)革新,基于計算機技術(shù)的虛擬儀器系統(tǒng)技術(shù)也正以不可逆轉(zhuǎn)的力量推動著測量控制技術(shù)、數(shù)據(jù)采集和分析等技術(shù)的發(fā)展。傳統(tǒng)儀器主要由信號采集與控制模塊、分析與處理模塊、以及測量結(jié)果的表達(dá)與輸出模塊這三大功能模塊組成。傳統(tǒng)儀器的這些功能都是以

12、硬件形式存在的。而虛擬儀器則是將這些功能移植到計算機上完成。相對于傳統(tǒng)儀器,虛擬儀器具有性能高、擴展性強、開發(fā)時間少、完美的集成功能等特點。    LabVIEW是一款優(yōu)秀的虛擬儀器軟件開發(fā)平臺。LabVIEW以其直觀、簡便的編程方式,眾多的源碼級設(shè)備驅(qū)動程序,多種多樣的分析和表達(dá)支持功能,可為用戶快捷地構(gòu)建實際生產(chǎn)中所需要的儀器系統(tǒng)創(chuàng)造有力的基礎(chǔ)條件。其中數(shù)據(jù)采集與儀器控制是LabVIEW最具競爭力的核心技術(shù)。虛擬儀器是當(dāng)前測控領(lǐng)域的技術(shù)熱點,它代表了未來儀器技術(shù)的發(fā)展方向。虛擬儀器的關(guān)鍵技術(shù)是軟件,通過虛擬儀器的軟件開發(fā)平臺,開發(fā)者無需了解過多的儀器專業(yè)知識,

13、就可方便、快捷地開發(fā)出滿足應(yīng)用的虛擬儀器。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,實驗室虛擬儀器工程平臺)是目前多數(shù)虛擬儀器系統(tǒng)所采用的開發(fā)軟件。2.1 圖形化虛擬儀器開發(fā)平臺LabVIEWLabVIEW是一種圖形化的編程語言,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接受,視為一個標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/PI、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù),是一個功能強大且靈活的軟件。利用它可

14、以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都更加形象化。傳統(tǒng)的文本式編程是一種順序的設(shè)計思路,設(shè)計者必須寫出執(zhí)行的語句。而LabVIEW是基于數(shù)據(jù)流的工作方式,同時是基于圖形化的編程,這使得設(shè)計者不必掌握大量的編程語言和程序設(shè)計技巧便可設(shè)計出虛擬儀器系統(tǒng)。目前,在以PC機為基礎(chǔ)的測試和工控軟件中,LabVIEW的市場普及率僅次于C+/C語言。LabVIEW具有一系列無與倫比的優(yōu)點:首先,LabVIEW作為圖形化語言編程,采用流程圖式的編程,運用的設(shè)備圖標(biāo)與科學(xué)家、工程師們習(xí)慣的大部分圖標(biāo)基本一致,這使得編程過程和思維過程非常相似;同時,LabVIEW提供了豐富的VI庫和儀器面

15、板素材庫,近600種設(shè)備的驅(qū)動程序(可擴充)如GPIB設(shè)備控制、VXI總線控制、串行口設(shè)備控制、以及數(shù)據(jù)分析、顯示和存儲;并且LabVIEW還提供了專門用于程序開發(fā)的工具箱,使得用戶能夠設(shè)置斷點,調(diào)試過程中可以使用數(shù)據(jù)探針和動態(tài)執(zhí)行程序來觀察數(shù)據(jù)的傳輸過程,更加便于程序的調(diào)試。因此,LabVIEW受到越來越多工程師、科學(xué)家的普遍青睞。利用LabVIEW ,可產(chǎn)生獨立運行的可執(zhí)行文件,它是一個真正的32編譯器。像許多通用的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh OS等多種版本。2.2 基于LabVIEW平臺的虛擬儀器程序設(shè)計所有的LabVIEW應(yīng)用

16、程序,即虛擬儀器(VI),它包括前面板(Front Panel)、流程圖(Block Diagram)以及圖標(biāo)/連結(jié)器(Icon/Connector)三部分。(1)前面板:前面板是圖形用戶界面,也就是VI的虛擬儀器面板,這一界面上有用戶輸入和顯示輸出兩類對象,具體表現(xiàn)有開關(guān)、旋鈕、圖形以及其他控制和顯示對象。但并非畫出兩個控件后程序就可以運行,在前面板后還有一個與之對應(yīng)的流程圖。(2)流程圖:流程圖提供VI的圖形化源程序。在流程圖中對VI編程,以控制和操縱定義在前面板上的輸入和輸出功能。流程圖中包括前面板上的控件連線端子,還有一些前面板上沒有,但編程必須有的東西,例如函數(shù)、結(jié)構(gòu)和連線等。如果將

17、VI與傳統(tǒng)儀器相比較,那么前面板上的控件對應(yīng)的就是傳統(tǒng)儀器上的按鈕、顯示屏等控件,而流程圖上的連線端子相當(dāng)于傳統(tǒng)儀器箱內(nèi)的硬件電路。在許多情況下,使用VI可以仿真?zhèn)鹘y(tǒng)儀器,不僅在屏幕上出現(xiàn)一個惟妙惟肖的標(biāo)準(zhǔn)儀器面板,而且其功能也與傳統(tǒng)標(biāo)準(zhǔn)儀器相差無幾。這種設(shè)計思想的優(yōu)點體現(xiàn)在兩方面: 類似流程圖的設(shè)計思想,很容易被工程人員接受和掌握,特別是那些沒有很多程序設(shè)計經(jīng)驗的工程人員。 設(shè)計的思路和運行過程清晰而且直觀。如通過使用數(shù)據(jù)探針、高亮執(zhí)行調(diào)試等多種方法,程序以較慢的速度運行,使沒有執(zhí)行的代碼顯示灰色,執(zhí)行后的代碼會高亮顯示,同時在線顯示數(shù)據(jù)流線上的數(shù)據(jù)值,完全跟蹤數(shù)據(jù)流的運行。這為程序的調(diào)試和

18、參數(shù)的設(shè)定帶來諸多的方便。(3)圖標(biāo)/連接設(shè)計:這部分的設(shè)計突出體現(xiàn)了虛擬儀器模塊化程序設(shè)計的思想。在設(shè)計大型自動檢測系統(tǒng)時一步完成一個復(fù)雜系統(tǒng)的設(shè)計是相當(dāng)有難度的。而在LabVIEW中提供的圖標(biāo)/連接工具正是為實現(xiàn)模塊化設(shè)計而準(zhǔn)備的。設(shè)計者可把一個復(fù)雜自動檢測系統(tǒng)分為多個子系統(tǒng),每一個都可完成一定的功能。這樣設(shè)計的優(yōu)點體現(xiàn)在如下幾方面: 把一個復(fù)雜自動檢測系統(tǒng)分為多個子系統(tǒng),程序設(shè)計思路清晰,給設(shè)計者調(diào)試程序帶來了諸多的方便。同時也對于將來系統(tǒng)的維護(hù)提供了便利。 一個復(fù)雜自動檢測系統(tǒng)分為多個子系統(tǒng),每一個子系統(tǒng)都是一個完整的功能模塊,這樣把測試功能細(xì)節(jié)化,便于實現(xiàn)軟件復(fù)用,大大節(jié)省軟件研發(fā)周

19、期,提高系統(tǒng)設(shè)計的可靠性。 便于實現(xiàn)“測試集成”和虛擬儀器庫的思想。同時為實現(xiàn)虛擬儀器設(shè)計的靈活性提供了前提。2.3 本設(shè)計所做的工作在基于圖形化編程語言的開發(fā)環(huán)境中,LabVIEW可以高效、快速地編寫出相應(yīng)的應(yīng)用程序,完成諸如數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示以及儀器控制和通信等多種功能。本設(shè)計中利用LabVIEW開發(fā)平臺,編程實現(xiàn)對接入設(shè)備smartGAS紅外氣體傳感器的地址搜索、濃度和溫度采集,并在PC機上實時顯示采集到的數(shù)據(jù),并具有數(shù)據(jù)存儲功能。 3 基于LabVIEW的簡單串行通信的實現(xiàn)串行通信是指計算機主機與外設(shè)之間以及主機系統(tǒng)與主機系統(tǒng)之間數(shù)據(jù)的串行傳送。使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位

20、地依次傳輸,每一位數(shù)據(jù)占據(jù)一個固定的時間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別適用于計算機與計算機、計算機與外設(shè)之間的遠(yuǎn)距離通信。串行通信時,發(fā)送和接收到的每一個字符實際上都是一次一位傳送的,每一位為1或者為0。3.1 基本功能函數(shù) 在 LabVIEW功能模版的函數(shù)>>儀器I/O >>串口程序庫中包含進(jìn)行串行通信操作的一些功能模塊: (1)VISA 配置串口:初始化 VISA resource name指定的串口通訊參數(shù)。(2)VISA寫入:將寫入緩沖區(qū)中的數(shù)據(jù)寫入到 VISA resource name指定的設(shè)備或接口中。(3)VISA 讀?。簭腣ISA

21、 resource name指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),并將數(shù)據(jù)返回至讀取緩沖區(qū)。(4)VISA 串口字節(jié)數(shù):返回指定串口的輸入緩沖區(qū)的字節(jié)數(shù)。(5)VISA 關(guān)閉:關(guān)閉VISA resource name指定的設(shè)備會話句柄或事件對象。 3.2 串口通信步驟及程序框圖通過對VISA節(jié)點的調(diào)用,可以方便、快速地實現(xiàn)系統(tǒng)上位機對下位機的實時監(jiān)控。串口通信程序的實現(xiàn)采用平鋪式順序結(jié)構(gòu),逐步執(zhí)行串口的參數(shù)設(shè)置、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉串口等操作。程序框圖如圖2所示。(1)調(diào)用VISA配置串口節(jié)點完成串口參數(shù)的設(shè)置,包括串口號、波特率、數(shù)據(jù)位、停止位、奇偶校驗位等。本文中設(shè)置為:波特率2400

22、bps、數(shù)據(jù)位7、停止位1、偶校驗。(2)在順序結(jié)構(gòu)的第一個框圖中,調(diào)用VISA寫入節(jié)點將數(shù)據(jù)發(fā)送到指定的串口中。延時200ms,使得下位機能夠有足夠時間作出響應(yīng)。 注意:這個延時時間應(yīng)根據(jù)實際情況而定,不可過長或過短。若延時時間過長,而串口儀器會不停地返回狀態(tài),則會造成串口接收緩沖區(qū)堵塞,影響正常通信;若延時時間過短,則串口儀器還未返回準(zhǔn)確的狀態(tài)字,程序就從串口緩沖區(qū)取走字符串,也會造成通信障礙。(3)在順序結(jié)構(gòu)的第二個框圖中,調(diào)用VISA讀取節(jié)點將數(shù)據(jù)讀取到緩沖區(qū)。其中的VISA串口字節(jié)數(shù)節(jié)點返回串口輸入緩沖區(qū)中的字節(jié)數(shù)。(4)調(diào)用VISA關(guān)閉節(jié)點關(guān)閉串口。圖2 串口通信程序框圖串口通信程

23、序調(diào)試的幾點建議:(1)對自己編寫的協(xié)議,可以用串口助手來驗證上位機和下位機的程序是否正確。(2)若程序無法通過,首先檢查COM口的設(shè)置是否正確。(3)除了串口助手之外,還可以使用一些幫助串口調(diào)試的軟件,比如Ser232Mon,該軟件可以監(jiān)視出入串口的數(shù)據(jù)。4 Modbus ASCII協(xié)議簡介Modbus通信協(xié)議是一種通用工業(yè)標(biāo)準(zhǔn),通過此協(xié)議,我們可以快速地實現(xiàn)對不同生產(chǎn)現(xiàn)場的控制設(shè)備進(jìn)行組網(wǎng),便于集中控制。Modbus可編程控制器之間可相互通訊,也可與不同網(wǎng)絡(luò)上的其他設(shè)備進(jìn)行通訊。當(dāng)在Modbus網(wǎng)絡(luò)上進(jìn)行通訊時,協(xié)議能使每一臺控制器知道它本身的設(shè)備地址,并識別對它尋址的數(shù)據(jù),決定應(yīng)起作用的

24、類型,取出包含在信息中的數(shù)據(jù)和資料等,控制器也可組織回答信息,并使用Modbus協(xié)議將此信息傳送出去??刂破骺墒褂肁SCII或RTU通訊模式,在標(biāo)準(zhǔn)Modbus上通訊。在配置每臺控制器時,用戶須選擇通訊模式以及串行口的通訊參數(shù)。在Modbus總線上的所有設(shè)備應(yīng)具有相同的通訊模式和串行通訊參數(shù)。本文采用Modbus ASCII模式進(jìn)行通訊。4.1 Modbus ASCII模式當(dāng)控制器以ASCII模式在Modbus總線上進(jìn)行通訊時,一個信息中的每8位字節(jié)作為一個ASCII碼(兩個十六進(jìn)制字符)發(fā)送,此模式的主要優(yōu)點在于允許字符之間的時間間隔長達(dá)1s,而不會出現(xiàn)錯誤。 ASCII碼每一個字節(jié)的格式:

25、編碼系統(tǒng):十六進(jìn)制,ASCII字符0-9,A-F,每個ASCII字符由一個十六進(jìn)制字符組成。 數(shù)據(jù)位:·1 位起始位·7位數(shù)據(jù)位,低位先發(fā)送,高位后發(fā)送·1位奇偶校驗位(本文中采用偶校驗)·1位停止位錯誤校驗區(qū):縱向冗余校驗4.2 Modbus ASCII幀在ASCII模式中,以“:”冒號(ASCII 3AH)表示信息開始,以回車換行鍵(CRLF)(ASCII 0D,0AH)表示信息結(jié)束。對其它的區(qū),允許發(fā)送的字符為十六進(jìn)制字符0-9,A-F。網(wǎng)絡(luò)中設(shè)備不斷檢測并接收到一個冒號“:”時,每臺設(shè)備對地址區(qū)解碼,找出要尋址的設(shè)備。字符之間的最大時間間隔為1s

26、,若大于1s,則接收設(shè)備認(rèn)為出現(xiàn)了一個錯誤。典型的信息幀如下表1:表1 ASCII信息幀開始地址 功能數(shù)據(jù)縱向冗余校驗結(jié)束1字符 :2字符2字符n字符2字符2字符4.3 Modbus ASCII校驗方式(LRC校驗) 在ASCII模式中,采用縱向冗余校驗方式,即LRC校驗。錯誤校驗碼為一個8位二進(jìn)制,也就是兩個ASCII字符。計算校驗碼時,只有地址、功能碼、數(shù)據(jù)位參與運算,開始位“:”和結(jié)束位CRLF均不參與運算。由發(fā)送設(shè)備計算LRC校驗碼,然后和該塊數(shù)據(jù)一起傳送到接收端。接收設(shè)備在接收信息時計算LRC碼,并與收到的LRC碼進(jìn)行比較,若二者不一樣,則說明該數(shù)據(jù)塊在傳輸過程中產(chǎn)生錯誤。校驗和的具

27、體計算步驟為:(1)將設(shè)備地址、功能碼、數(shù)據(jù)位的每個ASCII字符用十進(jìn)制表示出來,并將它們相加起來。轉(zhuǎn)換表如下表2所示。 (2)將上一步所得結(jié)果對256求余。 (3)用255減去上一步所得結(jié)果,再加1,結(jié)果用十六進(jìn)制表示。 表2 ASCII轉(zhuǎn)換表ASCII0123456789ABCDEFHex30313233343536373839414243444546Dec.484950515253545556576566676869704.4 Modbus ASCII校驗方式在LabVIEW中的實現(xiàn)具體實現(xiàn)方法為:先放置for循環(huán)結(jié)構(gòu),然后添加移位寄存器。順次截取輸入字符串中的一個字符,將該ASCII

28、字符用十進(jìn)制表示出來,并逐個相加。所得結(jié)果再對256求余。用255減去前面所得結(jié)果后加1,將所得數(shù)值用兩位十六進(jìn)制表示出來即為校驗和。 程序框圖如下圖3所示。 圖3 LRC校驗和程序框圖5 數(shù)據(jù)采集系統(tǒng)設(shè)計5.1 程序流程圖本文所設(shè)計的數(shù)據(jù)采集系統(tǒng)包括地址搜索、濃度采集、溫度采集、數(shù)據(jù)存儲等功能。程序流程圖如下圖4所示。YNY搜到指定數(shù)量的地址?循環(huán)讀搜到的設(shè)備的濃度循環(huán)讀搜到的設(shè)備的溫度結(jié)束開始參數(shù)設(shè)置搜索地址停止?提示出錯并檢查線路連接N 圖4 整體程序流程框圖5.2 前面板設(shè)計前面板上分三個區(qū),顯示控件區(qū)、參數(shù)設(shè)置區(qū)以及開關(guān)按鈕區(qū)。在顯示控件區(qū)里,共有三組顯示控件,每一組有10個,分別為

29、地址顯示控件、濃度顯示控件和溫度顯示控件。最多可以顯示10個傳感器的有關(guān)數(shù)據(jù)。參數(shù)設(shè)置區(qū)里,均為輸入控件。程序運行前,需先設(shè)置好參數(shù),包括端口號、所連接的設(shè)備個數(shù)、要搜索的起始地址和終止地址等。在開關(guān)按鈕區(qū),有校準(zhǔn)按鈕、數(shù)據(jù)保存按鈕以及停止按鈕。數(shù)據(jù)采集系統(tǒng)前面板如下圖5所示。圖5 數(shù)據(jù)采集系統(tǒng)前面板5.3 地址搜索先設(shè)置搜索的初始地址和結(jié)束地址,然后用while循環(huán)在此區(qū)間內(nèi)挨個搜索,發(fā)出地址搜索指令后,有回復(fù)的設(shè)備即為搜到的設(shè)備。每一次循環(huán)中,先計算LRC校驗和,然后按表1所示信息幀格式將指令發(fā)送到指定串口,等待200ms,讀取設(shè)備響應(yīng)的數(shù)據(jù),將地址分離出來,用索引數(shù)組顯示。采用索引數(shù)組時

30、,若設(shè)備有響應(yīng),則顯示此設(shè)備地址;若設(shè)備無響應(yīng),則為空字符串。地址搜索程序框圖如下圖6所示。ab圖6 地址搜索程序框圖將索引數(shù)組中的空字符串過濾掉,得到地址數(shù)組。若搜到的設(shè)備數(shù)量(地址數(shù)組大?。┡c指定的設(shè)備數(shù)量不相等,則結(jié)束程序;若相等,則將搜到的地址依次顯示在不同的顯示控件中。數(shù)組過濾與地址顯示程序框圖如下圖7所示。圖7 數(shù)組過濾與地址顯示程序框圖5.4 濃度采集整體結(jié)構(gòu)采用for循環(huán)結(jié)構(gòu)實現(xiàn)。將地址數(shù)組連接至for循環(huán)中的地址輸入端,啟用索引。計算讀取濃度指令的校驗和,將讀取濃度的指令按表1所示格式發(fā)送到指定串口,等待200ms,讀取設(shè)備回復(fù)的數(shù)據(jù)。計算其校驗和,與讀取到的校驗和相比較,若

31、不同,則重新發(fā)送;若相同,則從此信息幀中分離出濃度數(shù)據(jù),并用十進(jìn)制顯示在相應(yīng)顯示控件中。流程框圖如下圖8所示。向串口發(fā)送指令:Addr.03000A0001LRCCRLF開始計算LRC等待200ms讀取設(shè)備回復(fù)的數(shù)據(jù)讀取的校驗和=計算所得校驗和?分離出濃度數(shù)據(jù)并顯示指定數(shù)量的設(shè)備的濃度全部讀???結(jié)束NYYN圖8 濃度采集程序流程框圖5.5 溫度采集采集濃度和采集溫度的程序采用平鋪式順序結(jié)構(gòu)實現(xiàn)。在順序結(jié)構(gòu)的一個框圖中為濃度采集的程序,在順序結(jié)構(gòu)第二個框圖中為溫度采集的程序。溫度采集和濃度采集的程序基本相同。不同點僅在于:(1)若地址為01時,濃度采集程序的發(fā)送指令為“:0103000A0001

32、+校驗和+(回車換行)”;而溫度采集程序中,只需把000A換成0003即可,即發(fā)送指令為“:010300030001+校驗和+(回車換行)”。(2)溫度采集時,分離出的溫度數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制后,需再除以10。5.6 數(shù)據(jù)保存檢測文件夾“數(shù)據(jù)采集系統(tǒng)”是否存在,若存在,則在此文件夾下創(chuàng)建新路徑;若不存在,則先創(chuàng)建文件夾“數(shù)據(jù)采集系統(tǒng)”,然后再在此文件夾下創(chuàng)建路徑。先將傳感器編號寫入電子表格文件,當(dāng)按下數(shù)據(jù)保存按鈕時,各個傳感器當(dāng)前顯示的濃度和溫度均保存在該電子表格文件中。如下圖9所示。圖9 數(shù)據(jù)保存程序框圖6 本設(shè)計的總結(jié)及研究意義6.1 總結(jié)本設(shè)計在研究虛假儀器技術(shù)以及軟件開發(fā)技術(shù)的基礎(chǔ)上,使用

33、虛擬儀器技術(shù)實現(xiàn)了基于LabVIEW的紅外傳感器的數(shù)據(jù)采集系統(tǒng)的設(shè)計。通過測試,該設(shè)計方案可以方便、快捷地進(jìn)行數(shù)據(jù)采集,并且具有實時顯示以及數(shù)據(jù)保存等功能。若有需要,亦可以很方便地實現(xiàn)儀器校準(zhǔn)等功能。本設(shè)計的前期工作主要是對虛擬儀器的了解和對LabVIEW的學(xué)習(xí)。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化的編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。從學(xué)習(xí)過程中也能看到這一點,利用框圖來編程序即形象又容易記憶,當(dāng)熟悉各個

34、框圖在什么地方時,編一個程序就變得容易很多了。然后再看參考書上的例子,從簡單到復(fù)雜,會越來越熟練。從編寫簡單的串口通信到用特定的協(xié)議編寫程序,慢慢領(lǐng)會到了一些結(jié)構(gòu)比如while循環(huán)結(jié)構(gòu)、for循環(huán)結(jié)構(gòu)、平鋪順序結(jié)構(gòu)、事件結(jié)構(gòu)等的巧妙用法,并積累了自己的經(jīng)驗。本設(shè)計大部分工作是程序的編寫,所涉及的硬件部分都有現(xiàn)成的。但是對硬件的了解也是必需要做的工作。包括對紅外傳感測試平臺、RS232接口以及RS485接口的了解。此外,了解Modbus協(xié)議也是必需要做的工作。在設(shè)計過程中,先設(shè)計各個子程序,測試其功能后再設(shè)計其他的子程序。在最后設(shè)計整個系統(tǒng)時,考慮了很多框架,比如平鋪順序結(jié)構(gòu),事件結(jié)構(gòu)等。實際的主程序框架為多種結(jié)構(gòu)的混合。網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和遠(yuǎn)程測試的需要,驅(qū)動虛擬儀器網(wǎng)絡(luò)化方向發(fā)展。以PC機或工作站為平臺,運用虛擬儀器技術(shù)構(gòu)成實用的測控系統(tǒng)將成為儀器和測試技術(shù)發(fā)展的一個重要方向。通過本設(shè)計,深刻的認(rèn)識到了虛擬儀器技術(shù)是儀器發(fā)展的重要發(fā)展方向。虛擬儀器以嶄新的模式和強大的功能深入人心。伴隨計算機技術(shù)和信息技術(shù)的發(fā)展虛擬儀器必將拓展到各個領(lǐng)域,引起測控儀器的深層次變革。6.2 研究意義隨著時代的發(fā)展,利用LabVIEW進(jìn)行數(shù)據(jù)采集面臨著越來

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論