版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PrivateDeclareFunctiontimeGetTimeLib"winmm.dll"()AsLong延時函數(shù)單位是毫秒支持小數(shù)PublicFunctionYanShi(HaoMiaoAsDouble)Dimt1t1=timeGetTimeWhile(timeGetTime-t1)<HaoMiaoDoEventsWendEndFunction基于單片機(jī)和VB的多點溫度監(jiān)控系統(tǒng)設(shè)計〔二〕-上位機(jī)設(shè)計院系自動化學(xué)院專業(yè)自動化班級5407202學(xué)號200504072064姓名姚維丹指導(dǎo)教師王昱負(fù)責(zé)教師王昱沈陽航空工業(yè)學(xué)院2023年6月摘要溫度是一個根本的物理量,它是工農(nóng)業(yè)生產(chǎn)過程中最普遍、最主要的工藝參數(shù)之一,實時精確的溫度監(jiān)控是產(chǎn)品質(zhì)量的重要保證。隨著現(xiàn)代科技的開展,電子計算機(jī)已越來越多地應(yīng)用于溫度的監(jiān)控中。本文針對下位機(jī)多點溫度測控系統(tǒng)的各點溫度值,通過VB建立一個溫度信息管理系統(tǒng)。詳細(xì)闡述了系統(tǒng)的設(shè)計方法及功能。實現(xiàn)了與溫度測控電路進(jìn)行實時數(shù)據(jù)通信,完成溫度信息的上傳和溫度設(shè)定值的下傳功能。采用Access設(shè)計數(shù)據(jù)庫,記錄用戶信息和溫度信息。用VB連接數(shù)據(jù)庫,完成溫度信息的查詢、顯示、趨勢圖、報表生成等功能。到達(dá)了實時記錄溫度信息,定時傳送溫度設(shè)定值的技術(shù)指標(biāo)要求。該多點監(jiān)控系統(tǒng)擁有良好的人機(jī)界面,通用性好,操作簡單、方便、易于實現(xiàn)溫度的集中監(jiān)控和管理等特點,具有較廣泛的應(yīng)用前景。關(guān)鍵詞:VB;數(shù)據(jù)庫;溫度;監(jiān)控AbstractTemperatureisafundamentalphysicalquantity,itisoneofthemostgeneralandimportantprocessparametersinindustrialandagriculturalproduction.Accuratereal-timetemperaturemonitoringisanimportantguaranteeforthequalityofproducts.Withthedevelopmentofmodernscienceandtechnology,electroniccomputerhasbeenusedintemperaturemonitoringfrequently.Therefore,inthispaperaninformationmanagementsystemoftemperatureisestablishedformulti-pointtemperaturemonitoringsystembyVB.Thedesignmethodsandfunctionsofthesystemisilluminatedindetail.Thesystemhasnotonlyachievedreal-timedatacommunicationwithtemperaturemonitoringandcontrolcircuitsbutalsoaccomplishedthetransferoftemperatureinformationandtemperaturesettings.Anaccessdatabaseisusedtorecordusers’informationandtemperatureinformation.UsingVBtoconnecttothedatabasethesystemhasmanyfunctionssuchasthequery,display,trend,reportgenerationandsoon.Thetechnicaltargetoftherecord,thetransmissionofreal-timetemperatureinformationandthetemperaturesettingsisalsoachieved.Themulti-pointtemperaturemonitoringsystemhasgoodhuman-computerinterface,goodcommon,simpleandconvenientoperation.Itiseasytoimplementcentralizedmonitoringandmanagementofthetemperature.Thesystemhasaveryextensiveapplicationprospect.Keywords:VB;database;temperature;monitoring目錄第1章緒論11.1課題背景11.2多點溫度監(jiān)控系統(tǒng)開展現(xiàn)狀11.3課題研究內(nèi)容及技術(shù)指標(biāo)41.4本文安排5第2章多點溫度監(jiān)控系統(tǒng)總體方案的設(shè)計62.1系統(tǒng)描述62.2總體方案設(shè)計62.3課題主要技術(shù)指標(biāo)7第3章VB與單片機(jī)通信的建立83.1串行通信及RS—232總線8串行通信83.1.2RS-232總線標(biāo)準(zhǔn)103.2VisualBasic6.0中的串行通信控件MSComm113.2.1MSComm控件處理通信的方式123.2.2MSComm控件的常用屬性123.2.3MSComm控件的使用143.3PC機(jī)與AT89S51單片機(jī)的通信15硬件連接線路15通信協(xié)議153.3.3VB程序編制16第4章多點溫度信息管理系統(tǒng)194.1多點溫度信息管理系統(tǒng)功能194.2數(shù)據(jù)庫的設(shè)計204.2.1Access數(shù)據(jù)庫的設(shè)計204.2.2VB操作Access數(shù)據(jù)庫的方法21數(shù)據(jù)庫的生成224.3應(yīng)用程序的設(shè)計22用戶登陸模塊設(shè)計23系統(tǒng)功能模塊設(shè)計24主界面的設(shè)計25顯示模塊以及數(shù)據(jù)庫顯示模塊的設(shè)計28查詢模塊的設(shè)計29通信及趨勢圖模塊的設(shè)計30報表模塊的設(shè)計314.3.8“關(guān)于〞模塊的設(shè)計32保存應(yīng)用程序33建立可執(zhí)行文件34結(jié)論35社會經(jīng)濟(jì)效益分析36參考文獻(xiàn)37致謝39附錄程序清單40緒論溫度是表征物體冷熱程度的物理量,在日常生活、工業(yè)自動化、家用電器、環(huán)境保護(hù)、平安生產(chǎn)和汽車工業(yè)等中都是根本的檢測控制參數(shù)之一。所以對溫度的監(jiān)控管理在現(xiàn)代化生產(chǎn)中顯得尤為重要。課題背景在我們的日常生活中,尤其是在北方,居民小區(qū)內(nèi)冬季的供暖設(shè)備一般采用鍋爐燒水供應(yīng)。大多數(shù)的鍋爐房只單純的對出水溫度進(jìn)行了控制,而沒有針對各個用戶房間溫度進(jìn)行分別控制,從而不能有效的調(diào)節(jié)用戶的溫度,也造成了資源的浪費。多點溫度監(jiān)控系統(tǒng)那么針對各個用戶,分別采集各個用戶的溫度,上傳給計算機(jī),計算機(jī)通過該溫度與設(shè)定值之間的差值對各個用戶進(jìn)行分別有效地調(diào)節(jié)控制,實現(xiàn)了溫度的自動化控制,同時也防止了不必要的資源浪費。此外,在農(nóng)業(yè)的生產(chǎn)中,大棚種植現(xiàn)在已經(jīng)成為了農(nóng)業(yè)生產(chǎn)中的主要局部。蔬菜作物的生長是需要一定溫度的,這就要求大棚需要保持著恒定的一個溫度以便使蔬菜等作物最好,最快的生長,以獲得最大的經(jīng)濟(jì)效益。多點溫度監(jiān)控系統(tǒng)在大棚中的應(yīng)用就方便了農(nóng)民的生產(chǎn),節(jié)省了資源。溫度的測量和控制是許多行業(yè)的重要工作目標(biāo)之一,不管是日常取暖、大棚種植還是糧食倉庫、中藥材倉庫、圖書保存,都需要在符合規(guī)定的溫度環(huán)境條件之中。然而溫度又是最不易保障的一項指標(biāo),針對這一情況,研制可實用的多點溫度檢測與控制系統(tǒng)就顯得非常重要。總而言之,在現(xiàn)在的生活、生產(chǎn)中,多點溫度監(jiān)控系統(tǒng)都有著很廣闊的應(yīng)用前景。多點溫度監(jiān)控系統(tǒng)開展現(xiàn)狀隨著微型計算機(jī)和傳感器技術(shù)的迅速開展,自動檢測領(lǐng)域發(fā)生了巨大變化,針對溫度的自動檢測控制方面的研究有了明顯的進(jìn)展。對于溫度監(jiān)控系統(tǒng)來說,由傳統(tǒng)的單點溫度監(jiān)控到現(xiàn)在的多點溫度監(jiān)控;由傳統(tǒng)的集散控制到現(xiàn)在的現(xiàn)場總線控制等都是一個很大的進(jìn)步。尤其是多點溫度監(jiān)控系統(tǒng)在現(xiàn)如今人們的生活、生產(chǎn)中越來越發(fā)揮著它所獨有的優(yōu)勢:集中化管理,現(xiàn)場總線式監(jiān)控。比方,中國是一個糧食大國,對糧食的儲藏是農(nóng)業(yè)生產(chǎn)過程中的一個非常重要的環(huán)節(jié)。為此設(shè)計了糧食倉庫溫度自動化監(jiān)控系統(tǒng)。它的控制系統(tǒng)由中央控制裝置、終端控制設(shè)備、傳感器等組成。先編制出倉庫存放糧食最優(yōu)環(huán)境條件的管理程序表,存儲于電子計算機(jī)的記憶裝置中,電子計算機(jī)根據(jù)程序表確認(rèn)、修正各倉庫的參數(shù),并給終端控制系統(tǒng)指令。終端控制設(shè)備向中央控制裝置輸送檢測信息,根據(jù)中央控制裝置的指令輸出控制信號,使電器機(jī)械設(shè)備執(zhí)行動作,實現(xiàn)糧食倉庫的環(huán)境調(diào)節(jié)。該種系統(tǒng)可以到達(dá)自動控制降溫、除濕、通風(fēng)。根據(jù)需要,通過鍵盤將信息輸入中央管理室,根據(jù)情況可隨時調(diào)節(jié)倉庫溫度。糧食倉庫溫度濕度自動化控制系統(tǒng)在大型現(xiàn)代化糧食倉庫中的使用,是現(xiàn)代化高新技術(shù)的表達(dá)。美國、日本的倉庫監(jiān)測設(shè)施近20年來開展很快,他們結(jié)合本國條件做出了具有創(chuàng)新特色的成就,其中倉庫環(huán)境調(diào)控技術(shù)均有較高水平,但其監(jiān)控設(shè)備價格昂貴。我國近年引進(jìn)了多達(dá)16個國家和地區(qū)的倉庫環(huán)境控制系統(tǒng),對吸收國外先進(jìn)經(jīng)驗、推動倉庫溫度濕度自動檢測產(chǎn)生了積極的作用,但多因能耗過大,造價高,品種未能配套,未能到達(dá)很好的效果。中國的倉庫環(huán)境綜合控制系統(tǒng)必須走適合中國國情的開展道路,在引進(jìn)、消化、吸收國內(nèi)外先進(jìn)技術(shù)和科學(xué)管理的根底上,進(jìn)行總結(jié)提高、集成創(chuàng)新、超前示范,既開發(fā)適宜我國經(jīng)濟(jì)開展水平,又能滿足不同氣候條件,接近或到達(dá)世界先進(jìn)水平的智能化倉庫監(jiān)測系統(tǒng)。在專用品種、綜合配套技術(shù)、貯運營銷上,應(yīng)該研制具有中國知識產(chǎn)權(quán)的產(chǎn)品和技術(shù)。再比方,西安建筑科技大學(xué)研究生劉金頌的碩士論文所設(shè)計的變風(fēng)量空調(diào)系統(tǒng)不但能克服定風(fēng)量空調(diào)系統(tǒng)僅用一個送風(fēng)參數(shù)無法滿足不同房間或不同區(qū)域的不同室內(nèi)空氣環(huán)境要求的問題,也可防止風(fēng)機(jī)盤管系統(tǒng)常附帶的室內(nèi)吊頂凝水、霉菌污染的問題;又具有良好的節(jié)能效果。但是要使變風(fēng)量空調(diào)系統(tǒng)成功運行,充分表達(dá)其節(jié)能、衛(wèi)生、舒適及良好經(jīng)濟(jì)性,關(guān)鍵在于控制系統(tǒng)能否按照空調(diào)室內(nèi)的要求進(jìn)行控制。變風(fēng)量空調(diào)系統(tǒng)是靠變風(fēng)量末端實現(xiàn)的,而控制變風(fēng)量末端設(shè)備的依據(jù)是室內(nèi)空調(diào)參數(shù),合理準(zhǔn)確的測量室內(nèi)參數(shù)是實現(xiàn)控制的根本保證,在此根底上,提出一個合理的控制點。變風(fēng)量系統(tǒng)在多種末端裝置形式和控制方式下的室內(nèi)特性,然后對VAV末端裝置和控制形式進(jìn)行設(shè)計、優(yōu)化,成功實現(xiàn)VAV空調(diào)系統(tǒng)的選型、設(shè)計和應(yīng)用。對VAV空調(diào)系統(tǒng)的特性,國外研究較多,特別是對變風(fēng)量系統(tǒng)的控制和調(diào)節(jié)方法的研究,并有多年的設(shè)計運行實績。然而,國內(nèi)以前對VAV空調(diào)系統(tǒng)沒有引起足夠重視,對其特性研究較少;有些人也做了些研究,但大多套用自控模型進(jìn)行模擬,研究得到的結(jié)果對VAV空調(diào)系統(tǒng)實際存在的問題指導(dǎo)意義不大。西安建筑科技大學(xué)變風(fēng)量空調(diào)實驗室申請了陜西省教育廳專項科研方案工程,以研制多點智能測溫系統(tǒng)為技術(shù)平臺,對VAV空調(diào)系統(tǒng)在多熱污染源、多種變風(fēng)量末端形式下對變風(fēng)量系統(tǒng)室內(nèi)氣流流動特性和溫度場進(jìn)行測量和模擬,得到多污染源、多種變風(fēng)量末端形式下的系統(tǒng)特性,進(jìn)而提出變風(fēng)量空調(diào)系統(tǒng)的最正確控制參數(shù)和控制方案,實現(xiàn)室內(nèi)環(huán)境的健康舒適,為變風(fēng)量系統(tǒng)的設(shè)計、應(yīng)用提供理論依據(jù)。目前,針對變風(fēng)量空調(diào)系統(tǒng)在公共建筑物中多熱污染源、多種末端裝置形式下,對室內(nèi)氣流流動特性和溫度場狀況進(jìn)行測量和模擬,在國內(nèi)還沒有人系統(tǒng)地做出結(jié)果,而多污染源下的氣流形式及在變風(fēng)量系統(tǒng)下的空調(diào)效果更無人做出。劉金頌的課題就是該科研工程的子課題,即根據(jù)西安建筑科技大學(xué)變風(fēng)量空調(diào)實驗室現(xiàn)有的多點測溫系統(tǒng)的缺陷,研究一種新型的多點智能測溫系統(tǒng)。對多熱污染源、各種末端形式(節(jié)流型、風(fēng)機(jī)動力型和旁通型變風(fēng)量箱,送風(fēng)口形式有孔板型和條縫型風(fēng)口)下室內(nèi)的多點溫度進(jìn)行測量,為溫度場分析提供準(zhǔn)確可靠的數(shù)據(jù)。此外,迄今為止還沒有一種CPU散熱系統(tǒng)能保證永不失效。失去了散熱系統(tǒng)保護(hù)傘的“芯〞,往往會在幾秒鐘內(nèi)永遠(yuǎn)停止“跳動〞。微處理器功耗和溫度隨運行速度的加快而不斷增大,現(xiàn)已成為一個不折不扣的“燙手山芋〞。如何使處理器平安運行,提高系統(tǒng)的可靠性,防止因過熱而產(chǎn)生的死機(jī)、藍(lán)屏、反復(fù)重啟甚至處理器燒毀,不僅是處理器所面臨的困境,也是留給主板設(shè)計者的一個重要課題。為此,Intel率先提出了溫度監(jiān)控器〔ThermalMonitor〕的概念,通過對處理器進(jìn)行溫度控制和過熱保護(hù),大大提高了它的穩(wěn)定性和平安性。還有,焦餅中心溫度是焦炭成熟的標(biāo)志,也是焦?fàn)t標(biāo)準(zhǔn)溫度制定的依據(jù)。為了了解所制定的標(biāo)準(zhǔn)溫度是否合理,以及焦餅沿炭化室長向和高向成熟的均勻情況。需要選擇加熱正常的爐號,在推焦前半個小時里測量焦餅中心溫度。在炭化室機(jī)焦側(cè)焦餅中各取上中下三點,分別測量各點溫度,取其平均值作為焦餅中心溫度,并分別求出焦餅的上下溫度差,溫差越小,焦餅質(zhì)量就越好。一般焦餅上下各點溫差不超過100℃,最終焦餅中心溫度應(yīng)保持在100050℃。正常生產(chǎn)條件下,焦餅中心溫度規(guī)定一季度測量一次,當(dāng)更換加熱煤氣種類、改變結(jié)焦時間、改變標(biāo)準(zhǔn)溫度、配煤比變更較大以及爐溫有較大波動時,也應(yīng)測量焦餅中心溫度對標(biāo)準(zhǔn)溫度進(jìn)行檢查校正。工廠測量焦餅中心溫度時一般采用在機(jī)焦側(cè)插入特制的測量管,測量管內(nèi)所特制的點來代表焦餅中心溫度。由于管子長,插拔和測量過程具有高溫、高空、有電并且與其他工種交叉作業(yè)的危險因素,特別是以往的拔管方法,多人站在裝煤車上高空作業(yè),拔出管子后離燒燙的管子和翻開的爐口太近,容易燒傷燙傷,具有一定的危險性。為了防止操作時發(fā)生意外,保障作業(yè)過程平安順利進(jìn)行,就必須制定專用的測溫工具和詳細(xì)的作業(yè)步驟?;趥鞲衅鞯哪蜔岢潭冗€不夠到達(dá)這個指標(biāo),所以多點溫度監(jiān)控系統(tǒng)雖然可以防止上述操作的弊端,簡單、有效的對溫度進(jìn)行檢測,但還不能應(yīng)用在對焦餅中心溫度監(jiān)控這個領(lǐng)域中。這就需要研制耐高溫的傳感器。由上文可知,盡管多點溫度監(jiān)控系統(tǒng)開展迅速,簡單有效的解決了原來復(fù)雜的溫度監(jiān)控問題,但是它還存在很多問題,比方通信協(xié)議不標(biāo)準(zhǔn),傳感器質(zhì)量不過關(guān),現(xiàn)場管理和維護(hù)水平有待于加強(qiáng)等?;谝陨细鞣N問題,多點溫度監(jiān)控系統(tǒng)正朝著以下幾個方向開展:〔1〕系統(tǒng)不僅要實現(xiàn)實時監(jiān)測,而且在軟件技術(shù)上應(yīng)研究開發(fā)根據(jù)被監(jiān)測環(huán)境地點的參數(shù)進(jìn)行有效的判別、分析和提出專家決策方案。同時系統(tǒng)應(yīng)用軟件應(yīng)向網(wǎng)絡(luò)化開展,按統(tǒng)一的格式向外提供監(jiān)測數(shù)據(jù)?!?〕針對通信協(xié)議不標(biāo)準(zhǔn)和傳輸設(shè)備物理層協(xié)議不標(biāo)準(zhǔn)的問題,應(yīng)盡快尋找一種解決系統(tǒng)兼容性的途徑或制定相應(yīng)的專業(yè)技術(shù)標(biāo)準(zhǔn),這對促進(jìn)溫度監(jiān)控技術(shù)開展和系統(tǒng)的推廣應(yīng)用均具有十分重要的意義?!?〕研制高性能的溫度傳感器。〔4〕進(jìn)一步加強(qiáng)現(xiàn)場管理和維護(hù)水平。課題研究內(nèi)容及技術(shù)指標(biāo)本文針對多點溫度監(jiān)控系統(tǒng)下位機(jī)建立一個溫度信息管理系統(tǒng),完成設(shè)計內(nèi)容及實現(xiàn)的技術(shù)指標(biāo)如下:1、課題研究內(nèi)容〔1〕與下位機(jī)溫度監(jiān)控電路進(jìn)行數(shù)據(jù)通信,實現(xiàn)溫度信息的上傳和溫度設(shè)定值的下傳;〔2〕設(shè)計Access數(shù)據(jù)庫,記錄用戶信息和溫度信息;〔3〕用VB連接數(shù)據(jù)庫,完成溫度信息的查詢、顯示、趨勢圖、報表生成等功能。2、技術(shù)指標(biāo)〔1〕實時記錄溫度信息;〔2〕定時傳送溫度設(shè)定值。本文安排本論文共分5章。第1章概述,介紹多點溫度監(jiān)控系統(tǒng)的課題背景,多點溫度監(jiān)控系統(tǒng)的開展現(xiàn)狀以及本課題的研究內(nèi)容和技術(shù)指標(biāo);第2章介紹了多點溫度監(jiān)控系統(tǒng)總體方案的設(shè)計,以及課題的主要技術(shù)指標(biāo);第3章介紹PC機(jī)與單片機(jī)的通信,包括串行通信、RS-232總線、VB串行通信控件MSComm等。第4章具體介紹了多點溫度監(jiān)控管理系統(tǒng),包括用戶登陸模塊、系統(tǒng)功能模塊、數(shù)據(jù)庫、報表、查詢、顯示、趨勢圖等。第5章得出結(jié)論,并做了社會經(jīng)濟(jì)效益分析。多點溫度監(jiān)控系統(tǒng)總體方案的設(shè)計設(shè)計方案的不同將直接決定系統(tǒng)硬件的結(jié)構(gòu),從而確定軟件的不同編寫思路。本章將介紹多點溫度監(jiān)控系統(tǒng)的總體結(jié)構(gòu),給出結(jié)構(gòu)框圖并引入雙層總線的概念。最后給出系統(tǒng)的主要技術(shù)參數(shù)。系統(tǒng)描述我們采用現(xiàn)場總線進(jìn)行設(shè)計?,F(xiàn)場總線是應(yīng)用于生產(chǎn)現(xiàn)場、在智能測量控制設(shè)備之間實現(xiàn)雙向多點串行數(shù)字通信的系統(tǒng),也稱為開放式、數(shù)字化、多點通信的底層控制網(wǎng)絡(luò)。開放式表達(dá)在現(xiàn)場總線公開、標(biāo)準(zhǔn)的通信協(xié)議。任何國家、廠家生產(chǎn)的智能測量控制設(shè)備只要遵守公共的通信協(xié)議就可以成為現(xiàn)場總線的一個節(jié)點。數(shù)字化是相對于模擬信號而言。模擬信號的傳遞需要一對一的物理連接,信號變化緩慢,信號的抗干擾能力差。數(shù)字信號克服了這些缺陷,抗干擾能力強(qiáng)。多點通信得益于設(shè)備的通信功能。多個設(shè)備可以掛接在一對雙絞線上。結(jié)構(gòu)簡化而且系統(tǒng)接線簡單??傮w方案設(shè)計溫度傳感器的選擇是本系統(tǒng)的關(guān)鍵。由于智能溫度傳感器采用數(shù)字化技術(shù),能以數(shù)據(jù)形式輸出被測溫度值,具有測溫誤差小、分辨力高、抗干擾能力強(qiáng)、用戶可設(shè)定溫度上下限、具有超限自動報警功能,并且?guī)Т锌偩€接口,適配各種微控制器,因此我們采用智能溫度傳感器。我們采用DALLAS半導(dǎo)體公司生產(chǎn)的新型數(shù)字溫度傳感器DS18B20。DS18B20具有測溫準(zhǔn)確度高、總線掛接負(fù)載能力強(qiáng)的優(yōu)勢。它集溫度測量、報警監(jiān)測和數(shù)據(jù)通信多種功能于一體,并且兼容于DALLAS公司提出的單總線,可以很方便的組成底層總線。由于這層總線的主要功能是完成對溫度的檢測,所以稱之為測溫層總線。測溫層總線由AT89C51單片機(jī)進(jìn)行控制,單片機(jī)完成對總線上所有DS18B20發(fā)布命令和接收數(shù)據(jù)。另外,它還是溫度傳輸層總線不可缺少的一局部。單片機(jī)在獲取溫度數(shù)據(jù)后需要進(jìn)一步和PC機(jī)通信。本系統(tǒng)中只有一個單片機(jī)和PC進(jìn)行串行數(shù)據(jù)通信,通信距離在10m左右,因此選擇RS-232標(biāo)準(zhǔn)作為串行數(shù)據(jù)通信的物理層協(xié)議。這層總線結(jié)構(gòu)主要實現(xiàn)溫度數(shù)據(jù)的傳輸,所以稱之為溫度傳輸層總線。系統(tǒng)的總體結(jié)構(gòu)框圖如圖2.1所示。圖2.1系統(tǒng)的總體結(jié)構(gòu)框圖下位機(jī)通過DS18B20傳感器的測量,將溫度采集,采集上來的溫度信息經(jīng)過MAX232電平轉(zhuǎn)換上傳給上位機(jī)。這些上傳到上位機(jī)的溫度信息的處理是該多點溫度監(jiān)控系統(tǒng)-上位機(jī)最重要的一局部。上位機(jī)采用Access2003作為數(shù)據(jù)庫管理系統(tǒng),建立一個溫度信息數(shù)據(jù)庫,并用VisualBasic6.0開發(fā)數(shù)據(jù)庫的前臺應(yīng)用,實現(xiàn)了溫度信息的查詢、顯示、報表、趨勢圖等功能。課題主要技術(shù)指標(biāo)1、硬件平臺:微型計算機(jī)采用普通的PC機(jī)。2、軟件平臺(1)Windows操作系統(tǒng);(2)Access數(shù)據(jù)庫;(3)MicrosoftVisualBasic6.0開發(fā)工具。(4)應(yīng)用軟件①數(shù)據(jù)的串行通信;②數(shù)據(jù)的表格顯示、查詢、刪除和報表打印等功能。VB與單片機(jī)通信的建立多點溫度監(jiān)控系統(tǒng)下位機(jī)將溫度轉(zhuǎn)換并將溫度值存儲到單片機(jī)的RAM里,本章主要討論采用比擬廉價的通信方式—RS232來實現(xiàn)多點溫度監(jiān)控系統(tǒng)的上位機(jī)〔PC機(jī)〕向下位機(jī)〔單片機(jī)〕發(fā)送信息以及上位機(jī)接收下位機(jī)的溫度信息并加以處理。串行通信及RS—232總線多點溫度監(jiān)控系統(tǒng)下位機(jī)采集到的大量溫度信息,需要傳送至上位機(jī),為接下來的溫度分析處理提供數(shù)據(jù)。下位機(jī)只有一個單片機(jī)與PC機(jī)通信且兩者之間的距離不是很長,因此我們采用異步串行通信中應(yīng)用最廣的RS-232標(biāo)準(zhǔn)總線實現(xiàn)兩者之間的信息傳遞。本節(jié)將主要介紹串行通信的根本概念,數(shù)據(jù)傳送方式,RS-232總線標(biāo)準(zhǔn)等。串行通信隨著計算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的開展,計算機(jī)的通信功能顯得尤為重要。從廣義上講,計算機(jī)通信可以分為并行通信和串行通信。并行通信速度快、實時性好,但占用的口線多、本錢高、通信距離短,不適用于小型化產(chǎn)品。串行通信只需一根傳輸線即可完成通信功能,本錢低,在通信中得到了廣泛應(yīng)用。計算機(jī)與外界的數(shù)據(jù)傳送大多數(shù)都是串行的,通常把計算機(jī)與外界的數(shù)據(jù)傳送稱之為通信,因此提到的通信大多數(shù)都是指串行通信。1、串行通信的概念串行通信是計算機(jī)與外部設(shè)備進(jìn)行信息交換的一種方式,是指數(shù)據(jù)一位一位地按順序在一根信號線上進(jìn)行傳輸?shù)耐ㄐ欧绞?。串行通信有兩種根本工作方式:異步傳送和同步傳送。在單片機(jī)中使用的串行通信都是異步方式,因此本系統(tǒng)采用異步串行通信方式來實現(xiàn)上位機(jī)與下位機(jī)之間的通信。異步串行通信是以字符為單位組成的禎傳送的,即一禎一禎地傳送。禎由發(fā)送端一禎一禎地發(fā)送,通過傳輸線被接收一禎一禎地接收。發(fā)送端何時開始發(fā)送以及何時結(jié)束發(fā)送是由禎格式規(guī)定的。通信線上沒有數(shù)據(jù)傳送時為邏輯高電平,每當(dāng)接收端檢測到傳輸線上發(fā)送來的邏輯低電平〔禎起始位〕時就知道發(fā)送端已開始發(fā)送,每當(dāng)接收端接收到禎的停止位時就知道一禎字符信息已發(fā)送完畢。禎是一個字符的完整通信格式,由起始位、數(shù)據(jù)位、奇偶校驗位和停止位等四局部組成。字符傳送的禎格式如圖3.1所示:圖3.1異步通信的禎格式禎中各局部結(jié)構(gòu)和功能如下:1〕起始位:位于字符禎開頭,始終為邏輯“0”2〕數(shù)據(jù)位:緊跟起始位之后,數(shù)據(jù)位的個數(shù)可以是5、6、7、8或9位。PC機(jī)中經(jīng)常采用7位或8位數(shù)據(jù)傳送,8051串行口采用8位或9位數(shù)據(jù)傳送。傳送時,數(shù)據(jù)位從最低有效位開始發(fā)送,依次在接收設(shè)備中被轉(zhuǎn)換為并行數(shù)據(jù)。3〕奇偶校驗位:位于數(shù)據(jù)位后,用于對字符傳送作正確性檢查,因此奇偶校驗位是可選擇的,共有3種可能,即奇校驗、偶校驗和無校驗,由用戶根據(jù)需要選定。4〕停止位:位于字符禎末尾,為邏輯“1”2、串行通信的數(shù)據(jù)傳送方式在串行通信中,數(shù)據(jù)通常是在發(fā)送端和接收端之間進(jìn)行傳送,根據(jù)數(shù)據(jù)傳送的方向,可分成三種根本的傳送形式:單工、全雙工和半雙工。單工形式的數(shù)據(jù)傳送是單向的,只需要一根數(shù)據(jù)線,通信線的一端固定為發(fā)送端,另一端固定為接收端。半雙工形式的數(shù)據(jù)傳送是雙向的,但任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。雖然半雙工形式比單工形式靈活,但它的效率依然較低,從發(fā)送方式轉(zhuǎn)換到接收方式所需要的時間大約為數(shù)個毫秒,這個時間延遲在時間較為敏感的系統(tǒng)是無法忍受的。全雙工形式下,采用了信道劃分技術(shù),防止了半雙工形式的缺點,數(shù)據(jù)傳送是雙向的,且可以同時發(fā)送和接收數(shù)據(jù)。本系統(tǒng)采用了效率較高的全雙工通信形式。3、串行通信的傳送速率在串行通信中,用“波特率〞來描述數(shù)據(jù)的傳輸速率。所謂波特率,即每秒鐘傳送的二進(jìn)制位數(shù),其單位為bps。它是衡量串行數(shù)據(jù)傳輸快慢的重要指標(biāo)。接收方的波特率和發(fā)送方的波特率可以分別設(shè)置,但接收方的波特率必須與發(fā)送方的波特率相同。RS-232總線標(biāo)準(zhǔn)在串行通信時,要求雙方都采用一個標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通信。RS-232C是美國電子工業(yè)協(xié)會 EIA公布的串行通信標(biāo)準(zhǔn),RS是RecommendedStandard的字頭縮寫,代表推薦,232是標(biāo)識號,C表示修改的次數(shù)。RS-232C適用于短距離或帶調(diào)制解調(diào)器的通信場合,目前已廣泛應(yīng)用于計算機(jī)與外圍設(shè)備的串行異步通信接口中。1、機(jī)械特性RS-232C的機(jī)械特性主要指兩個通信裝置如何實現(xiàn)機(jī)械對接。RS-232C是數(shù)據(jù)終端設(shè)備DTE與數(shù)據(jù)通訊設(shè)備DCE之間的接口,RS-232C的機(jī)械標(biāo)準(zhǔn)規(guī)定DTE應(yīng)配置DB25插頭,即25針連接器,DEC應(yīng)配置DB25的插座,即25孔連接器。表3.1計算機(jī)DB-9連接器引腳信號功能引腳號信號名稱方向信號功能1DCDPC機(jī)←對方PC機(jī)收到遠(yuǎn)程信號〔載波檢測〕2RXDPC機(jī)←對方PC機(jī)接收數(shù)據(jù)3TXDPC機(jī)→對方PC機(jī)發(fā)送數(shù)據(jù)4DTRPC機(jī)→對方PC機(jī)準(zhǔn)備就緒5GND——信號地6DSRPC機(jī)←對方對方準(zhǔn)備就緒7RTSPC機(jī)→對方PC機(jī)請求發(fā)送數(shù)據(jù)8CTSPC機(jī)←對方對方已切換到接收狀態(tài)〔去除發(fā)送〕9RIPC機(jī)←對方通知PC機(jī),線路正常〔振鈴指示〕實際應(yīng)用中,DB-25型連接器中的許多信號用不上,對于一般的雙工通信,僅需幾條信號線就可實現(xiàn),包括一條發(fā)送線、一條接收線和一條地線。因此普遍采用DB9插頭,即9針連接器。表3.1給出了DB9連接器的信號引腳功能。本系統(tǒng)采用DB9型連接器,通過三根線實現(xiàn)系統(tǒng)連接,即接收數(shù)據(jù)引腳與發(fā)送數(shù)據(jù)引腳彼此交叉相連,信號地對應(yīng)相接。這是最常用的全雙工最簡單系統(tǒng)連接法。2、電氣特性RS-232標(biāo)準(zhǔn)的電氣特性如表3.2所示。表3.2RS-232標(biāo)準(zhǔn)的電氣特性不帶負(fù)載時驅(qū)動器輸出電平-25V~25V負(fù)載電阻范圍3~7k歐驅(qū)動器輸出電阻<300歐負(fù)載電容〔包括線間電容〕<2500pF邏輯“0〞時驅(qū)動器輸出電平5~15V邏輯“0〞時負(fù)載端接收電平>+3V邏輯“1〞時驅(qū)動器輸出電平-15~-5V邏輯“1〞時負(fù)載端接收電平<-3V輸出短路電流<500mA驅(qū)動器轉(zhuǎn)換速率<30由表4.2可以看出RS-232C電平采用負(fù)邏輯,邏輯“0〞:+5~+15V,邏輯“1〞:-5~-15V。在計算機(jī)和智能儀器內(nèi),通用的信號是正邏輯的TTL電平。而RS-232C電平是負(fù)邏輯的,與TTL電平不兼容,必須進(jìn)行電平轉(zhuǎn)換。電平轉(zhuǎn)換通常可以使用MC1488、MC1489、MAX232等芯片來實現(xiàn)。本系統(tǒng)是采用MAX232芯片實現(xiàn)電平轉(zhuǎn)換的。RS-232標(biāo)準(zhǔn)規(guī)定的波特率為:50、75、100、150、300、600、1200、4800、9600和19200bps。本系統(tǒng)波特率采用9600bps。VisualBasic6.0中的串行通信控件MSCommVisualBasic是一種可視化的編程語言,利用可視化技術(shù)進(jìn)行編程,可使應(yīng)用程序的開發(fā)簡單、快捷,可編寫出界面友好、功能強(qiáng)大的應(yīng)用程序。MSComm控件全稱為MicrosoftCommunicationsControl,是Microsoft公司提供的ActiveX控件,目的是為了簡化Windows下串行通信編程,它既可以用來提供簡單的串口端口通信功能,也可以用來創(chuàng)立功能完備的、事件驅(qū)動的高級通信工具。MSComm控件在串口編程時非常方便,程序員不必花時間去了解較為復(fù)雜的API函數(shù),而且在VisualBasic、VisualC++、Delphi等語言中均可以使用。使用它可以建立與串行端口的連接,通過串行端口連接到其它通信設(shè)備〔如調(diào)制解調(diào)器〕,發(fā)出命令,交換數(shù)據(jù),以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯誤。MSComm控件處理通信的方式MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。它提供以下兩種處理通信的方式。1、事件驅(qū)動方式事件驅(qū)動通信是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時程序得到通知,例如,在串口接收緩沖區(qū)中有一個字符到達(dá)或一個變化發(fā)生時,程序都可以利用MSComm控件的OnComm事件捕獲并處理這些通信事件,OnComm事件還可以檢查和處理通信錯誤。在程序設(shè)計中,可以在OnComm事件處理函數(shù)中參加自己的處理代碼,一旦事件發(fā)生即可自動執(zhí)行該段程序。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。2、查詢方式在程序的每個關(guān)鍵功能完成之后,可以通過檢查CommEvent屬性的值來查詢事件和錯誤。適用于自保持的應(yīng)用程序較小的編程。查詢方式的編程可用計時器或Do…Loop程序?qū)崿F(xiàn)。其實,查詢方式實質(zhì)上還是事件驅(qū)動,但在有些情況下,這種方式顯得更為便捷。MSComm控件的常用屬性對控件編程首先需要了解它的屬性和事件。下面介紹MSComm控件的一些主要屬性,如表3.3所示。表3.3MSComm控件的主要屬性屬性描述Commport設(shè)置并返回通信串口號Settings以字符串的形式設(shè)置并返回串口波特率、奇偶校驗、數(shù)據(jù)位、停止位。格式為:MSComm1.Settings=〞BBBB,P,D,S〞Portopen設(shè)置并返回串口狀態(tài),也可以翻開和關(guān)閉串口Input從接收緩沖區(qū)中讀取數(shù)據(jù)并清空緩沖區(qū)Inputlen設(shè)置并返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)InBufferSize設(shè)置并返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)InBufferCount設(shè)置并返回接收緩沖區(qū)中等待接收的字符數(shù)InputMode設(shè)置并返回接收數(shù)據(jù)的類型。其值為0和1時,分別表示通過Input屬性以文本方式和二進(jìn)制方式取回數(shù)據(jù)OutBufferSize設(shè)置并返回發(fā)送緩沖區(qū)的大小,缺省值為512字節(jié)OutBufferCount設(shè)置并返回發(fā)送緩沖區(qū)中等待計算機(jī)發(fā)送的字符數(shù)Output向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),該屬性設(shè)計時無效,運行時只讀Rthreshold在MSComm控件設(shè)置ConunEvent屬性為comEvReceive并產(chǎn)生OnComm之前,設(shè)置并返回要接收的字符數(shù)其中CommEvent屬性是一個非常重要的屬性。一旦串口發(fā)生通信事件或產(chǎn)生錯誤,依據(jù)產(chǎn)生的事件和錯誤,MSComm控件為CommEvent屬性賦以不同的代碼,同時產(chǎn)生OnComm事件。用戶程序就可在OnComm事件處理程序中針對不同的代碼,進(jìn)行相應(yīng)的處理。CommEvent屬性的事件代碼、常數(shù)以及含義參見表3.4和表3.5。表3.4CommEvent通信事件代碼、常數(shù)及含義表事件代碼常值含義1ComEvRecive接收到Rthreshold個字符。該事件將連續(xù)產(chǎn)生,直到用Input屬性從接收緩沖區(qū)中讀取并刪除字符2ComEvSend發(fā)送緩沖區(qū)中數(shù)據(jù)少于Sthreshold個,說明串口已經(jīng)發(fā)送了一些數(shù)據(jù),程序可以用Output屬性繼續(xù)發(fā)送數(shù)據(jù)3ComEvCTSClearToSend信號線的狀態(tài)發(fā)生變化4ComEvDSRDataSetReady信號線從1變到05ComEvCDCarrierDetect信號線的狀態(tài)發(fā)生變化6ComEvRing檢測到振鈴信號7ComEvEOF接收到文件結(jié)束符表3.5ComEventnt通信錯誤代碼、常數(shù)及含義表事件代碼常數(shù)含義1001ComEvntBreak接收到一個中斷信號1002ComEvntCTSTOClearToSend信號超時1003ComEvntDSRTODataSetReady信號超時1004ComEvntFrame禎錯誤1006ComEvntOverrun串口超速1007ComEvntCDTO載波檢測超時1008ComEvntRxOver接收緩沖區(qū)溢出,緩沖區(qū)中已沒有空間1009ComEvntRxParity奇偶校驗錯1010ComEvntTxFull發(fā)送緩沖區(qū)溢出,緩沖區(qū)中已沒有空間1011ComEvntDCB檢測串口的設(shè)備控制塊時發(fā)生錯誤MSComm控件的使用MSComm控件通信的流程圖如圖3.2所示。編寫程序時,只需要按照下面流程圖,即可實現(xiàn)通信功能。圖3.2MSComm控件通信的流程圖PC機(jī)與AT89S51單片機(jī)的通信PC機(jī)與單片機(jī)之間的串行通信主要實現(xiàn)下位機(jī)的溫度數(shù)據(jù)的采集和傳輸。下位機(jī)程序用匯編語言編寫,固化在AT89SC51單片機(jī)中。單片機(jī)是測量系統(tǒng)的數(shù)據(jù)采集端,它主要完成對多個測溫傳感器DS18B20的控制和溫度數(shù)據(jù)的讀取以及同上位機(jī)的數(shù)據(jù)通信。上位機(jī)軟件用VB編寫,主要完成通信參數(shù)設(shè)置和溫度數(shù)據(jù)的轉(zhuǎn)換。通信參數(shù)設(shè)置主要用來完成對系統(tǒng)通信參數(shù)的設(shè)置,包括設(shè)定通信端口、波特率、數(shù)據(jù)位、奇偶校驗位和停止位。溫度數(shù)據(jù)的轉(zhuǎn)換主要實現(xiàn)對接受到的溫度數(shù)據(jù)由十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,同時這一步也為后面的數(shù)據(jù)庫的生成及溫度信息管理工作做好了準(zhǔn)備。硬件連接線路PC機(jī)與單片機(jī)之間的通信通過串口實現(xiàn)。由于RS232電平與TTL電平不兼容,本系統(tǒng)通過MAX232芯片實現(xiàn)TTL電平到RS232電平的轉(zhuǎn)換,MAX232芯片是包含兩路接收器和驅(qū)動器的RS232電平轉(zhuǎn)換芯片,適用于各種232通信接口。如圖3.3所示。圖3.3PC與硬件單片機(jī)的連接電路圖通信協(xié)議為使數(shù)據(jù)在PC和單片機(jī)之間無過失的傳送,本文采用通信協(xié)議來規(guī)約數(shù)據(jù)的傳輸。PC機(jī)與單片機(jī)雙方的通信協(xié)議如下:波特率:9600bps;數(shù)據(jù)格式:8位數(shù)據(jù)位,1位停止位,無奇偶校驗;傳送方式:PC機(jī)和單片機(jī)都采用查詢方式收發(fā)數(shù)據(jù),傳送的數(shù)據(jù)格式為二進(jìn)制格式。DS18B20轉(zhuǎn)換出的溫度信息包含兩個字節(jié),經(jīng)過處理后,一個字節(jié)為溫度的整數(shù)局部,另一個字節(jié)為溫度的小數(shù)局部。每個DS18B20共傳送三個字節(jié),第一個字節(jié)為傳感器所在的行列號,第二個字節(jié)是溫度的整數(shù)局部,第三個字節(jié)是溫度的小數(shù)局部。單片機(jī)收到PC機(jī)發(fā)送的握手信號“S〞后,就依次命令DS18B20進(jìn)行溫度轉(zhuǎn)換;PC機(jī)依次接收單片機(jī)上傳過來的數(shù)據(jù),并顯示在特定區(qū)域。VB程序編制本系統(tǒng)串行通信的界面如圖3.4所示:圖3.4串行通信的界面因為系統(tǒng)采用的是事件驅(qū)動,所以具體程序的編制必須圍繞相應(yīng)的事件進(jìn)行。本系統(tǒng)中,有關(guān)通信的工作過程主要有:通信參數(shù)初始化、發(fā)送握手信號、接收數(shù)據(jù)。具體初始化程序如下:PrivateSubForm_Load()MSComm1.CommPort=1'設(shè)置通訊窗口MSComm1.Settings="9600,N,8,1"'設(shè)置數(shù)據(jù)傳輸率和發(fā)送字符格式MSComm1.InputMode=comInputModeTextMSComm1.InBufferSize=1024'設(shè)置接收緩沖區(qū)1024ByteMSComm1.InputLen=0'設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù),0表示一次讀取所有數(shù)據(jù)MSComm1.RThreshold=21IfMSComm1.PortOpen=FalseThen'翻開串口MSComm1.PortOpen=TrueEndIfEndSub初始化完成后,PC機(jī)就可以與單片機(jī)進(jìn)行通信了。點擊“開始接收〞按鈕即可完成向單片機(jī)發(fā)送握手信號功能。發(fā)送程序為:DimreceAsStringrece=MSComm1.InputIfMid(rece,1,1)="S"ThenText1.Text=Text1.Text&receElseText1.Text=Text1.TextEndIf單片機(jī)接收到PC機(jī)發(fā)送的握手信號S后,就依次命令總線上的DS18B20進(jìn)行溫度轉(zhuǎn)換并向PC機(jī)發(fā)送轉(zhuǎn)換后的溫度信息。我們在OnComm事件里進(jìn)行溫度數(shù)據(jù)的接收和轉(zhuǎn)換。在轉(zhuǎn)換后的溫度之間加上一個空格,且在單個DS18B20溫度信息末尾加上回車和換行符,目的是為PC機(jī)接收到的溫度信息保存的文本文件轉(zhuǎn)換成數(shù)據(jù)庫作好準(zhǔn)備。如果系統(tǒng)初始化不正?;駾S18B20的端脫開未接好時,轉(zhuǎn)換出的溫度為默認(rèn)初始值+85℃,溫度上下字節(jié)為05H和50H。系統(tǒng)檢測到DS18B20轉(zhuǎn)換的溫度值為上面兩種情況時,我們在接收區(qū)顯示該測點出現(xiàn)“PrivateSubMSComm1_OnComm()DimbufferAsVariantDimarr()AsByteDimiAsInteger,aAsIntegerDimrestr1AsString,restr2AsString,srestr3AsString,ABCAsStringa=MSComm1.InBufferCountSelectCaseMSComm1.CommEventCasecomEvReceivebuffer=MSComm1.Inputarr=bufferFori=0To18Step3restr1=arr(i)restr2=arr(i+1)restr3=arr(i+2)Ifrestr2=127Andrestr3=240ThenText1.Text=Text1.Text=Str(Now)+""+restr1+""+"測量有誤"+""+Chr(13)+Chr(10)ElseIfVal(restr3)=0ThenABC="."+Mid$(Str(Val(restr3)/256),2,3)ElseABC=Mid$(Str(Val(restr3)/256),2,3)EndIfText1.Text=Text1.Text+Str(Now)+""+restr1+""+restr2+ABC+""+Chr(13)+Chr(10)EndIfNextiEndSelectEndSub多點溫度信息管理系統(tǒng)多點溫度監(jiān)控系統(tǒng)下位機(jī)采集檢測的溫度為本上位機(jī)提供了數(shù)據(jù),多點溫度信息管理系統(tǒng)將實現(xiàn)對這些數(shù)據(jù)的查詢、顯示、趨勢圖、報表生成等處理功能,建立一個易于使用、易于管理的人機(jī)交互界面。多點溫度信息管理系統(tǒng)功能多點溫度信息管理系統(tǒng)的目的是對下位機(jī)檢測的數(shù)據(jù)進(jìn)行后處理。多點溫度信息管理系統(tǒng)主要包括以下功能:1.與多點溫度監(jiān)控系統(tǒng)下位機(jī)進(jìn)行數(shù)據(jù)通信;2.檢測數(shù)據(jù)錄入數(shù)據(jù)庫;3.實現(xiàn)溫度信息庫的查詢、顯示、趨勢圖、報表生成等處理功能。多點溫度信息管理系統(tǒng)軟件總體框圖如圖4.1所示。圖4.1多點溫度信息管理系統(tǒng)軟件總體框圖為防止不相關(guān)人員隨意翻開本軟件修改,刪除檢測結(jié)果,所以軟件運行后,首先設(shè)計了登陸對話框,要求輸入用戶名和密碼,輸入正確后才能進(jìn)入該軟件的主界面。主界面采用MDI菜單形式設(shè)計,通過下拉菜單,可以進(jìn)行系統(tǒng)功能即添加新用戶名和修改密碼、與下位機(jī)進(jìn)行串行通信〔第三章已經(jīng)介紹〕、將接收到的溫度信息生成數(shù)據(jù)庫、對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、顯示、刪除、趨勢圖和生成報表等操作。多點溫度信息管理系統(tǒng)軟件運行在PC機(jī)上,開發(fā)平臺采用MicrosoftVisualBasic6.0,下面將詳細(xì)介紹各個模塊的實現(xiàn)過程。數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫,是以一定的組織方式存儲在計算機(jī)中相關(guān)數(shù)據(jù)的集合。它能以最正確方式、最少的重復(fù)、最大的獨立性為多種應(yīng)用提供共享效勞。多點溫度信息管理系統(tǒng)數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫,用Access2003開發(fā)。Access2003是開發(fā)中小型數(shù)據(jù)庫的首選數(shù)據(jù)庫管理系統(tǒng),使用它可以很方便的設(shè)計出一個出色的關(guān)系數(shù)據(jù)庫,而且VB可以通過ADOdata對象建立對Access類型數(shù)據(jù)庫的快速連接。Access數(shù)據(jù)庫的設(shè)計在MicrosoftAccess數(shù)據(jù)庫中,信息是以表的形式組織起來的,表就是數(shù)據(jù)以行和列的形式組織在一起,每一行代表一條記錄,每一列代表一個字段,描述它所含有的數(shù)據(jù)。根據(jù)該系統(tǒng)的功能,我設(shè)計了兩個表:用戶信息表和溫度信息表。用戶信息表用于描述用戶名和密碼,完成用戶登陸信息和密碼修改信息的驗證;溫度信息表用于描述下位機(jī)每個DS18B20的測量結(jié)果,即傳感器的測量日期、行列號、溫度。兩個表的結(jié)構(gòu)分別如表4.1所示。表4.1多點溫度信息數(shù)據(jù)庫的表結(jié)構(gòu)(a)溫度信息表字段名稱字段大小必填字段數(shù)據(jù)類型測量日期50是文本測量時間50是文本行列號2是文本溫度10是文本〔b〕用戶信息表字段名稱字段大小必填字段數(shù)據(jù)類型用戶名8是文本密碼6是文本由于數(shù)據(jù)在下位機(jī)和上位機(jī)之間傳輸?shù)臅r間很短,所以約定溫度信息傳送至上位機(jī)的日期和時間為測量的日期和時間。由于測量日期和時間不會重復(fù),所以根據(jù)日期和時間,就可以區(qū)分?jǐn)?shù)據(jù)庫中的數(shù)據(jù)屬于哪一次檢測。VB操作Access數(shù)據(jù)庫的方法VB訪問數(shù)據(jù)庫有多種方法,如Data控件、DAO對象、RDO對象、ADO控件和ADO對象等。MicrosoftVisualBasic6.0提供了三種不同的訪問數(shù)據(jù)庫接口:DAO數(shù)據(jù)存取對象、RDO遠(yuǎn)程數(shù)據(jù)對象、ADOActiveX數(shù)據(jù)對象。DAO〔DataAccessObjects〕數(shù)據(jù)存取對象是數(shù)據(jù)訪問對象之一,是VB最早引入的數(shù)據(jù)訪問技術(shù)。它比Data控件功能強(qiáng)大,不僅可以翻開、訪問并操縱已有的數(shù)據(jù)庫,而且可以創(chuàng)立數(shù)據(jù)庫、表和索引。另外,它不需要添加任何數(shù)據(jù)控件,只用程序代碼就能創(chuàng)立完整的數(shù)據(jù)庫應(yīng)用程序,但使用該對象之前應(yīng)首先在工程中引用它。RDO〔RemoteDataObjects〕遠(yuǎn)程數(shù)據(jù)對象是一個到ODBC的面向?qū)ο蟮臄?shù)據(jù)訪問接口,有了VisualBasic6.0以后,RDO已逐步被ADO替代。ADO〔ActiveXDataObjects〕ActiveX數(shù)據(jù)對象是最新的數(shù)據(jù)訪問技術(shù),訪問更加簡單和靈活,支持多種數(shù)據(jù)庫,而且訪問的數(shù)據(jù)庫類型也更為豐富,特別在Internet方面的應(yīng)用可極大提高系統(tǒng)性能。所以,本文選擇ADOData控件來訪問數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)庫的操作。ADOData控件使用MicrosoftActiveX數(shù)據(jù)對象〔ADO〕來快速建立數(shù)據(jù)綁定控件和數(shù)據(jù)提供者之間的連接。數(shù)據(jù)綁定控件是任何具有數(shù)據(jù)源屬性的控件。盡管在程序中可以直接使用ActiveX數(shù)據(jù)對象,但ADOData控件作為一個圖形控件的優(yōu)勢,以及一個易于使用的界面,使用戶可以用最少的代碼創(chuàng)立數(shù)據(jù)庫應(yīng)用程序。ADOData控件屬性很多,其中ConnectionString屬性和RecordSource屬性是兩個非常重要的屬性。ConnectionString屬性值是一個字符串,包含進(jìn)行一個連接所需要的所有設(shè)置值,在字符串中所傳遞的參數(shù)是與驅(qū)動程序相關(guān)的。RecordSource屬性包含一條語句或一個表格名稱,用于決定從數(shù)據(jù)庫檢索什么信息。設(shè)置ADOData控件與數(shù)據(jù)庫的連接,具體代碼如下:DimconnectionstringAsStringconnectionstring="provider=microsoft.jet.oledb.4.0;"&"datasource=用戶信息表.mdb"conn.Openconnectionstring數(shù)據(jù)庫的生成第二章中已經(jīng)提到了通過保存按鈕,將接收到的溫度信息存儲在指定的文本文件中。我們設(shè)計了一個程序?qū)崿F(xiàn)了將文本文件中的內(nèi)容轉(zhuǎn)換到Access數(shù)據(jù)庫中。通過調(diào)用主界面的數(shù)據(jù)庫子菜單就可以將溫度信息保存到溫度信息表中。用戶信息表中的信息是事先填寫好的。應(yīng)用程序的設(shè)計數(shù)據(jù)庫建立好以后,就可以對其進(jìn)行各種操作了。下文將分別介紹在MicrosoftVisualBasic6.0集成環(huán)境下各個模塊的設(shè)計過程。首先運行MicrosoftVisualBasic6.0,出現(xiàn)“新建工程〞對話框,如圖4.2所示。選擇新建“標(biāo)準(zhǔn)EXE〞,執(zhí)行“翻開〞命令,進(jìn)入VisualBasic工程集成開發(fā)環(huán)境,窗體設(shè)計器會自動出現(xiàn)一個Form1的空白窗體,如圖4.3所示。圖4.2“新建工程〞對話框圖4.3空白窗體用戶登陸模塊設(shè)計為防止不相關(guān)人員隨意翻開本軟件修改,刪除檢測結(jié)果,所以軟件運行后,首先設(shè)計了登陸對話框,要求輸入用戶名和密碼,輸入正確后才能進(jìn)入該軟件的主界面。如果失敗達(dá)三次,那么自動退出系統(tǒng)。用戶登陸界面如圖4.4所示。圖4.4用戶登陸界面在空白窗體上,添加2個Label控件、2個TextBox控件、1個ADODC控件。界面上的2個Label控件用來標(biāo)識窗體中的信息〔用戶名,密碼〕,2個TextBox控件用來輸入用戶名和密碼,2個CommandButton控件用來確定或取消登陸,1個ADODC控件〔運行時隱藏〕用來完成和數(shù)據(jù)庫用戶信息表的連接。系統(tǒng)功能模塊設(shè)計系統(tǒng)功能模塊主要完成兩個功能:用戶管理和退出系統(tǒng)。其中用戶管理用于修改擁護(hù)密碼和添加新的用戶名和密碼。1.修改密碼界面如圖4.5所示。圖4.5修改用戶密碼界面界面上的4個Label控件用來標(biāo)識窗體中的信息〔用戶名,原密碼,新密碼,確認(rèn)密碼〕,4個TextBox控件用來輸入用戶名,原密碼,新密碼,確認(rèn)密碼2個CommandButton控件用來確定或取消修改密碼,1個ADODC控件〔運行時隱藏〕用來完成和數(shù)據(jù)庫用戶信息表的連接。2.添加新用戶界面如圖4.6所示。界面上的3個Label控件用來標(biāo)識窗體中的信息〔新用戶名,用戶密碼,確認(rèn)密碼〕,3個TextBox控件用來輸入新用戶名,用戶密碼,確認(rèn)密碼,2個CommandButton控件用來確定或取消添加新用戶,1個ADODC控件〔運行時隱藏〕用來完成和數(shù)據(jù)庫用戶信息表的連接。圖4.6添加新用戶界面主界面的設(shè)計為了方便地管理系統(tǒng)程序,且占有教少的系統(tǒng)資源,我們采用多文檔界面MDI進(jìn)行主界面的設(shè)計。通過選擇主界面上的菜單,我們就可以實現(xiàn)對溫度信息的各種操作。系統(tǒng)的主界面如圖4.7所示。主界面主要由窗體、菜單欄、狀態(tài)欄組成。菜單欄是通過VB中的菜單編輯器設(shè)計的;狀態(tài)欄用于顯示系統(tǒng)日期、時間和設(shè)計信息,通過StatusBar控件實現(xiàn)。圖4.7主界面在使用菜單編輯器之前首先需要啟動它,它的啟動方式有下面4種形式。選擇“工具〞/“菜單編輯器〞命令;在“標(biāo)準(zhǔn)〞工具欄上選擇“菜單編輯器〞圖表;用鼠標(biāo)右鍵單擊要添加的菜單窗體,在彈出的快捷菜單中選擇“菜單編輯器〞命令;利用快捷鍵{Ctrl+E}來調(diào)用“菜單編輯器〞。翻開的菜單編輯器如圖4.8所示。其中包括三個區(qū)域:菜單屬性設(shè)置區(qū)、菜單編輯區(qū)、菜單列表區(qū)。菜單屬性設(shè)置區(qū)是指在菜單編輯器中分隔條上面的局部,它主要用于設(shè)置菜單的相關(guān)屬性。其主要屬性有標(biāo)題、名稱、索引以及快捷鍵。其中標(biāo)題和名稱屬性是必須要設(shè)置的,其他的屬性可以采用默認(rèn)值,或者不需設(shè)置。菜單編輯區(qū)是指中間的7個按鈕,主要用于對已經(jīng)輸入的菜單進(jìn)行簡單的編輯操作。菜單列表區(qū)就是指菜單項的分級列表。將子菜單單項縮進(jìn)以指出它們的分級位置或等級。圖4.8菜單編輯器StatusBar控件提供窗體。該窗體通常位于父窗體的底部,通過這一窗體,應(yīng)用程序能顯示各種數(shù)據(jù)。StatusBar最多能被分成16個Panel對象,這些對象包含在Panels集合中。StatusBar控件是Active控件,在使用該控件之前需要先將其添加到工具箱中。選擇“工程〞/“部件〞命令,在彈出的對話框中選中MicrosoftWindowsCommonControls6.0(SP6)項,即可將一組控件添加到工具箱中,其中,圖4.9中鼠標(biāo)所指的即為StatusBar控件。圖4.9工具箱中的StatusBar控件將StatusBar控件添加到窗體上,用鼠標(biāo)右鍵單擊該控件,在彈出的快捷菜單中選擇“屬性〞命令,即可彈出“屬性頁〞對話框。如圖4.10所示。選擇“窗格〞選項卡,默認(rèn)會自動創(chuàng)立一個窗格,設(shè)置第一個窗格的“樣式〞為6-sbrDate,顯示當(dāng)前系統(tǒng)的日期。單擊“插入窗格〞按鈕,插入一個表格,設(shè)置第二個窗格的“樣式〞為5-sbrTime,用于顯示時間。單擊“插入窗格〞按鈕,插入一個表格,在第三個窗格的“文本〞中輸入設(shè)計者:姚維丹。單擊“插入窗格〞按鈕,插入一個表格,在第四個窗格的“文本〞中輸入指導(dǎo)教師:王昱。圖4.10StatusBar控件屬性頁顯示模塊以及數(shù)據(jù)庫顯示模塊的設(shè)計完整的溫度信息顯示采用類似于電子數(shù)據(jù)表的DataGrid控件實現(xiàn)。設(shè)置好的界面如圖4.11所示:在VB6.0中的眾多數(shù)據(jù)控件中,DataGrid控件是最靈活、功能最強(qiáng)大的控件之一。使用DataGrid控件無須編寫任何代碼,只要綁定到ADO控件上,就可以實現(xiàn)數(shù)據(jù)的新增、修改、刪除和瀏覽,還可以對數(shù)據(jù)進(jìn)行格式化、鎖定等。圖4.11溫度信息顯示界面同理,設(shè)計好的數(shù)據(jù)庫顯示界面如圖4.12所示。在數(shù)據(jù)庫顯示界面里可以進(jìn)行用戶信息的以及溫度信息的添加、修改、刪除和瀏覽等功能。圖4.12數(shù)據(jù)庫顯示界面查詢模塊的設(shè)計輸入行列號、測量日期,單擊查詢,就會在表中顯示所有當(dāng)天某個行列號的所有溫度信息。如圖4.13所示。圖4.13查詢界面通信及趨勢圖模塊的設(shè)計關(guān)于通信模塊的設(shè)計,本文在第三章已經(jīng)進(jìn)行了詳細(xì)的表達(dá),在這里不再贅述。下面介紹趨勢圖模塊的建立。本文首先建立了一個直角坐標(biāo)系統(tǒng)。在VB中,包括系統(tǒng)標(biāo)準(zhǔn)坐標(biāo)系統(tǒng)和用戶自定義坐標(biāo)系統(tǒng)。坐標(biāo)系統(tǒng)的坐標(biāo)單位可以分為Twip、Point、Pixel、Character、Inch、mm、cm和用戶自定義8種形式。不同規(guī)格的坐標(biāo)系統(tǒng)只是度量單位和精度改變,坐標(biāo)軸的長度或者圖區(qū)域的大小并不因此而改變。本文采用Scale方法自定義的坐標(biāo)系統(tǒng),以Twip為坐標(biāo)系的坐標(biāo)單位。Scale方法是自定義坐標(biāo)系統(tǒng)最常用的方法,用來定義Form、PictureBox或Printer的坐標(biāo)系統(tǒng)。其語法如下:[對象].Scale(xLeft,yTop)-(xRight,yBottom)其中,對象可以是窗體、圖片框或打印機(jī),默認(rèn)為焦點所在的窗體對象。(xLeft,yTop)表示對象的左上角的坐標(biāo)值,(xRight,yBottom)表示對象右下角的坐標(biāo)值。由于居民用戶內(nèi)的溫度都在0-40℃,所以本文所建立的坐標(biāo)系,溫度在0-40℃之間,如圖4.14所示:圖4.14坐標(biāo)系本文采用VB中的line函數(shù)進(jìn)行趨勢圖中線的設(shè)計。Line方法可以在窗體或圖片框指定位置上,按指定的顏色畫直線或者曲線。Line方法的格式如下:Object.Line[STEP](X1,Y1)[STEP](X1,Y2),[COLOR],[B][F]報表模塊的設(shè)計為了方便保存和匯總溫度信息,設(shè)計了溫度信息報表及打印功能。數(shù)據(jù)報表不僅僅是數(shù)據(jù)簡單、直接的輸出,它還包括對數(shù)據(jù)的一些額外操作,如數(shù)據(jù)匯總。VB6.0中提供的“數(shù)據(jù)報表設(shè)計器〞〔DataReportdesigner〕是一個極為靈活的報表設(shè)計工具,它以“數(shù)據(jù)環(huán)境設(shè)計器〞〔DataEnvironment〕作為數(shù)據(jù)源,能創(chuàng)立有層次的、匯總假設(shè)干關(guān)系型數(shù)據(jù)表數(shù)據(jù)的復(fù)雜報表。創(chuàng)立一個數(shù)據(jù)報表的步驟為:1. 創(chuàng)立一個包含Command對象層次結(jié)構(gòu)的數(shù)據(jù)環(huán)境設(shè)計器。2. 設(shè)置數(shù)據(jù)報表設(shè)計器的DataSource屬性為數(shù)據(jù)環(huán)境設(shè)計器。3. 設(shè)置DataMember屬性為最頂層的Command對象。4. 右鍵單擊數(shù)據(jù)報表設(shè)計器并單擊“檢索結(jié)構(gòu)〞。在檢索結(jié)構(gòu)之后,將創(chuàng)立適當(dāng)數(shù)目的分組標(biāo)頭和注腳,而且每一標(biāo)頭/注腳對被指定一個對應(yīng)于一個Command對象的名字。5. 把Command對象從數(shù)據(jù)環(huán)境設(shè)計器拖到數(shù)據(jù)報表設(shè)計器上的對應(yīng)局部。Command對象包含的所有數(shù)據(jù)字段,都作為Command對象被放下的局部中的TextBox控件,被自動創(chuàng)立在數(shù)據(jù)報表上。每一TextBox的DataMember屬性和DataField屬性都按照Command對象及其數(shù)據(jù)字段設(shè)置。6. 從每一個TextBox控件創(chuàng)立時所在的局部上將TextBox控件拖動到數(shù)據(jù)報表設(shè)計器的不同局部上。7. 按照需要將Function控件添加到報表。創(chuàng)立好的數(shù)據(jù)報表界面如圖4.15所示。圖4.15數(shù)據(jù)報表界面“關(guān)于〞模塊的設(shè)計“關(guān)于〞窗體界面如圖4.16所示。圖4.16“關(guān)于〞窗體控件的主要屬性和作用如表4.2所示。表4.2“關(guān)于〞窗體控件的主要屬性控件類型名稱屬性設(shè)置FormForm8Caption=關(guān)于LabelLabel1Caption=多點溫度監(jiān)控系統(tǒng)Label2Caption=當(dāng)前版本號:1.0Label3Caption=版權(quán)所有,侵權(quán)必究。CommandCommand1Caption=確認(rèn)保存應(yīng)用程序當(dāng)應(yīng)用程序編寫完后,就應(yīng)該將其保存起來。事實上,編輯過程中經(jīng)常進(jìn)行保存是一個很好的習(xí)慣,這樣可以防止由于系統(tǒng)崩潰或機(jī)器掉電而導(dǎo)致的數(shù)據(jù)喪失。要保存應(yīng)用程序,可單擊標(biāo)準(zhǔn)工具欄的“保存工程〞按鈕。如果工程尚未保存過,那么系統(tǒng)首先顯示“文件另存為〞對話框,提示編程人員確定用于保存窗體的文件名。確定窗體文件的名字后,單擊“保存〞按鈕,將顯示“工程另存為〞對話框,提示編程人員確定用于保存工程的文件名。確定工程文件的名字之后,單擊“保存〞按鈕即可保存與應(yīng)用程序有關(guān)的所有文件。VisualBasic把用來構(gòu)造一個應(yīng)用程序的所有相關(guān)文件稱為一個工程〔Project〕。一個工程通常包括以下幾類文件。工程文件〔*.vbp〕;窗體文件〔*.frm〕;二進(jìn)制窗體文件〔*.frx〕;標(biāo)準(zhǔn)模塊文件〔*.bas〕;類模塊文件〔*.cls〕。建立可執(zhí)行文件分別完成各項功能之后,為了使應(yīng)用程序能夠脫離開發(fā)環(huán)境而直接在Windows環(huán)境下運行,就必須將應(yīng)用程序編譯成可執(zhí)行文件〔.exe文件〕。編譯方法是:依次選擇“文件〞菜單的“生成工程1.exe〞命令〔這里的“工程1〞是工程名〕,彈出“生成工程〞對話框,選定保存位置,輸入可執(zhí)行文件的名字,單擊“確定〞按鈕即可在指定位置建立一個可執(zhí)行文件。結(jié)論溫度是工業(yè)生產(chǎn)中最常見和最根本的工藝參數(shù)之一,任何物理和化學(xué)變化的過程都與溫度密切相關(guān)。所以,在生產(chǎn)過程中常需對溫度進(jìn)行檢測和控制。多點溫度監(jiān)控系統(tǒng)采用下位機(jī)進(jìn)行多點溫度的檢測、控制,上位機(jī)進(jìn)行溫度信息顯示、查詢、報表、趨勢圖以及實時控制,對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用。在此前提下,本文使用MicrosoftVisualBasic6.0語言設(shè)計了多點溫度監(jiān)控系統(tǒng)上位機(jī)。采用分模塊設(shè)計思想分別實現(xiàn)各模塊的功能然后總體結(jié)合實現(xiàn)統(tǒng)一的方案設(shè)計,該課題的技術(shù)指標(biāo)。整個課題的開發(fā)過程主要包括了兩個方面的內(nèi)容:一、實現(xiàn)上位機(jī)與下位機(jī)的通信,完成溫度信息的上傳與溫度給定值的下傳;二、采用VB語言編程對多點溫度信息管理系統(tǒng)的設(shè)計,從而完成各個用戶房間溫度的查詢、顯示、報表、趨勢圖等功能。社會經(jīng)濟(jì)效益分析多點溫度監(jiān)控系統(tǒng)針對各個分布點的溫度進(jìn)行檢測控制,實現(xiàn)了多點溫度信息的統(tǒng)一管理。同以往單點溫度控制系統(tǒng)相比,集中程度高,運行操作簡單,不但提高了溫度的監(jiān)控精度,還節(jié)省了控制時間,提高了社會生產(chǎn)效率。防止了不必要的資源浪費。有著良好的社會經(jīng)濟(jì)效益?;赩isualBasic是最快速、最簡單的編程語言之一。它簡單易學(xué)、容易掌握,編程人員不用編寫大量的代碼去描述界面元素的外觀和位置,而只需要把預(yù)先建立好的對象放到屏幕的某一位置即可,從而使編程效率得到了極大的提高。本文選擇了在MicrosoftVisualBasic6.0的集成開發(fā)環(huán)境下,進(jìn)行編程實現(xiàn)了多點溫度監(jiān)控系統(tǒng)的各局部功能。再加上本文的分模塊設(shè)計編程思想,從而使得程序?qū)哟吻宄唵我锥?。所設(shè)計的多點溫度監(jiān)控系統(tǒng)上位機(jī),控制精度高,溫度顯示直觀,設(shè)計本錢低??偠灾?,只需進(jìn)一步完善該多點溫度監(jiān)控系統(tǒng)的各局部功能,基于它的操作簡單,該多點溫度監(jiān)控系統(tǒng)使用方便,功能強(qiáng)大,本錢低廉,定會有一個很好的社會市場需求。參考文獻(xiàn)李江全,張麗,岑紅蕾.VisualBasic串口通信與測控應(yīng)用技術(shù)實戰(zhàn)詳解.北京:人民郵電出版社,2007:150-155李長林,沙占友等.VisualBasic串口通信技術(shù)與典型實例.北京:清華大學(xué)出版社,2006:112-157李長林,張麗華,王紅.VisualBasic數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)從根底到實踐.北京:電子工業(yè)出版社,2006:276-310劉彬彬,高春艷,孫秀梅等.VisualBasic從入門到精通.北京:清華大學(xué)出版社,2023:427-454陳杰華,劉奇,卿川.奇思異想編程序.北京:國防工業(yè)出版社,2004:314-315斯琴巴圖,楊利潤等.零根底學(xué)VisualBasic.北京:機(jī)械工業(yè)出版社,2023:228-230白曉勇,余健等.VisualBasic課程設(shè)計案例精編.北京:清華大學(xué)出版社,2007:255-256陳紫紅,安劍,孫秀梅等.VisualBasic工程開發(fā)全程實錄.北京:清華大學(xué)出版社,2023:115-124胡小江等.21天學(xué)通VisualBasic.北京:電子工業(yè)出版社,2023:239-251范逸之.VisualBasic與RS232串行通訊控制.北京:中國青年出版社,2000:2-15李懷明等.VisualBasic6.0中文版參考詳解.北京:清華大學(xué)出版社,1999:98-103龔沛增.VisualBasic程序設(shè)計教程.北京:清華大學(xué)出版社,2004:11-32劉新民.VisualBasic6.0程序設(shè)計.北京:清華大學(xué)出版社,2004:61-83劉瑞新,李樹東.VisualBasic程序設(shè)計教程習(xí)題及習(xí)題解答.北京:電子工業(yè)出版社,1999:101-120郭琦.VisualBasic數(shù)據(jù)庫系統(tǒng)開發(fā)技術(shù).北京:人民郵電出版社,2004:42-53孫越.VisualBasic數(shù)據(jù)庫開發(fā)自學(xué)教程.北京:人民郵電出版社,2005:111-123馬壯,吳錚,王永強(qiáng).基于VB的PC機(jī)與單片機(jī)串行通信系統(tǒng)研究與實現(xiàn).唐山學(xué)院學(xué)報,2023,21(4):124-132劉金頌.多點智能測溫系統(tǒng)在VAV系統(tǒng)室內(nèi)環(huán)境測量中的應(yīng)用:[碩士學(xué)位論文].陜西:西安建筑科技大學(xué),2006丁幼春,熊利榮,黃劍.基于AT89S52和DS18B20的多點溫度檢測報警系統(tǒng).農(nóng)機(jī)化研究.2007,21(5):121-123FawziA.RadwanandTerryW.Martin.Real-timeMonitoringandControllingofanAllen-bradleySLC500throughtheinternet.Restrictionsapply.2023,19(7):387-392致謝在本次畢業(yè)設(shè)計中,我遇到了很多困難,是我大學(xué)生活難忘的經(jīng)歷。每一次點滴的成功都讓我充滿了成就感。這次畢業(yè)設(shè)計的圓滿完成,與很多人的努力是分不開的。首先,我要感謝我的指導(dǎo)老師王昱老師對我的精心指導(dǎo);她嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,遇到困難時勇于戰(zhàn)勝的精神,一直鼓勵著我前進(jìn)。本論文是在王老師的悉心指導(dǎo)下完成的,在論文的撰寫和定稿的整個過程中,王老師付出了極大的心血。再一次對王其次,在我做畢業(yè)設(shè)計的過程中,許多同學(xué)也給我提出了珍貴的意見,也給了許多幫助,本次畢業(yè)設(shè)計的圓滿完成是與他們的幫助所分不開的。在此一并向他們表示最真摯的謝意!本次畢業(yè)設(shè)計雖然結(jié)束了,但它卻給我留下了很多美好的回憶,面對自己的勞動成果有一種油然而生的滿足感和成就感,沒有付出,就沒有收獲這句話又一次得到了驗證。滿足之于也讓我不由的想起幫助過我的老師和同學(xué),沒有他們的幫助,我不會這么順利地完成這次畢業(yè)設(shè)計,因此,再次向幫助和指導(dǎo)我的老師和同學(xué)表示感謝。最后,一并感謝批閱我論文的老師以及辯論的老師們,感謝您們給我設(shè)計的指導(dǎo),我定將虛心接受并繼續(xù)改良。附錄程序清單登陸模塊具體程序代碼如下:PrivateSubForm_Load()'ADODC連接數(shù)據(jù)庫DimconnectionstringAsStringconnectionstring="provider=microsoft.jet.oledb.4.0;"&"datasource=用戶信息表.mdb"conn.OpenconnectionstringEndSubPrivateSubCommand1_Click()'確定按鈕DimsqlAsStringDimrs_loginAsNewADODB.RecordsetStaticcntAsIntegerIfTrim(txtuser.Text)=""Then'如果用戶名為空MsgBox"用戶名不能為空!",vbOKOnly+vbExclamation,"錯誤"txtuser.SetFocusElsesql="select*from用戶信息表where用戶名='"&txtuser.Text&"'"'在用戶信息表中尋找輸入的用戶名rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThen'沒有找到用戶MsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""txtuser.SetFocusElseIfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)Then'如果密碼與數(shù)據(jù)庫中相同userid=txtuser.Textrs_login.Close'關(guān)閉數(shù)據(jù)庫UnloadMeMDIForm1.Show'顯示主界面Elsecnt=cnt+1Ifcnt>3Then'超過3次End'退出程序EndIfMsgBox"密碼不正確!",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfExitSubEndSubPrivateSubCommand2_Click()'取消按鈕End'退出程序EndSub修改用戶密碼模塊的具體程序代碼如下:PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(Txtuser.Text)=""Then'如果用戶名為空MsgBox"用戶名不能為空!",vbOKOnly+vbExclamation,"錯誤"Txtuser.SetFocusElsesql="select*from用戶信息表where用戶名='"&Txtuser.Text&"'"'在數(shù)據(jù)庫中搜索輸入的用戶名rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThen'沒有找到記錄MsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""Txtuser.SetFocusElseIfTrim(rs_login.Fields(1))=Trim(Txtpwd.Text)Then'如果原密碼正確userid=Txtuser.TextElseMsgBox"原密碼不正確!",vbOKOnly+vbExclamation,"提示"Txtuser.Text=""Txtpwd.Text=""TextNewPass.Text=""TextConfirm=""ExitSubEndIfIfTrim(TextNewPass.Text)=""Then'新密碼為空MsgBox"新密碼不能為空!",vbOKOnly+vbExclamation,"提示"ExitSubElseIfTrim(TextNewPass.Text)=Trim(TextConfirm.Text)Then'新密碼與確認(rèn)密碼一致Adodc1.Recordset("密碼")=TextNewPass.TextAdodc1.Recordset.Update'更新密碼MsgBox"密碼修改成功!"rs_login.Close'關(guān)閉數(shù)據(jù)庫UnloadMeElseMsgBox"密碼不一致,請重新輸入!"TextNewPass.Text=""TextConfirm=""EndIfEndIfEndIfEndIfExitSubEndSubPrivateSubCommand2_Click()'取消按鈕UnloadMe'卸載窗體EndSub添加新用戶模塊程序代碼如下:PrivateSubCommand1_Click()'確定按鈕DimsqlAsStringDimrs_addAsNewADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"用戶名不能為空!",vbOKOnly+vbExclamation,"提示"ExitSubText1.SetFocusElsesql="select*from用戶信息表"rs_add.Opensql,conn,adOpenKeyset,adLockBatchOptimisticrs_add.MoveFirst'首地址While(rs_add.EOF=False)IfTrim(rs_add.Fields(0))=Trim(Text1.Text)Then'找到記錄MsgBox"已經(jīng)有這個用戶",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Text3.Text=""ExitSubElsers_add.MoveNext'下一個地址EndIfWendIfTrim(Text2.Text)=""ThenMsgBox"密碼不能為空!",v
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44860-2024面向工業(yè)應(yīng)用的邊緣計算應(yīng)用指南
- 浙江省溫州市新希望聯(lián)盟2024-2025學(xué)年上學(xué)期八年級期中考試數(shù)學(xué)試卷
- 高中生物 第6章 第4節(jié) 細(xì)胞的癌變教案 新人教版必修1
- 廣東省肇慶市高中數(shù)學(xué) 第二章 隨機(jī)變量及其分布 2.4 正態(tài)分布教案 新人教A版選修2-3
- 八年級生物上冊 7.19.2植物的生長發(fā)育教案 (新版)蘇科版
- 2023六年級數(shù)學(xué)上冊 五 完美的圖形-圓信息窗3 圓的面積第1課時教案 青島版六三制
- 湖南省醴陵市七年級地理上冊 5.2 國家經(jīng)濟(jì)合作教案 (新版)湘教版
- 2023一年級數(shù)學(xué)上冊 8 20以內(nèi)的進(jìn)位加法第6課時 解決問題(2)教案 新人教版
- 2024-2025學(xué)年高中歷史 第3單元 古代中國的科學(xué)技術(shù)與文學(xué)藝術(shù)單元小結(jié)與測評教案 新人教版必修3
- 租用空調(diào)合同模板(2篇)
- 江西省南昌市2024-2025學(xué)年八年級上學(xué)期11月期中語文試題(含答案)
- 道德與法治八上八上8.2《堅持國家利益至上》教學(xué)設(shè)計
- GB/T 42455.2-2024智慧城市建筑及居住區(qū)第2部分:智慧社區(qū)評價
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識
- 2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(97分)
- YYT 0653-2017 血液分析儀行業(yè)標(biāo)準(zhǔn)
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 新時代中小學(xué)思政課一體化建設(shè)探究
- 刑事受害人授權(quán)委托書范本
- 《文明上網(wǎng)健康成長》的主題班會
- 電工基礎(chǔ)(周紹敏主編)-參考答案
評論
0/150
提交評論