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

下載本文檔

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

文檔簡(jiǎn)介

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

2、虛擬儀器平臺(tái)作了簡(jiǎn)要概述,并說(shuō)明了本設(shè)計(jì)要完成了工作和要解決的問(wèn)題。在第3節(jié)中簡(jiǎn)述了串行通信的概念,介紹了LabVIEW中串行通信模塊中的一些功能函數(shù),并解決了串行通信在LabVIEW中是如何實(shí)現(xiàn)的問(wèn)題。在第4節(jié)中對(duì)本設(shè)計(jì)中用到的的Modbus ASCII協(xié)議作了詳細(xì)說(shuō)明,包括Modbus ASCII模式、Modbus ASCII幀、LRC校驗(yàn)和的實(shí)現(xiàn)等。在第5節(jié)中,介紹了數(shù)據(jù)采集系統(tǒng)的整個(gè)框架,包括前面板設(shè)計(jì)和各個(gè)模塊的程序框圖設(shè)計(jì)步驟。最后對(duì)本設(shè)計(jì)的整個(gè)工作過(guò)程作了回顧與總結(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)簡(jiǎn)介22 LabVIEW概述32.1 圖形化虛擬儀器開(kāi)發(fā)平臺(tái)LabVIEW32.2 基于LabVIEW平臺(tái)的虛

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

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

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

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

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

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

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

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

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

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

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

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

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

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è)備會(huì)話(huà)句柄或事件對(duì)象。 3.2 串口通信步驟及程序框圖通過(guò)對(duì)VISA節(jié)點(diǎn)的調(diào)用,可以方便、快速地實(shí)現(xiàn)系統(tǒng)上位機(jī)對(duì)下位機(jī)的實(shí)時(shí)監(jiān)控。串口通信程序的實(shí)現(xiàn)采用平鋪式順序結(jié)構(gòu),逐步執(zhí)行串口的參數(shù)設(shè)置、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、關(guān)閉串口等操作。程序框圖如圖2所示。(1)調(diào)用VISA配置串口節(jié)點(diǎn)完成串口參數(shù)的設(shè)置,包括串口號(hào)、波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。本文中設(shè)置為:波特率2400

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

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

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

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

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

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

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

29、地址顯示控件、濃度顯示控件和溫度顯示控件。最多可以顯示10個(gè)傳感器的有關(guān)數(shù)據(jù)。參數(shù)設(shè)置區(qū)里,均為輸入控件。程序運(yùn)行前,需先設(shè)置好參數(shù),包括端口號(hào)、所連接的設(shè)備個(gè)數(shù)、要搜索的起始地址和終止地址等。在開(kāi)關(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)挨個(gè)搜索,發(fā)出地址搜索指令后,有回復(fù)的設(shè)備即為搜到的設(shè)備。每一次循環(huán)中,先計(jì)算LRC校驗(yàn)和,然后按表1所示信息幀格式將指令發(fā)送到指定串口,等待200ms,讀取設(shè)備響應(yīng)的數(shù)據(jù),將地址分離出來(lái),用索引數(shù)組顯示。采用索引數(shù)組時(shí)

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論