![基于VB的調(diào)壓PID溫控制系統(tǒng)主界面設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/77fdfff0-1db9-4e88-8402-e8ee6017b5db/77fdfff0-1db9-4e88-8402-e8ee6017b5db1.gif)
![基于VB的調(diào)壓PID溫控制系統(tǒng)主界面設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/77fdfff0-1db9-4e88-8402-e8ee6017b5db/77fdfff0-1db9-4e88-8402-e8ee6017b5db2.gif)
![基于VB的調(diào)壓PID溫控制系統(tǒng)主界面設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/77fdfff0-1db9-4e88-8402-e8ee6017b5db/77fdfff0-1db9-4e88-8402-e8ee6017b5db3.gif)
![基于VB的調(diào)壓PID溫控制系統(tǒng)主界面設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/77fdfff0-1db9-4e88-8402-e8ee6017b5db/77fdfff0-1db9-4e88-8402-e8ee6017b5db4.gif)
![基于VB的調(diào)壓PID溫控制系統(tǒng)主界面設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/77fdfff0-1db9-4e88-8402-e8ee6017b5db/77fdfff0-1db9-4e88-8402-e8ee6017b5db5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄摘 要II一 無線通信網(wǎng)絡(luò)簡(jiǎn)介11.1無線通信控制網(wǎng)絡(luò)11.2 Visual Basic簡(jiǎn)介1二 系統(tǒng)整體設(shè)計(jì)方案22.1硬件設(shè)計(jì)22.1.1 實(shí)驗(yàn)箱連接32.1.2 串行通信基礎(chǔ) 42.2主界面設(shè)計(jì)62.3數(shù)據(jù)采集設(shè)計(jì) 62.4控制算法設(shè)計(jì)9三 主界面設(shè)計(jì)103.1 Visual Basic的編程方法103.2用戶登陸模塊設(shè)計(jì)12四 系統(tǒng)運(yùn)行結(jié)果與分析15 4.1 系統(tǒng)運(yùn)行結(jié)果154.2 分析改進(jìn)措施15參考文獻(xiàn)15附錄16摘 要基于無線通信平臺(tái)VB的溫度PID控制系統(tǒng)主要由被控對(duì)象(電熱爐)、溫度控制器和無線通信模塊三部分組成。在被控對(duì)象和溫度控制器之間設(shè)置過程控
2、制接口,過程控制接口包括溫度檢測(cè)裝置和調(diào)功器,完成接收客戶端的請(qǐng)求和溫度控制的功能。溫度控制采用PID控制策略,完成溫度顯示和參數(shù)設(shè)置的功能,將設(shè)置參數(shù)(恒溫值、PID參數(shù)),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。本課題主要研究基于無線通信平臺(tái)VB的溫度PID系統(tǒng)主界面設(shè)計(jì)。本系統(tǒng)包括硬件設(shè)計(jì)、軟件設(shè)計(jì)和數(shù)據(jù)采集,溫度自動(dòng)控制箱和傳感器部分,在VB中實(shí)現(xiàn)動(dòng)畫顯示、報(bào)警處理、流程控制、實(shí)時(shí)曲線和報(bào)表輸出等功能。同時(shí)利用智能儀表控制系統(tǒng),在所設(shè)計(jì)的VB監(jiān)控界面中,進(jìn)行相關(guān)儀表調(diào)校和控制器參數(shù)整定。最后向用戶提供Pt100溫度控制系統(tǒng)的動(dòng)態(tài)運(yùn)行結(jié)果。 關(guān)鍵詞:無線通信平臺(tái);VB;PID;Pt100一 無線通信網(wǎng)絡(luò)簡(jiǎn)介1.1
3、無線通信控制網(wǎng)絡(luò) 無線通信網(wǎng)絡(luò),由于其特有的非接線通信方式的優(yōu)點(diǎn),廣泛應(yīng)用于特定地理位置(如山區(qū)、油田和水利設(shè)施等)的現(xiàn)場(chǎng)遙測(cè)遙控領(lǐng)域。尤其在分布距離較遠(yuǎn)且數(shù)據(jù)傳輸量不大時(shí),無線通信網(wǎng)絡(luò)的優(yōu)勢(shì)更為明顯。目前,采用無線通信技術(shù)的工控產(chǎn)品很多,有的采用RF調(diào)頻通信原理;有的采用擴(kuò)頻通信原理。根據(jù)發(fā)射功率的不同,無線通信的距離也各不相同。也有很多公司開發(fā)出了應(yīng)用于不同場(chǎng)合的無線數(shù)傳模塊,大大方便了無線通信測(cè)控系統(tǒng)的設(shè)計(jì)??紤]到試驗(yàn)系統(tǒng)的要求及實(shí)際應(yīng)用情況,我們選用了臺(tái)灣威達(dá)(ICP)的牛頓無線通信模塊和工控模塊開發(fā)無線通信控制網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)。臺(tái)灣威達(dá)(ICP)公司是著名的工控產(chǎn)品研發(fā)和生產(chǎn)公司,其公司
4、生產(chǎn)的工業(yè)控制計(jì)算機(jī)、數(shù)據(jù)采集卡和工控模塊都是目前工控行業(yè)的主流產(chǎn)品。尤其是工控模塊產(chǎn)品,由于性價(jià)比高、組合使用方便,深受用戶好評(píng)。典型的無線通信控制網(wǎng)絡(luò)分布式控制系統(tǒng)如圖1-1所示。圖1-1 典型無線通信控制網(wǎng)絡(luò)1.2 Visual Basic簡(jiǎn)介 Visual Basic(簡(jiǎn)稱VB)是Microsoft公司為開發(fā)Windows應(yīng)用程序提供的強(qiáng)有力的開發(fā)環(huán)境和工具,它是具有很好的圖形用戶界面的程序設(shè)計(jì)語言,采用面向?qū)ο蠛褪录?qū)動(dòng)的程序設(shè)計(jì)兩種新機(jī)制,把過程化和結(jié)構(gòu)化編程結(jié)合在一起。程序開發(fā)圖形化的構(gòu)思使開發(fā)者非常容易地創(chuàng)建一個(gè)窗體(Form),再從VB工具箱中選擇一些控件放入窗體中,無需編程
5、設(shè)計(jì)界面。界面設(shè)計(jì)面向?qū)ο螅菀淄瓿?,但是?yīng)用程序的過程部分卻不是面向?qū)ο蟮?,然而VB具有事件驅(qū)動(dòng)方法,使開發(fā)者容易地完成界面設(shè)計(jì)和代碼編寫。 VB使用方便,具有Windows開發(fā)環(huán)境所支持的一些主要功能: (1)創(chuàng)建各種程序?qū)ο?,如文本框和命令按鈕等。 (2)創(chuàng)建多個(gè)多種類型的窗口,如窗體等。 (3)實(shí)時(shí)地響應(yīng)光標(biāo)和鍵盤事件,如鼠標(biāo)選中的事件過程等。 (4)可根據(jù)需要顯示或隱藏各種對(duì)象,如命令按鈕可不見。 (5)直接控制打印機(jī)輸。 (6)控制RS-232串行通迅接口,實(shí)現(xiàn)串行數(shù)據(jù)通迅。
6、 (7)可實(shí)現(xiàn)和其它Windows程序之間的相互通信。 (8)有強(qiáng)大的圖形圖像處理功能。 (9)能創(chuàng)建和管理數(shù)據(jù)庫。 與其它程序設(shè)計(jì)語言相比,VB也有許多獨(dú)特的性能: (1)成功地簡(jiǎn)化了界面設(shè)計(jì),為應(yīng)用程序開發(fā)提供了通向Windows操作環(huán)境的快捷途徑。 (2)提供了應(yīng)用程序開發(fā)所需的許多代碼(如窗體、控件),加快了開發(fā)速度。 (3)讓開發(fā)者以可視化方式和代碼方式進(jìn)行工作。 (4)完善的運(yùn)行錯(cuò)誤處理功能。 (5)豐富的圖形指令,可生成和機(jī)制作各種圖形。 (6)強(qiáng)大的數(shù)據(jù)和字符
7、處理功能。 (7)具有豐富的控件庫。 (8)可編譯成.EXE文件,脫離VB環(huán)節(jié)單獨(dú)運(yùn)行。 自從VB產(chǎn)生之后,很多人都會(huì)使用其來開發(fā)自己的應(yīng)用程序,在開發(fā)過程中,開發(fā)人員不需要非常清楚有關(guān)Windows操作系統(tǒng)的細(xì)節(jié),就可以作出滿意的作品。二 系統(tǒng)整體設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)主要包含硬件設(shè)計(jì)、主界面設(shè)計(jì)、數(shù)據(jù)采集與算法設(shè)計(jì),下面就對(duì)這幾方面做主要的分析:2.1硬件設(shè)計(jì) 整個(gè)系統(tǒng)結(jié)構(gòu)由一臺(tái)工控機(jī)構(gòu)成的上位機(jī)用于整個(gè)系統(tǒng)的管理,安裝多點(diǎn)測(cè)溫系統(tǒng)管理軟件,并通過無線通信對(duì)下位分機(jī)進(jìn)行控制。下位分機(jī)一方面通過無線通信接收來自上位通迅總線的上位機(jī)控制命令,另一方面通過程序采集各
8、個(gè)傳感器的溫度值,實(shí)現(xiàn)溫度數(shù)據(jù)檢測(cè)和轉(zhuǎn)換。另外上位機(jī)還具有數(shù)據(jù)的輸出打印機(jī)進(jìn)行隨時(shí)數(shù)據(jù)打印。硬件系統(tǒng)采用這種結(jié)構(gòu),成本小、維護(hù)簡(jiǎn)單、工作穩(wěn)定。 系統(tǒng)上位機(jī)管理分析軟件:VB易學(xué)的可視化編程語言開發(fā)系統(tǒng),以其所見即所得的可視化界面設(shè)計(jì)風(fēng)格和面向?qū)ο蟮某绦蛟O(shè)計(jì)等特點(diǎn),已廣泛地應(yīng)用于各個(gè)領(lǐng)域。采用VB開發(fā)數(shù)據(jù)采集和工業(yè)控制應(yīng)用軟件十分方便,尤其軟件界面設(shè)計(jì)非常便捷,編程工作量較小,開發(fā)周期短,完全能夠滿足系統(tǒng)功能的要求的數(shù)據(jù)采集速度、其較強(qiáng)的數(shù)據(jù)處理能力和簡(jiǎn)單靈活的編程風(fēng)格,可大大縮短開發(fā)周期,減少開發(fā)費(fèi)用,減輕編程人員的設(shè)計(jì)負(fù)擔(dān),無疑是一種理想的選擇。界面友好易操作,大量檢測(cè)結(jié)果由計(jì)算機(jī)
9、進(jìn)行管理,實(shí)時(shí)數(shù)據(jù)分析及顯示,圖形畫面顯示結(jié)果,并有打印機(jī)、互聯(lián)網(wǎng)等多種輸出方式,功能強(qiáng)大,性能優(yōu)良。 上 位 機(jī)無 線 通 信下 位 機(jī)溫 度 傳 感 器圖2-1硬件連接框圖2.1.1 實(shí)驗(yàn)箱連接 溫度自動(dòng)控制試驗(yàn)箱是以微處理器為中央控制單元,能完成物理信號(hào)的輸入輸出、信號(hào)轉(zhuǎn)換和計(jì)算控制等功能,并可與外界通訊的儀器儀表。其可靠性高,穩(wěn)定性好,長(zhǎng)期工作維護(hù)量小。可采用LCD顯示,清晰直觀,讀數(shù)方便。適用范圍廣,使用靈活:可選擇不同的測(cè)量值和輸出值;可在線修改參數(shù),流量小信號(hào)切除、失敗模式電流輸出等功能;具有內(nèi)部計(jì)算、數(shù)據(jù)存儲(chǔ)、自診斷、自校驗(yàn)等多種功能。具有大量的非控制性信息(管理信息) ,自動(dòng)
10、控制系統(tǒng)的被控量是溫度、壓力、流量、液位、成分、粘度、濕度等這樣一些過程變量的系統(tǒng),具有連續(xù)生產(chǎn)過程自動(dòng)控制、由過程檢測(cè)和控制儀表組成、被控過程多樣,控制方案豐富的特點(diǎn)。在現(xiàn)代工業(yè)生產(chǎn)過程自動(dòng)化中,過程控制技術(shù)正在為實(shí)現(xiàn)各種最優(yōu)技術(shù)經(jīng)濟(jì)指標(biāo)、提高經(jīng)濟(jì)效益和社會(huì)效益、提高勞動(dòng)生產(chǎn)率、節(jié)約能源、改善勞動(dòng)條件、保護(hù)環(huán)境衛(wèi)生、提高市場(chǎng)競(jìng)爭(zhēng)力等方面起著越來越大的作用。 本實(shí)驗(yàn)中,硬件部分的溫度采集通過Pt100和電熱爐來完成,Pt100通過感應(yīng)到電熱爐中的溫度變化來把溫度信號(hào)轉(zhuǎn)換為電信號(hào),從而通過PC機(jī)中的VB程序達(dá)到控制溫度和對(duì)溫度的采集。 溫度自動(dòng)控制實(shí)驗(yàn)箱系統(tǒng)如圖2-2所示。圖2-2 實(shí)驗(yàn)箱連線2
11、.1.2 串行通信基礎(chǔ) 隨著計(jì)算機(jī)的廣泛應(yīng)用,市場(chǎng)上許多電氣產(chǎn)品應(yīng)用串口通信技術(shù)作為對(duì)外數(shù)據(jù)交換的橋梁,串口通信受到如此重視,主要原因就是這個(gè)技術(shù)簡(jiǎn)單而且容易實(shí)現(xiàn)。串行通信是指通信的發(fā)送方和接收方之間數(shù)據(jù)信息的傳輸是在單根數(shù)據(jù)線上,以每次一個(gè)二進(jìn)制的0、1為最小單位一位一位的傳輸。 串行數(shù)據(jù)傳送的特點(diǎn)是: (1)串行傳送在一根傳輸線上既傳送數(shù)據(jù)信息又傳送聯(lián)絡(luò)控制信號(hào); (2)有固定的數(shù)據(jù)格式,分異步與同步數(shù)據(jù)格式; (3)串行通信中對(duì)信號(hào)的邏輯定義與TTL不兼容,故需要進(jìn)行邏輯關(guān)系與邏輯電平轉(zhuǎn)換; (4)串行傳送信息的速率需要控制,要
12、求雙方設(shè)定通信傳輸?shù)牟ㄌ芈省?#160;總而言之,串行通信是指在單根數(shù)據(jù)線上將數(shù)據(jù)一位一位地按照順序進(jìn)行傳送。在傳送數(shù)據(jù)的過程中,每發(fā)送完一個(gè)數(shù)據(jù),緊接著發(fā)送第二個(gè),直到發(fā)送完最后一位為止。在接收數(shù)據(jù)的過程中,每一次從單根數(shù)據(jù)線上一位一位地依次接收,直到最后收到一個(gè)完整的數(shù)據(jù)為止。因此,串行口通信方式一般用在遠(yuǎn)距離數(shù)據(jù)通信中,正好符合具有占用通信線少、成本低等優(yōu)點(diǎn)。 網(wǎng)絡(luò)通信過程中,通信雙方要交換數(shù)據(jù),需要高度的協(xié)同工作。為了正確的解釋信號(hào),接收方必須確切地知道信號(hào)應(yīng)當(dāng)何時(shí)接收和處理,因此定時(shí)是至關(guān)重要的。在計(jì)算機(jī)網(wǎng)絡(luò)中,定時(shí)的因素稱為位同步。同步是要接收方按照發(fā)送方發(fā)送的每個(gè)位的
13、起止時(shí)刻和速率來接收數(shù)據(jù),否則會(huì)產(chǎn)生誤差。通??梢圆捎猛交虍惒降膫鬏敺绞綄?duì)位進(jìn)行同步處理。 在異步傳輸中,信息以字符為單位進(jìn)行傳輸。異步傳輸?shù)膬?yōu)點(diǎn)就是收、發(fā)雙方不需要嚴(yán)格的位同步,所謂“異步”是指字符與字符之間的異步,字符內(nèi)部仍為同步。在同步傳輸中,不僅字符內(nèi)部為同步,字符與字符之間也要保持同步。同步傳輸?shù)奶攸c(diǎn)是可獲得較高的傳輸速度,但實(shí)現(xiàn)起來較復(fù)雜。 為了解決以上問題,串行傳輸可以采用以下兩種方法:異步傳輸和同步傳輸。 (1)異步傳輸 異步傳輸將比特分成小組進(jìn)行傳送,小組可以是8位的1個(gè)字符或更長(zhǎng)。發(fā)送方可以在任何時(shí)刻發(fā)送這些比特組,而
14、接收方從不知道它們會(huì)在什么時(shí)候到達(dá)。一個(gè)常見的例子是計(jì)算機(jī)鍵盤與主機(jī)的通信。按下一個(gè)字母鍵、數(shù)字鍵或特殊字符鍵,就發(fā)送一個(gè)8比特位的ASCII代碼。鍵盤可以在任何時(shí)刻發(fā)送代碼,這取決于用戶的輸入速度,內(nèi)部的硬件必須能夠在任何時(shí)刻接收一個(gè)鍵入的字符。異步傳輸存在一個(gè)潛在的問題,即接收方并不知道數(shù)據(jù)會(huì)在什么時(shí)候到達(dá)。在它檢測(cè)到數(shù)據(jù)并做出響應(yīng)之前,第一個(gè)比特已經(jīng)過去了。這就像有人出乎意料地從后面走上來跟你說話,而你沒來得及反應(yīng)過來,漏掉了最前面的幾個(gè)詞。因此,每次異步傳輸?shù)男畔⒍家砸粋€(gè)起始位開頭,它通知接收方數(shù)據(jù)已經(jīng)到達(dá)了,這就給了接收方響應(yīng)、接收和緩存數(shù)據(jù)比特的時(shí)間;在傳輸結(jié)束時(shí),一個(gè)停止位表示該
15、次傳輸信息的終止。按照慣例,空閑(沒有傳送數(shù)據(jù))的線路實(shí)際攜帶著一個(gè)代表二進(jìn)制1的信號(hào),異步傳輸?shù)拈_始位使信號(hào)變成0,其他的比特位使信號(hào)隨傳輸?shù)臄?shù)據(jù)信息而變化。最后,停止位使信號(hào)重新變回1,該信號(hào)一直保持到下一個(gè)開始位到達(dá)。例如在鍵盤上數(shù)字“1”,按照8比特位的擴(kuò)展ASCII編碼,將發(fā)送“00110001”,同時(shí)需要在8比特位的前面加一個(gè)起始位,后面一個(gè)停止位。 (2)同步傳輸 同步傳輸?shù)谋忍胤纸M要大得多。它不是獨(dú)立地發(fā)送每個(gè)字符,每個(gè)字符都有自己的開始位和停止位,而是把它們組合起來一起發(fā)送。我們將這些組合稱為數(shù)據(jù)幀,或簡(jiǎn)稱為幀。數(shù)據(jù)幀的第一部分包含一組同步字符
16、,它是一個(gè)獨(dú)特的比特組合,類似于前面提到的起始位,用于通知接收方一個(gè)幀已經(jīng)到達(dá),但它同時(shí)還能確保接收方的采樣速度和比特的到達(dá)速度保持一致,使收發(fā)雙方進(jìn)入同步。幀的最后一部分是一個(gè)幀結(jié)束標(biāo)記。與同步字符一樣,它也是一個(gè)獨(dú)特的比特串,類似于前面提到的停止位,用于表示在下一幀開始之前沒有別的即將到達(dá)的數(shù)據(jù)了。 綜上所述,我們可以歸結(jié)一下同步傳輸和異步傳輸?shù)膮^(qū)別,具體如下: 1)異步傳輸是面向字符的傳輸,而同步傳輸是面向比特的傳輸。 2)異步傳輸?shù)膯挝皇亲址絺鬏數(shù)膯挝皇菐?#160;2.2主界面設(shè)計(jì) 為了方便地管理系統(tǒng)程序,且占有教少的系統(tǒng)資源,我們采用多文檔界面
17、MDI進(jìn)行主界面的設(shè)計(jì)。通過選擇主界面上的菜單,我們就可以實(shí)現(xiàn)對(duì)溫度信息的各種操作。 2.3數(shù)據(jù)采集設(shè)計(jì) 數(shù)據(jù)采集模塊主要由名稱為Timer_Sample的一個(gè)Timer控件實(shí)現(xiàn)數(shù)據(jù)采集,由于是多路溫度采集,首先設(shè)置一個(gè)變量,從1一直到總溫度點(diǎn)數(shù)逐一遞增,該變量影響地址和通道數(shù),當(dāng)該變量為1時(shí),進(jìn)行第1通道的溫度采集,采集之后并把該變量加1,地址和通道做出響應(yīng)的變化,進(jìn)行下次采集操作。整個(gè)過程放在一個(gè)For循環(huán)里面實(shí)現(xiàn)。 下位機(jī)的設(shè)置是當(dāng)上位機(jī)發(fā)送地址和通道給下位機(jī)時(shí),下位機(jī)把就把對(duì)應(yīng)該地址和通道的溫度值讀取出來保存,當(dāng)上位機(jī)需要讀取時(shí),上位機(jī)發(fā)送MSCommObj.I
18、nput命令,下位機(jī)就把儲(chǔ)存的溫度值發(fā)送給上位機(jī)。上位機(jī)進(jìn)行判斷是否超時(shí),整個(gè)過程中應(yīng)該在50ms以內(nèi)完成,50ms之后上位機(jī)進(jìn)行采集數(shù)據(jù)操作,并且對(duì)采集出來的數(shù)據(jù)進(jìn)行判斷,下位機(jī)正常的反饋值應(yīng)該是一個(gè)大于5個(gè)字符位的溫度值,如果溫度值有錯(cuò)誤,或者超時(shí)沒有采集出來溫度值,則手動(dòng)設(shè)置采集出來的數(shù)據(jù)為0,并以紅色標(biāo)記,表示數(shù)據(jù)有錯(cuò)誤,需要檢查硬件設(shè)備,如果溫度值沒有錯(cuò)誤,符合要求,則把采集上來的溫度值復(fù)制到m_s_SaveTemp中進(jìn)行存儲(chǔ)。延時(shí)50ms的實(shí)現(xiàn):在VB當(dāng)中,并沒有延時(shí)程序,所以必須通過程序來實(shí)現(xiàn),實(shí)現(xiàn)的方法是通過GetTickCount函數(shù)來實(shí)現(xiàn)。GetTickCount函數(shù)包含在
19、kernl32.dll庫里面,在程序加載的時(shí)候需要在模塊中聲明。GetTickCount的函數(shù)功能:GetTickCount返回從操作系統(tǒng)啟動(dòng)到現(xiàn)在所經(jīng)過的毫秒數(shù)。通過這個(gè)函數(shù),先建立一個(gè)變量,儲(chǔ)存程序開始的時(shí)間,然后用當(dāng)前時(shí)間減去程序開始時(shí)間,如果結(jié)果少于超時(shí)時(shí)間,則繼續(xù)循環(huán),直到差值大于超時(shí)時(shí)間,這樣就完成了延時(shí)的功能,延時(shí)的時(shí)間就是設(shè)定超時(shí)的時(shí)間。期間還需要使用一個(gè)函數(shù):DoEvents。DoEvents函數(shù)功能是轉(zhuǎn)讓控制權(quán),以便讓操作系統(tǒng)處理其它的事件。為了防止在延時(shí)的時(shí)候有其他事件發(fā)生,例如存儲(chǔ)模塊進(jìn)行存儲(chǔ),則必須轉(zhuǎn)讓控制權(quán)給系統(tǒng),這樣系統(tǒng)才能響應(yīng)其他事件,否則延時(shí)過程會(huì)導(dǎo)致CPU占
20、用率100%等其他不可預(yù)料的問題發(fā)生。數(shù)據(jù)采集為了方便調(diào)試,設(shè)置了一個(gè)Debug模式,通過Debug模式總開關(guān)可以設(shè)置虛擬采數(shù)過程,不需要實(shí)際硬件連接從而達(dá)到調(diào)試程序的目的。數(shù)據(jù)采集流程如圖2-3所示:圖2-3 數(shù)據(jù)采集流程圖 在Debug模式下與在正常模式下的區(qū)別在于Debug模式并沒有真正發(fā)送地址和通道的實(shí)際操作,屏蔽掉了一條語句:MSCommObj.Output = vSend,該語句在正常模式下實(shí)現(xiàn)把vSend里面的數(shù)值也就是地址和通道通過串口發(fā)送給下位機(jī),在這里并沒有真正發(fā)送,所以當(dāng)沒有下位機(jī)的情況下,也可以進(jìn)行調(diào)試,語句不出錯(cuò)。在接收電壓數(shù)據(jù)的操作過程中也同時(shí)屏蔽掉了一條語句:vR
21、eceiveBuffer = MSCommObj.Input,并沒有真正把數(shù)據(jù)采集上來,而是選擇一個(gè)固定的數(shù)當(dāng)作采集上來的電壓值,從而才能繼續(xù)接下來的操作。 通過Debug模式的創(chuàng)建,可以在沒有硬件的情況下進(jìn)行軟件編輯,加快了工程進(jìn)度,并且還能容易的找出問題的所在之處。 為了達(dá)到實(shí)時(shí)數(shù)據(jù)采集目的,實(shí)時(shí)數(shù)據(jù)采集處理程序采用 MSComm 事件驅(qū)動(dòng)方式。 OnComm事件程序的流程圖如圖2-4所示:圖2-4 OnComm 事件程序的流程圖2.4控制算法設(shè)計(jì) 系統(tǒng)控制的總體思路以及細(xì)節(jié)流程圖如下圖2-5和2-6所示:圖2-5 系統(tǒng)控制的框圖 圖2-6 控制窗口流程圖三 主界面設(shè)計(jì)3.1 Visual
22、 Basic的編程方法 VB的窗口化設(shè)計(jì)遵循了以下四個(gè)主要的步驟: (1)選擇對(duì)象(Object):確實(shí)存在的東西,可以被使用,有一個(gè)特定的名字,就是一個(gè)對(duì)象。在VB應(yīng)用程序的設(shè)計(jì)中,窗口、鼠標(biāo)、圖片、按鈕等都是對(duì)象。一個(gè)對(duì)象就是既含數(shù)據(jù)又含操作該數(shù)據(jù)代碼的一個(gè)邏輯實(shí)體,數(shù)據(jù)是對(duì)象的特性,操作即函數(shù)或過程,是對(duì)象的行為。對(duì)象是程序的基本元素,在對(duì)象存在的程序中,所有的動(dòng)作和信息必定和對(duì)象有關(guān)。所以VB程序設(shè)計(jì)首先要根據(jù)選擇所需的對(duì)象。VB中的對(duì)象與面向?qū)ο蟪绦蛟O(shè)計(jì)中的對(duì)象在概念上是一樣的,但在使用上有很大的區(qū)別,在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象由程序員自己設(shè)計(jì),而在VB中,對(duì)象是由系統(tǒng)設(shè)
23、計(jì)好的,可直接作用或?qū)ζ溥M(jìn)行操作。對(duì)象的選擇可以利用VB的工具箱進(jìn)行。 (2)設(shè)置屬性(Property):每一個(gè)存在的對(duì)象所具備的特性稱為屬性。例如,一個(gè)按鈕的標(biāo)題(Caption),名稱(Name),顏色(Color),字體大小(Fontsion),是否可見(Visible)等都稱為其屬性。每個(gè)對(duì)象都可以根據(jù)需要設(shè)置其屬性。在VB中,所有對(duì)象的屬性都通過屬性窗口顯示出來,當(dāng)單擊某一對(duì)象時(shí),屬性窗口即顯示它的所有屬性。屬性即可以通過屬性窗口來設(shè)置,又可以依靠程序語句來設(shè)置。 (3)引發(fā)事件(Event):所謂事件,是由VB事先設(shè)置好的、能夠被對(duì)象識(shí)別的動(dòng)作。每一個(gè)對(duì)象
24、總會(huì)與外界(其它對(duì)象)產(chǎn)生互動(dòng),此互動(dòng)產(chǎn)生時(shí),就是這個(gè)對(duì)象有一個(gè)事件被引發(fā)了。一個(gè)對(duì)象可以被引發(fā)的事件有很多,例如,一個(gè)鼠標(biāo)可以有單擊、雙擊、拖移、移動(dòng)等事件,其它對(duì)象也有一樣或類似的事件,不同類型的對(duì)象可能會(huì)有不同的事件可以被外界引發(fā)。響應(yīng)某個(gè)事件所執(zhí)行的操作通過一段程序代碼來實(shí)現(xiàn),這樣的程序代碼叫做事件過程。一個(gè)對(duì)象可以識(shí)別一個(gè)或多個(gè)事件,因此可以使用一個(gè)成多個(gè)事件過程對(duì)用戶或系統(tǒng)的事件作出響應(yīng)。事件過程的一般格式如下: Private Sub對(duì)象名稱一事件名稱() 事件響應(yīng)程序代碼 End
25、60;Sub對(duì)象名稱指的是對(duì)象的Name屬性,事件名稱是由VB予該對(duì)象事件的,而這個(gè)事件必須是對(duì)象所能識(shí)別的預(yù)先定義好賦予該對(duì)象事件的,而這個(gè)事件必須是對(duì)象所能識(shí)別的。 (4)確定方法(Method):當(dāng)對(duì)象被引發(fā)了某個(gè)事件之后,系統(tǒng)(或程序)應(yīng)該采用的相應(yīng)步驟就稱之為方法。VB提供了大量的方法,有些方法可以適用于多種甚至所有類型的對(duì)象,而有些方法只適用于少數(shù)幾種對(duì)象。例如,Myform.Print "Good",表示VB提供的Print方法可以在名為"Myform"的窗體對(duì)象上顯示字符串"Good";Printer.
26、160;Print "Good"表示Print方法可以在打印機(jī)對(duì)象中打印出字符串"Good"。 在軟件編譯方法上,現(xiàn)在主要采用的結(jié)構(gòu)方式有兩種:BS結(jié)構(gòu)和CS結(jié)構(gòu)。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。 B/S
27、最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。甚至可以在線申請(qǐng),通過公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動(dòng)分配給用戶一個(gè)賬號(hào)進(jìn)入系統(tǒng)。 C/S又稱Client/Server或客戶/服務(wù)器模式。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或SQL Server??蛻舳诵枰惭b專用的客戶端軟件。 C/S的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC
28、的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。缺點(diǎn)主要有以下幾個(gè): 只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動(dòng)辦公和分布式辦公越來越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時(shí)要對(duì)系統(tǒng)進(jìn)行專門的設(shè)計(jì)來處理分布式的數(shù)據(jù)。 客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺(tái)電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是有很多分部或?qū)Yu店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級(jí)時(shí),每一臺(tái)客戶機(jī)需要重新安裝,其維護(hù)和升級(jí)成本非常高。
29、60; 對(duì)客戶端的操作系統(tǒng)一般也會(huì)有限制??赡苓m應(yīng)于Win98,但不能用于win2000或Windows XP。或者不適用于微軟新的操作系統(tǒng)等等,更不用說Linux、Unix等。3.2用戶登陸模塊設(shè)計(jì) 下文將分別介紹在Microsoft Visual Basic 6.0集成環(huán)境下各個(gè)模塊的設(shè)計(jì)過程。首先運(yùn)行Microsoft Visual Basic 6.0,出現(xiàn)“新建工程”對(duì)話框,如圖3-1所示。選擇新建“標(biāo)準(zhǔn)EXE”,執(zhí)行“打開”命令,進(jìn)入Visual Basic工程集成開發(fā)環(huán)境,窗體設(shè)計(jì)器會(huì)自動(dòng)出現(xiàn)一個(gè)Form1的空白窗體,如圖3-2所示。圖3-1“新建工程”對(duì)話框圖3-2
30、空白窗體 為防止不相關(guān)人員隨意打開本軟件修改,刪除檢測(cè)結(jié)果,所以軟件運(yùn)行后,首先設(shè)計(jì)了登陸對(duì)話框,要求輸入用戶名和密碼,輸入正確后才能進(jìn)入該軟件的主界面。如果失敗達(dá)三次,則自動(dòng)退出系統(tǒng)。用戶登陸界面如圖3-3所示。圖3-3 用戶登陸界面 在空白窗體上,添加2個(gè)Label控件、2個(gè)TextBox控件、1個(gè)ADODC控件。界面上的2個(gè)Label控件用來標(biāo)識(shí)窗體中的信息(用戶名,密碼),2個(gè)TextBox控件用來輸入用戶名和密碼,2個(gè)CommandButton控件用來確定或取消登陸,1個(gè)ADODC控件(運(yùn)行時(shí)隱藏)用來完成和數(shù)據(jù)庫用戶信息表的連接。 圖3-4控制窗口流程圖為了方便地管理系統(tǒng)程序,且占
31、有教少的系統(tǒng)資源,我們采用多文檔界面MDI進(jìn)行主界面的設(shè)計(jì)。通過選擇主界面上的菜單,我們就可以實(shí)現(xiàn)對(duì)溫度信息的各種操作。系統(tǒng)的主界面如圖3-5所示。圖3-5 系統(tǒng)主界面四 系統(tǒng)運(yùn)行結(jié)果與分析4.1 系統(tǒng)運(yùn)行結(jié)果 圖4-1 運(yùn)行結(jié)果圖4.2 分析改進(jìn)措施 本文通過VB 6.0可視化編程語言編寫了一個(gè)多點(diǎn)測(cè)溫系統(tǒng)管理軟件,軟件實(shí)現(xiàn)了對(duì)電熱爐溫度采集下位機(jī)的數(shù)據(jù)采集、 即時(shí)溫度曲線顯示,基本實(shí)現(xiàn)了對(duì)電熱爐測(cè)溫系統(tǒng)的管理。 本系統(tǒng)溫度采集精度可以達(dá)到±1,主要用于工業(yè)民用上溫度采集,例如糧庫溫度采集或室內(nèi)溫度采集,采集反映時(shí)間0.1s,在0.1s內(nèi)即可完成采集溫度, ,歷史溫度曲線繪制時(shí)間間
32、隔20s,每20s更新溫度曲線一次。達(dá)到了課程設(shè)計(jì)的基本要求。參考文獻(xiàn)1 于洋,陳亮等.測(cè)控系統(tǒng)網(wǎng)絡(luò)化技術(shù)及應(yīng)用.機(jī)械工業(yè)出版社.20092 (美)??怂箠W.Visual Basic 2012入門經(jīng)典.人民郵電出版社.20133 拉帕波特.無線通信原理與應(yīng)用.電子工業(yè)出版社.2009附錄程序源代碼:Option ExplicitPublic c As Integer, T As Integer Private Sub Combo1_Click() '選擇端口 If Combo1.Text = "COM1" Then MSComm1.CommPort = 1 Else
33、If Combo1.Text = "COM2" Then MSComm1.CommPort = 2 ElseIf Combo1.Text = "COM3" Then MSComm1.CommPort = 3 ElseIf Combo1.Text = "COM4" Then MSComm1.CommPort = 4 Else MSComm1.CommPort = 5 End If End SubPrivate Sub MSComm1_OnComm()End SubPrivate Sub Command1_Click()Dim i As
34、Integer, j As Integer For i = 1 To 19 For j = 1 To 3 MSFlexGrid1.TextMatrix(i, j) = " " Next j Next i Timer3.Enabled = True T = 0 c = 1 Call draw 'Call Combo1_Click ' MSComm1.PortOpen = True 'comm1.Output = Textsend.TextEnd SubPrivate Sub Command2_Click()' MSComm1.PortOpen
35、= False Timer3.Enabled = False Timer1.Enabled = FalseEnd SubPrivate Sub Command3_Click()'comm1.PortOpen = FalseEndEnd SubPrivate Sub Command4_Click()Unload Form2End SubPrivate Sub Form_Load() Form1.Caption = "溫度監(jiān)測(cè)系統(tǒng)" Combo1.AddItem "COM1" Combo1.AddItem "COM2" Combo
36、1.AddItem "COM3" Combo1.AddItem "COM4" Combo1.AddItem "COM5" Timer1.Interval = 1000 Timer3.Interval = 1000 Timer3.Enabled = False Dim i As Integer For i = 1 To 19 MSFlexGrid1.Col = 0 MSFlexGrid1.Row = i MSFlexGrid1.Text = i Next i MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0
37、 MSFlexGrid1.Text = "序號(hào)" MSFlexGrid1.Col = 1 MSFlexGrid1.Text = "溫度" MSFlexGrid1.Col = 2 MSFlexGrid1.Text = "時(shí)間" MSFlexGrid1.Col = 3 MSFlexGrid1.Text = "日期" End SubPrivate Sub List1_Click()End SubPrivate Sub MSFlexGrid1_Click()Dim i As Integer, j As IntegerFor
38、 i = 1 To MSFlexGrid.Rows MSFlexGrid.Col = 0 MSFlexGrid.Row = i MSFlexGrid.Text = "i" Next iFor j = 0 To 19 MSFlexGrid.Col = 3 MSFlexGrid.Row = j MSFlexGrid.ColWidth(j) = MSFlexGrid.ColWidth() + 200 Next jEnd SubPrivate Sub draw() Picture1.FontSize = "15" '設(shè)置字體大小 Picture1.Dra
39、wWidth = 2 Picture1.ForeColor = QBColor(12) Picture1.Cls Picture1.Scale (-30, 100)-(230, -30) '橫坐標(biāo) Picture1.Line (-30, 0)-(220, 0) Picture1.Line (221, 0)-(218, 1) '橫坐標(biāo)箭頭及y值 Picture1.Line (221, 0)-(218, -1) Picture1.PSet (223, 4) Picture1.Print "x" Picture1.Line (0, -30)-(0, 100)
40、39;縱坐標(biāo) Picture1.Line (-1, 98)-(0, 100) '縱坐標(biāo)箭頭及x值 Picture1.Line (1, 98)-(0, 100) Picture1.PSet (4, 98) Picture1.Print "y" Picture1.FontSize = "8" '設(shè)置字體大小 Picture1.PSet (20, -10) Picture1.Print "20" Picture1.PSet (40, -10) Picture1.Print "40" Picture1.PS
41、et (60, -10) Picture1.Print "60" Picture1.PSet (80, -10) Picture1.Print "80" Picture1.PSet (100, -10) Picture1.Print "100" Picture1.PSet (120, -10) Picture1.Print "120" Picture1.PSet (140, -10) Picture1.Print "140" Picture1.PSet (160, -10) Picture1.Print "160" Picture1.PSet (180, -10) Picture1.Print "180" Picture1.PSet (200, -10) Picture1.Print "200" Picture1.PSet (-14, 5)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)立體車庫減速電機(jī)行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報(bào)告
- 2021-2026年中國(guó)電力保護(hù)繼電器市場(chǎng)深度分析及投資戰(zhàn)略咨詢報(bào)告
- 2024-2029年中國(guó)全息存儲(chǔ)市場(chǎng)前瞻與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年度金融資產(chǎn)證券化借貸合同(資產(chǎn)流動(dòng)性提升)
- 2025年度金融居間服務(wù)合同標(biāo)準(zhǔn)與風(fēng)險(xiǎn)防控
- 2025年度建筑材料采購與施工監(jiān)理合同
- 2025年中國(guó)5G基站濾波器行業(yè)發(fā)展概況及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 產(chǎn)品oem合作合同范本
- 農(nóng)民建房子合同范本
- 共同運(yùn)營(yíng)合同范本
- 2025年1月浙江省高考政治試卷(含答案)
- 教體局校車安全管理培訓(xùn)
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)綜合物理試題(含答案)
- 行車起重作業(yè)風(fēng)險(xiǎn)分析及管控措施
- 健康體檢中心患者身份登記制度
- 國(guó)產(chǎn)氟塑料流體控制件生產(chǎn)企業(yè)
- 空氣能安裝合同
- 2025年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 大模型關(guān)鍵技術(shù)與應(yīng)用
- 20以內(nèi)加減法口算題(10000道)(A4直接打印-每頁100題)
- 三一電氣產(chǎn)品外觀通用檢驗(yàn)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論