![畢業(yè)設(shè)計(jì)(論文)-基于RS-232串口的機(jī)車入庫(kù)無(wú)線采集系統(tǒng)_第1頁(yè)](http://file4.renrendoc.com/view10/M03/30/2D/wKhkGWXs_w6Aci7yAAG0_ZPmjBA098.jpg)
![畢業(yè)設(shè)計(jì)(論文)-基于RS-232串口的機(jī)車入庫(kù)無(wú)線采集系統(tǒng)_第2頁(yè)](http://file4.renrendoc.com/view10/M03/30/2D/wKhkGWXs_w6Aci7yAAG0_ZPmjBA0982.jpg)
![畢業(yè)設(shè)計(jì)(論文)-基于RS-232串口的機(jī)車入庫(kù)無(wú)線采集系統(tǒng)_第3頁(yè)](http://file4.renrendoc.com/view10/M03/30/2D/wKhkGWXs_w6Aci7yAAG0_ZPmjBA0983.jpg)
![畢業(yè)設(shè)計(jì)(論文)-基于RS-232串口的機(jī)車入庫(kù)無(wú)線采集系統(tǒng)_第4頁(yè)](http://file4.renrendoc.com/view10/M03/30/2D/wKhkGWXs_w6Aci7yAAG0_ZPmjBA0984.jpg)
![畢業(yè)設(shè)計(jì)(論文)-基于RS-232串口的機(jī)車入庫(kù)無(wú)線采集系統(tǒng)_第5頁(yè)](http://file4.renrendoc.com/view10/M03/30/2D/wKhkGWXs_w6Aci7yAAG0_ZPmjBA0985.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEI摘要機(jī)車入庫(kù)無(wú)線采集系統(tǒng)是在機(jī)車即將入庫(kù)時(shí)對(duì)列車重要信息進(jìn)行無(wú)線采集,取代以往機(jī)車入庫(kù)后,利用存儲(chǔ)卡到機(jī)務(wù)段的微機(jī)系統(tǒng)中讀出列車信息,這樣費(fèi)時(shí)、費(fèi)力,而且不能及時(shí)對(duì)機(jī)車信息進(jìn)行采集。本設(shè)計(jì)實(shí)現(xiàn)一無(wú)線數(shù)據(jù)采集系統(tǒng),能在機(jī)車入庫(kù)的途中完成數(shù)據(jù)的自動(dòng)采集。本設(shè)計(jì)在功能實(shí)現(xiàn)上可分為三個(gè)模塊,依次是無(wú)線數(shù)據(jù)傳輸模塊、串口通信模塊、數(shù)據(jù)終端處理模塊。數(shù)據(jù)無(wú)線傳輸模塊是利用桑銳SRWF-501芯片實(shí)現(xiàn)的,它與主機(jī)RS-232串口相連,將RS-232串口的數(shù)據(jù)無(wú)線發(fā)射,或接收無(wú)線數(shù)據(jù)再傳給RS-232串口,從而實(shí)現(xiàn)兩臺(tái)主機(jī)數(shù)據(jù)的無(wú)線傳輸。串口通信部分的功能則是架設(shè)一座數(shù)據(jù)從程序到外界的橋梁,主機(jī)的數(shù)據(jù)都是經(jīng)過這個(gè)橋梁傳輸出去,本設(shè)計(jì)采用RS-232串口完成這一任務(wù)。終端數(shù)據(jù)庫(kù)主要完成數(shù)據(jù)的存儲(chǔ)、提取以及查詢等數(shù)據(jù)操作,服務(wù)于列車調(diào)度,本設(shè)計(jì)采用微軟ACCESS數(shù)據(jù)庫(kù)實(shí)現(xiàn)這部分的功能。通過這三個(gè)模塊的設(shè)計(jì),實(shí)現(xiàn)了機(jī)車入庫(kù)時(shí)數(shù)據(jù)無(wú)線采集的過程,極大的提高了列車管理的效率。關(guān)鍵詞桑瑞SRWF-501,RS-232,串口通信,無(wú)線采集,PAGEIIABSTRACTTraininformation’sWirelessCollectionSystemisdesignedtocollecttheimportantinformationwirelesslywhenatrainisgoingtoenterthestation.Thenewwirelesswaycanreplacetheoldwayinwhichrailwaystationstaffershavetogettheimportantinformationfromthecomputersystemofcomputercenterwithamemorycard.Theoldsystemcan’tcollecttheimportantinformationefficientlyandevenisn’tabletogaintheimportantinformationsometimes.Inthisdesign,Icompleteawirelesscollectionsystemwhichcanbeusedtocollectinformationinanautomaticwaywhileatrainisgoingtoenterthestation.Thisdesignismainlymadeupofthreeparts:ShanghaiSangruiSRWF-501module,RS-232serialport,andterminaldatabasepart.ShanghaiSangruiSRWF-501moduletakeschargethewirelesscommunication.ItconnectswiththecomputerbyRS-232serialportandbeamsthedataofRS-232serialportortransmitsthedataithasreceivedintoRS-232serialport.Tothedata,RS-232serialportisabridgebetweentheprogramandShanghaiSangruiSRWF-501module.Allthedataintheprogramistransmittedthroughthisport.MicrosoftAccessisusedinthisdesignasterminaldatabasetoaccomplishthestorageandmanagementofdata.Throughthedesignofthethreeparts,theimportantmessageofatraincanbegainedinwirelesswaywhenthetrainhasn’tenteredthestation,whichwillimprovethemanagementefficiencylargely.KEYWORDSSRWF-501,RS-232,serialportcommunication,wirelesscollectionPAGEIV目錄TOC\o"1-3"\u摘要 IABSTRACT II第一章緒論 11.1研究背景及意義 11.1.1列車調(diào)度簡(jiǎn)介 11.1.2列車信息采集方式 11.1.3該設(shè)計(jì)的意義 21.2列車信息采集及其意義 21.2.1列車號(hào) 21.2.2司機(jī)代號(hào) 31.2.3最高速度 41.2.4最高軸溫 41.2.5耗電量 51.2.6故障 51.3國(guó)內(nèi)外發(fā)展現(xiàn)狀及本設(shè)計(jì)的定位 61.3.1國(guó)內(nèi)外發(fā)展現(xiàn)狀 61.3.2本設(shè)計(jì)的功能及定位 71.4論文研究?jī)?nèi)容 71.4.1SRWF-501型模塊 81.4.2關(guān)于RS-232串口 81.4.3ACCESS數(shù)據(jù)庫(kù) 81.5論文組織結(jié)構(gòu) 9第二章基于上海桑銳SRWF-501無(wú)線模塊的設(shè)計(jì) 102.1SRWF-501無(wú)線模塊環(huán)境介紹 102.1.1SRWF-501無(wú)線模塊結(jié)構(gòu) 102.1.2SRWF-501無(wú)線模塊集成環(huán)境 102.1.3SRWF-501無(wú)線模塊圖片 112.1.4SRWF-501-50型無(wú)線模塊接口的定義 122.2本設(shè)計(jì)的硬件設(shè)計(jì) 142.2.1本設(shè)計(jì)的硬件參數(shù) 142.2.2開發(fā)環(huán)境 142.2.3硬件連接 142.2.4硬件設(shè)計(jì)過程 142.3小結(jié) 16第三章基于RS-232串口進(jìn)行的通信 173.1串行通信 173.1.1串行通信與并行通信 173.1.2串行通信接口 183.1.3串行通信實(shí)現(xiàn)方式 183.2RS-232串行通信接口 183.2.1RS-232在計(jì)算機(jī)的位置 183.2.2RS-232針腳圖 183.2.3RS-232針腳介紹 193.2.4RS-232針腳連接 193.3利用RS-232進(jìn)行通信 193.3.1MSComm控件簡(jiǎn)介 193.3.2MSComm控件的引用 203.3.3MSComm的工作方式 203.3.4MSComm的操控原則 203.3.5MSComm控件屬性介紹 203.3.6MSComm控件屬性的應(yīng)用 213.4本設(shè)計(jì)中的RS-232串口應(yīng)用 213.5小結(jié) 22第四章基于ACCESS數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)與提取 234.1數(shù)據(jù)的存儲(chǔ)與提取 234.1.1文件 234.1.2數(shù)據(jù)庫(kù) 234.1.3數(shù)據(jù)庫(kù)與文件的對(duì)比 244.2本程序中ACCESS數(shù)據(jù)庫(kù)的應(yīng)用 244.2.1程序中數(shù)據(jù)庫(kù)的主要功能 244.2.2程序中數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn) 244.3本設(shè)計(jì)中的數(shù)據(jù)庫(kù)應(yīng)用 274.3.1發(fā)送端數(shù)據(jù)庫(kù) 274.3.2接收端數(shù)據(jù)庫(kù) 274.4小結(jié) 28第五章功能的整合與程序的實(shí)現(xiàn) 295.1功能的整合 295.2程序流程圖 295.3程序界面 305.3本設(shè)計(jì)主要模塊的程序?qū)崿F(xiàn) 325.4本設(shè)計(jì)的軟件調(diào)試過程 35第六章結(jié)束語(yǔ) 366.1結(jié)論總結(jié) 366.2未來展望 36致謝 37參考文獻(xiàn) 38附錄 39機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第一章緒論P(yáng)AGE47第一章緒論目前,機(jī)車入庫(kù)后,機(jī)車的數(shù)據(jù)信息基本上是利用存儲(chǔ)卡再到機(jī)務(wù)段的微機(jī)系統(tǒng)中讀出,這樣費(fèi)時(shí)、費(fèi)力,而且不能及時(shí)對(duì)機(jī)車信息進(jìn)行采集。這樣低效率的采集方式在現(xiàn)在這個(gè)列車提速的大背景中成為了瓶頸,急待解決。本設(shè)計(jì)中設(shè)計(jì)一無(wú)線數(shù)據(jù)采集系統(tǒng),能在機(jī)車入庫(kù)的途中實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)采集,這樣極大的提高了對(duì)列車的調(diào)度效率,有著非常重要的現(xiàn)實(shí)意義。1.1研究背景及意義隨著國(guó)民經(jīng)濟(jì)的高速發(fā)展和人流的日益加大,鐵路部門的承載能力正面臨著嚴(yán)峻的挑戰(zhàn),而對(duì)于此種情況最行之有效的方法是提高列車調(diào)度效率,據(jù)現(xiàn)在鐵路部門的現(xiàn)實(shí)狀況的調(diào)查,不能及時(shí)采集到列車運(yùn)行的信息是一個(gè)非常突出的問題。1.1.1列車調(diào)度簡(jiǎn)介[1]很多火車在運(yùn)行,但是鐵道是固定的,火車怎么在道軌之間選擇自己的路線而不會(huì)發(fā)生撞車事故呢?其實(shí),火車站有個(gè)調(diào)度室,有像黑板一樣的臺(tái)子(調(diào)度臺(tái)),上面有密密麻麻的很多線路,還有很多的小燈,火車要到站的時(shí)候前面的站會(huì)發(fā)信號(hào)或者打內(nèi)線過來的,像對(duì)講機(jī)一樣的,這邊的操作調(diào)度臺(tái)上是有一個(gè)調(diào)度指揮管理系統(tǒng)的,可以監(jiān)視列車運(yùn)行及信號(hào)設(shè)備的工作狀態(tài),實(shí)時(shí)傳送各種報(bào)警信息,實(shí)時(shí)傳送階段計(jì)劃和調(diào)度命令,值班的人只要操作就可以了。另外,有緩沖軌的,在幾條軌道上完成對(duì)車廂的調(diào)度。1.1.2列車信息采集方式就信息采集方式而言,可分為現(xiàn)場(chǎng)采集和無(wú)線采集?,F(xiàn)場(chǎng)采集是目前應(yīng)用比較多的一種方式,利用存儲(chǔ)卡再到機(jī)務(wù)段的微機(jī)系統(tǒng)中讀出,這樣費(fèi)時(shí)、費(fèi)力,而且不能及時(shí)對(duì)機(jī)車信息進(jìn)行采集。無(wú)線采集方式是在列車即將進(jìn)站入庫(kù)時(shí)向車庫(kù)發(fā)送無(wú)線信息,車庫(kù)進(jìn)行接收,然后進(jìn)行處理,以這樣的方式進(jìn)行信息采集,極大的提高了信息的采集效率,有利于快速得到最有價(jià)值的列車信息,將在未來成為主流。1.1.3該設(shè)計(jì)的意義此次設(shè)計(jì)完成的是信息無(wú)線采集的課題,基本方法是應(yīng)用上海桑銳SRWF-501無(wú)線模塊,在通過RS-232串口與計(jì)算機(jī)相連,這樣可以使計(jì)算機(jī)中的信息通過RS-232串口傳往SRWF-501無(wú)線模塊,SRWF-501無(wú)線模塊收到信息后即可向外傳送,當(dāng)車庫(kù)收到列車發(fā)送的信息后就開始接受,這樣列車即將進(jìn)站入庫(kù)時(shí)就可以得到列車的信息了,這樣顯然極大地提高了信息采集的效率,在現(xiàn)實(shí)中一旦投入使用,必將為提高列車的信息采集作出巨大貢獻(xiàn),進(jìn)而又必然提高-列車調(diào)度效率地提高,創(chuàng)造出更高地國(guó)民經(jīng)濟(jì)效益。1.2列車信息采集及其意義前一小節(jié)介紹了此次設(shè)計(jì)的大背景是列車的全國(guó)范圍內(nèi)的提速,以及列車承載量的空前增加,這除了要求著高效率的調(diào)度,而且對(duì)列車的安全運(yùn)行提出了更高的要求,如果我們能在車庫(kù)及時(shí)了解列車的具體狀況,對(duì)于工作人員能更好的控制機(jī)車有著非常重要的意義。1.2.1列車號(hào)列車號(hào)是列車最直接的指代,我們習(xí)慣上也是用列車號(hào)來描述列車的,所以列車即將進(jìn)站入庫(kù)時(shí)最先傳回車庫(kù)的信息就是列車號(hào)。下面簡(jiǎn)單介紹一下列車號(hào)碼。T開頭的列車:特別快速旅客列車,簡(jiǎn)稱特快,字母T是"特"字漢語(yǔ)拼音的簡(jiǎn)寫。這樣的列車在行程中一般只經(jīng)停省會(huì)城市或當(dāng)?shù)氐拇笮统鞘小_@類列車的車底一般都是25K(藍(lán)皮車)。K開頭的列車:快速旅客列車,簡(jiǎn)稱快速,字母K是"快"字漢語(yǔ)拼音的簡(jiǎn)寫。這樣的列車在行程中一般只經(jīng)停地級(jí)行政中心或重要的縣級(jí)行政中心。這類列車的車底一般是25G(紅皮車)。N開頭的列車:管內(nèi)快速旅客列車,簡(jiǎn)稱管內(nèi)快速,字母N是"內(nèi)"字漢語(yǔ)拼音的簡(jiǎn)寫。這樣的列車一般經(jīng)停一些重要車站。這類列車的車底有25G25B(紅皮綠皮的都有)22型綠皮車,空調(diào)列車較多。四位數(shù)的車也有車次區(qū)分1開頭的四位數(shù)車次列車:跨三個(gè)或以上鐵路局的直通普通快速旅客列車,簡(jiǎn)稱普快或直快。這樣的列車一般經(jīng)停一些主要車站。2開頭的四位數(shù)車次列車:跨兩個(gè)鐵路局的直通普通快速旅客列車,簡(jiǎn)稱普快或直快。這樣的列車和1開頭的四位數(shù)經(jīng)停車站和車底配置差不多,但空調(diào)列車的數(shù)量明顯減少。這類列車運(yùn)營(yíng)的距離一般屬于中等,經(jīng)停的車站也較多,速度一般也不會(huì)太快。屬于面向中途旅行的普快列車。3開頭的四位數(shù)車次列車到目前為止還沒有。4和5開頭的四位數(shù)車次列車:管內(nèi)普通快速列車,簡(jiǎn)稱普快,曾經(jīng)簡(jiǎn)稱快客,但這個(gè)簡(jiǎn)稱現(xiàn)在已經(jīng)不用了。這樣的列車經(jīng)停一些主要車站,同時(shí)也經(jīng)停一些小型車站。這類列車的車底主要是22型和25B型綠皮車,少有25G和25B的紅皮空調(diào)車,而空調(diào)車多是一些長(zhǎng)途列車套跑的。這類列車運(yùn)營(yíng)的里程一般不長(zhǎng),一般屬于短途列車。6/7/8/9開頭的四位數(shù)車次列車:普通旅客列車,簡(jiǎn)稱普客,曾經(jīng)有直通(跨鐵路局運(yùn)營(yíng))的普客列車,但是現(xiàn)在已經(jīng)沒有了。這樣的列車一般經(jīng)停所有能停的車站,部分普客列車雖然站距較遠(yuǎn),但是也明顯多于普快列車。這類列車的車底主要是22型綠皮車,其他車底均少見,根本沒有空調(diào)車。這類列車運(yùn)營(yíng)里程一般不長(zhǎng),一般屬于短途多站的列車。L開頭的列車:臨時(shí)旅客列車,簡(jiǎn)稱臨客,字母L是"臨"字漢語(yǔ)拼音的簡(jiǎn)寫。這類列車只在需要的時(shí)候才運(yùn)營(yíng)的,車種也是最雜的列車類別,L系列中有少部分列車相當(dāng)于快速,大多的相當(dāng)于普快,也有的相當(dāng)于普客。車底編制也是雜亂,L系列列車一般沒有自己專用的車底,通常是隨便拉來些車底就編組。A開頭的列車:按需臨時(shí)旅客列車,好象沒什么簡(jiǎn)稱,如果有,那就叫按需臨客吧。字母A是"按"字漢語(yǔ)拼音的簡(jiǎn)寫。這類列車比L系列的地位更低,但是大多特征與L系列的相似。同樣A系列的列車在<全國(guó)鐵路旅客列車時(shí)刻表>上是查不到的。Z開頭的列車:直達(dá)特別快速旅客列車,簡(jiǎn)稱直特,字母Z是"直"字的漢語(yǔ)拼音簡(jiǎn)寫。這樣的列車在行程中一站不?;蛘呓?jīng)停必須站但不辦理客運(yùn)業(yè)務(wù),這類列車的車底都是25T,全部都是空調(diào)列車。所有的直特列車都是跨局(不是在一個(gè)鐵路局內(nèi))運(yùn)營(yíng)列車。1.2.2司機(jī)代號(hào)在實(shí)際運(yùn)營(yíng)中,列車司機(jī)要對(duì)列車運(yùn)行路線非常熟悉,只有這樣才能保證在列車運(yùn)行過程中可以正確處理隨時(shí)遇到的問題,這一點(diǎn)和汽車司機(jī)不太一樣,所以列車司機(jī)通常是一直負(fù)責(zé)某條路線,也就是司機(jī)通常在一條列車上工作,這樣以來,就有必要對(duì)司機(jī)編號(hào),一邊對(duì)司機(jī)進(jìn)行管理。司機(jī)代號(hào)是一位司機(jī)師父所唯一對(duì)應(yīng)的,我們對(duì)這些信息進(jìn)行存儲(chǔ),在調(diào)度管理時(shí),可以對(duì)其進(jìn)行查詢,這樣查詢必查詢司機(jī)名字方便的多,而且這樣一來,還避免了重名的司機(jī)無(wú)法辨認(rèn)的麻煩,所有在實(shí)際應(yīng)用中通常對(duì)司機(jī)進(jìn)行編號(hào)。1.2.3最高速度列車速度時(shí)我們都非常關(guān)心的一個(gè)問題,其實(shí),列車時(shí)速不但但時(shí)旅客朋友們關(guān)心,鐵路部門更是關(guān)心,旅客朋友們關(guān)心速度是關(guān)心旅行時(shí)間,而我們鐵路運(yùn)營(yíng)部門關(guān)心速度則是關(guān)心安全問題,因?yàn)樗俣仁桥c安全問題掛鉤最緊的一個(gè)參數(shù),所有這個(gè)參數(shù)對(duì)于在車庫(kù)中管理和維護(hù)列車運(yùn)行的工作人員就更是顯得格外重要了。最新的列車速度調(diào)查表明:法國(guó)高速列車3日在行駛試驗(yàn)中達(dá)到574.8公里的時(shí)速,打破了1990年由法國(guó)高速列車創(chuàng)下的時(shí)速515.3公里的有軌鐵路行駛世界紀(jì)錄[2]。也正因?yàn)槿绱耍诹熊囆畔⒉杉脑O(shè)計(jì)中自然少不了這個(gè)參數(shù)的設(shè)計(jì),尤其是最大速度,這個(gè)參數(shù)幾乎是所有采集列車信息的系統(tǒng)都不可回避的一個(gè)問題。1.2.4最高軸溫軸溫可分為機(jī)車軸箱軸承、牽引電機(jī)軸承、抱軸承(空心輪對(duì)軸承)以及傳動(dòng)軸承的溫度。我們可以用機(jī)車軸溫監(jiān)測(cè)儀獲取這方面的信息,機(jī)車軸溫監(jiān)測(cè)儀能在機(jī)車運(yùn)行中,自動(dòng)監(jiān)測(cè)各軸承傳遞到軸箱、電機(jī)軸承端蓋以及電機(jī)抱軸承罩的溫度。當(dāng)軸溫超過設(shè)定報(bào)警溫度時(shí),能及時(shí)準(zhǔn)確的發(fā)出聲、光報(bào)警信號(hào),并跟蹤記錄。正常情況下,軸溫的溫度在20~25℃的范圍內(nèi)。鐵路客車集中式軸溫報(bào)警器是由傳輸線路、軸溫傳感器及控制顯示器組成,是監(jiān)測(cè)鐵路客車軸溫,預(yù)報(bào)熱軸,防止切軸,保證旅客列車運(yùn)行安全的重要設(shè)備。軸溫報(bào)警器使用以來,在預(yù)報(bào)客車熱軸,防止切軸方面發(fā)揮了重要作用,準(zhǔn)確預(yù)報(bào)了大量熱軸故障。因?yàn)檎{(diào)度所里邊有軸溫預(yù)警裝置,列車運(yùn)行過程中,每個(gè)列車軸溫多少度?哪個(gè)軸溫高了,如何可能發(fā)生摩擦、燃油了,都在調(diào)度室馬上能反應(yīng)出來。旅客列車運(yùn)行中自動(dòng)監(jiān)測(cè)客車軸溫變化的裝置,是防止客車熱軸引起的切軸事故,確保行車安全的科學(xué)手段。隨著列車的提速,軸溫檢測(cè)的作用就愈加明顯了,否則列車事故必然會(huì)隨著速度的增加而增加。在現(xiàn)實(shí)機(jī)車運(yùn)行中,這個(gè)參數(shù)也必須及時(shí)的送回車庫(kù),使得車庫(kù)的管理維護(hù)人員了解機(jī)車的狀況。這時(shí)列車安全運(yùn)行的重要保證。1.2.5耗電量眾所周知,列車上是要耗電的,旅客列車上除了照明,還有很多用電的設(shè)備。尤其是近幾年研制的新型快速列車、準(zhǔn)高速列車更是增加了空調(diào)裝置、車門集中遙控、糞便集存密封處理、燃油及電熱兩用取暖裝置等電氣設(shè)備,最大用電量高達(dá)400kW。耗電量這個(gè)參數(shù)已日益成為一個(gè)非常重要的參數(shù),當(dāng)然也就有了傳給車庫(kù)總部的需要。那么,這些電是從那里來的呢?原來,在客車上有個(gè)小小的發(fā)電裝置,就是客車的底架或轉(zhuǎn)向架上吊掛的發(fā)電機(jī)。發(fā)電機(jī)通過皮帶與安裝在車軸上的皮帶輪連接,當(dāng)列車運(yùn)行時(shí),車輪滾動(dòng),由皮帶帶動(dòng)發(fā)電機(jī)轉(zhuǎn)動(dòng)而發(fā)電,供應(yīng)車上各種電器具使用。當(dāng)列車停靠時(shí),車輪不動(dòng)了,發(fā)電機(jī)就不再發(fā)電。為了保證客車無(wú)論開停都能正常供電,就在客車上裝備蓄電池供電系統(tǒng)。開車時(shí),它把發(fā)電機(jī)發(fā)出的電能轉(zhuǎn)變成化學(xué)能儲(chǔ)蓄起來,這個(gè)過程叫蓄電池充電;停車時(shí),它能把化學(xué)能轉(zhuǎn)變成電能,向各用電器具送電,這個(gè)過程叫蓄電池放電。鐵路上把安裝有發(fā)電機(jī)和蓄電池的車廂稱為“母車”,沒有安裝的車廂稱為“子車”,母車與子車的比例一般為1:1[3]。這種靠車輪轉(zhuǎn)動(dòng),通過皮帶帶動(dòng)發(fā)電機(jī)發(fā)電的供電方式,稱為車軸發(fā)電機(jī)式供電。中國(guó)鐵路列車廣泛采用這種供電方式。這種供電方式的發(fā)電裝置,運(yùn)用數(shù)量最多的是J型三相交流感應(yīng)子發(fā)電機(jī),其發(fā)電量只有5kW,顯然不適于用電量大幾百倍的新型空調(diào)客車。新型空調(diào)客車采取的供電方式是集中式供電,就是在列車中的某一節(jié)車廂內(nèi)設(shè)置發(fā)電站或在列車上設(shè)立變電站,向整個(gè)列車供電。供電方式主要有兩種:一種是在專門的發(fā)電車(圖3.5.5_02KD型發(fā)電車)或行李發(fā)電車內(nèi),安裝柴油發(fā)電機(jī)組,構(gòu)成列車發(fā)電站。列車發(fā)電站的工作由專門的配電盤控制。發(fā)電站發(fā)出的電,通過貫穿全列車的輸電干線和專門的車端連結(jié)器,送到列車各節(jié)車廂。另一種是在電氣化鐵道的列車牽引區(qū)段,電力機(jī)車升起受電弓,將接觸網(wǎng)供給的25kV,50Hz的單相交流電引入列車變電站。然后,經(jīng)過列車變電站中的變壓器、整流器、變流機(jī)等電器設(shè)備變換后,給整個(gè)列車供電。這種供電系統(tǒng),配線經(jīng)濟(jì)、不用蓄電池、車輛構(gòu)造成本較低、發(fā)電量不受列車速度的影響。但是,它也有缺點(diǎn),一旦發(fā)電站、變電站出現(xiàn)故障或發(fā)電車從列車上摘掛下來,就會(huì)影響列車供電。為了彌補(bǔ)這種缺陷,列車可以同時(shí)裝備軸驅(qū)式供電裝置作為備用,以保證列車用電。1.2.6故障在諸多交通工具中,火車算是一種非常穩(wěn)定的工具,但是這只是在乘客嚴(yán)重看到的,其實(shí)在列車運(yùn)行時(shí)會(huì)出現(xiàn)這樣那樣的問題,只是列車的處理故障工作做的非常好,即使產(chǎn)生了故障,也能即使得到排除,而不影響乘客的旅行。但是這并不是意味著可以疏忽大意,相反,為了保持這種高穩(wěn)定性,我們必須進(jìn)行更加周密的設(shè)計(jì),其中之一就是將列車檢驗(yàn)出來的故障即使的報(bào)給車庫(kù),以便進(jìn)行及時(shí)的處理。列車車載微機(jī)在司機(jī)臺(tái)顯示屏幕上用漢字顯示各種機(jī)車運(yùn)行數(shù)據(jù)及設(shè)備的工作狀態(tài)和數(shù)據(jù)。當(dāng)機(jī)車設(shè)備出現(xiàn)異常和故障時(shí),車載微機(jī)裝置將根據(jù)機(jī)車設(shè)備運(yùn)行中發(fā)生的異常和故障表現(xiàn),在車載屏顯示幕上顯示故障種類、故障數(shù)據(jù)、故障發(fā)生原因的判斷及處理措施。故障發(fā)生時(shí),在屏幕顯示的同時(shí),還將發(fā)出報(bào)警聲提示。車載裝置按狀態(tài)變化和定時(shí)兩種方式記錄機(jī)車運(yùn)行數(shù)據(jù)和設(shè)備工作數(shù)據(jù)。機(jī)車設(shè)備發(fā)生故障、故障自動(dòng)消失、故障由司機(jī)確認(rèn)時(shí),將記錄故障發(fā)生時(shí)間(故障自動(dòng)消失時(shí)間、故障由司機(jī)確認(rèn)時(shí)間)、公里標(biāo)、故障類型、故障期間典型數(shù)據(jù)等參數(shù)。信息傳給車庫(kù)計(jì)算機(jī)后,車庫(kù)計(jì)算機(jī)根據(jù)車載微機(jī)記錄的數(shù)據(jù),進(jìn)行分析判斷,建立各機(jī)車設(shè)備的運(yùn)行檔案數(shù)據(jù)庫(kù),打印各種報(bào)表,為機(jī)車設(shè)備實(shí)現(xiàn)狀態(tài)修提供可靠數(shù)據(jù)。為機(jī)務(wù)管理人員了解各機(jī)車運(yùn)行情況和設(shè)備狀態(tài)提供幫助。1.3國(guó)內(nèi)外發(fā)展現(xiàn)狀及本設(shè)計(jì)的定位1.3.1國(guó)內(nèi)外發(fā)展現(xiàn)狀高速鐵路的信號(hào)與控制系統(tǒng),是高速列車安全、高密度運(yùn)行的基本保證。因此,世界各國(guó)發(fā)展高速鐵路,都十分重視行車安全及其相關(guān)支持系統(tǒng)的研究和開發(fā)。高速鐵路的信號(hào)與控制系統(tǒng)是集微機(jī)控制與數(shù)據(jù)傳輸于一體的綜合控制與管理系統(tǒng),是當(dāng)代鐵路適應(yīng)高速運(yùn)營(yíng)、控制與管理而采用的最新綜合性高技術(shù),一般通稱為先進(jìn)列車控制系統(tǒng)(AdvancedTrainControlSystems)。如北美的先進(jìn)列車控制系統(tǒng)(ATCS)和先進(jìn)鐵路電子系統(tǒng)(ARES),歐洲列車控制系統(tǒng)(ETCS),法國(guó)的實(shí)時(shí)追蹤自動(dòng)化系統(tǒng)(ASTREE),日本的計(jì)算機(jī)和無(wú)線列車控制系統(tǒng)(CARAT),等等。先進(jìn)列車控制系統(tǒng)是鐵路在技術(shù)上的一次突破,它將使鐵路和整個(gè)國(guó)民經(jīng)濟(jì)取得巨大的經(jīng)濟(jì)效益。從80年代初開始研究的先進(jìn)列車控制系統(tǒng),現(xiàn)仍處于研究、試驗(yàn)與完善之中。近年來,許多國(guó)家為先進(jìn)列車控制系統(tǒng)研制了多種基礎(chǔ)技術(shù)設(shè)備,如列車自動(dòng)防護(hù)系統(tǒng)、衛(wèi)星定位系統(tǒng)、車載智能控制系統(tǒng)、列車調(diào)度決策支持系統(tǒng)、分散式微機(jī)聯(lián)鎖安全系統(tǒng)、列車微機(jī)自動(dòng)監(jiān)測(cè)與診斷系統(tǒng)等。世界上許多國(guó)家如美國(guó)、加拿大、日本和西歐各國(guó)都將在20世紀(jì)末到21世紀(jì)初,逐步推廣應(yīng)用這些新技術(shù)。目前一些國(guó)家已經(jīng)開始分層次的實(shí)施。1.3.2本設(shè)計(jì)的功能及定位本設(shè)計(jì)主要是從信息采集方面進(jìn)行深入研究,并借以大幅度提高車輛調(diào)度效率,為整個(gè)鐵路系統(tǒng)的效率提高提供保障。本設(shè)計(jì)實(shí)現(xiàn)了這樣的功能:1:列車即將進(jìn)站入庫(kù)時(shí),由列車端主機(jī)通過桑銳SRWF-501芯片無(wú)線發(fā)送前面介紹的列車信號(hào)。2:信號(hào)以微波形式進(jìn)行無(wú)線傳輸,傳至車庫(kù)主機(jī)。3:車庫(kù)主機(jī)利用桑銳SRWF-501芯片進(jìn)行自動(dòng)信號(hào)接收,并顯示列車信息,然后將這些信息存入數(shù)據(jù)庫(kù)。本設(shè)計(jì)信號(hào)流程圖如下:車庫(kù)主機(jī)RS-232串口車輛主機(jī)程序車輛主機(jī)RS-232串口車庫(kù)主機(jī)車庫(kù)主機(jī)RS-232串口車輛主機(jī)程序車輛主機(jī)RS-232串口車庫(kù)主機(jī)程序車庫(kù)主機(jī)501模塊車輛主機(jī)501模塊圖1.1本設(shè)計(jì)的信號(hào)流程圖圖1.1本設(shè)計(jì)的信號(hào)流程圖其最大特點(diǎn)就是使用上海桑銳SRWF-501無(wú)線模塊實(shí)現(xiàn)無(wú)線傳輸數(shù)據(jù),因而可以在列車還沒進(jìn)站就進(jìn)行數(shù)據(jù)采集,從而節(jié)約了大量時(shí)間,這些時(shí)間在日益繁忙的鐵路系統(tǒng)中顯得非常寶貴,因此,本次設(shè)計(jì)投入使用以后,必將為鐵路部門列車調(diào)度帶來實(shí)質(zhì)性的進(jìn)展,有力的支持鐵路部門營(yíng)運(yùn)效率的提高。1.4論文研究?jī)?nèi)容本設(shè)計(jì)主要有三個(gè)設(shè)計(jì)模塊,首先是上海桑銳SRWF-501無(wú)線模塊,這一模塊主要是完成無(wú)線傳輸信息的功能,它并不管具體在其上面?zhèn)魉偷氖鞘裁礀|西,什么內(nèi)容,它只管傳送,并進(jìn)行簡(jiǎn)單的差錯(cuò)控制,為整個(gè)設(shè)計(jì)提供底層支持;其次是RS-232串口,這是一個(gè)大家都非常熟悉的串行通信接口,應(yīng)用起來也非常方便,對(duì)其編程也非常方便,很多語(yǔ)言都提供了關(guān)于控制RS-232串口通信的方法,這里我是用了VB環(huán)境;最后一個(gè)模塊是數(shù)據(jù)的存儲(chǔ)和提取,常規(guī)來講,可以應(yīng)用文件或數(shù)據(jù)庫(kù)兩種方法,但由于在車庫(kù)終端需要對(duì)已存的列車信息數(shù)據(jù)進(jìn)行查詢,例如按車號(hào)進(jìn)行查詢等,應(yīng)用文件很難實(shí)現(xiàn),而如果用數(shù)據(jù)庫(kù)來實(shí)現(xiàn)就容易多了,所以本次設(shè)計(jì)的最后一個(gè)模塊是數(shù)據(jù)庫(kù)。1.4.1SRWF-501型模塊SRWF-501型無(wú)線通信模塊是上海桑銳電子科技有限公司采用高效FEC前向糾錯(cuò)技術(shù)結(jié)合高性能的無(wú)線射頻IC,以及高速微處理器相結(jié)合開發(fā)出的一款無(wú)線通信模塊,可與SRWF-505、SRWF-506、SRWF-507、SRWF-508、進(jìn)行無(wú)線通信。該無(wú)線通信模塊具有很強(qiáng)的抗干擾能力,全透明傳輸,體積小,功耗低傳輸距離遠(yuǎn)的特點(diǎn),客戶使用時(shí)不需要任何編碼技術(shù)。1.4.2關(guān)于RS-232串口[4]以前RS-232廣泛用于數(shù)字終端設(shè)備如計(jì)算機(jī)與調(diào)制解調(diào)器之間的接口,以實(shí)現(xiàn)通過電話線路進(jìn)行遠(yuǎn)距離通信,現(xiàn)在這方面的應(yīng)用已經(jīng)不如以前廣泛,但是RS-232串口通信卻沒有因此退出歷史舞臺(tái),而是因其方便而為很多串行通信程序員所熱衷。RS-232使用25個(gè)引腳,但在絕大多數(shù)情況下,僅使用其9個(gè)引腳,所以我們常稱其為25口或者9口,在臺(tái)式計(jì)算機(jī)后面通常含有兩個(gè)9口的RS-232串口,分別稱為COM1口和COM2口,筆記本電腦上的應(yīng)用就不如臺(tái)式機(jī)廣泛了。應(yīng)該注意的是所有的串行通信接口都是公頭的,并行接口都是母頭的,所有臺(tái)式機(jī)后面通常還有一個(gè)25針的母頭的接口,那是LPT并口,通常用來接并口打印機(jī),切不可把它認(rèn)為是RS-232串口。1.4.3ACCESS數(shù)據(jù)庫(kù)Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。1.5論文組織結(jié)構(gòu)本論文詳細(xì)闡述了本次畢業(yè)設(shè)計(jì)的過程和實(shí)現(xiàn)的功能,構(gòu)建了一個(gè)實(shí)現(xiàn)機(jī)車進(jìn)站入庫(kù)時(shí)進(jìn)行機(jī)車信息無(wú)線采集的整體模型,即可以實(shí)現(xiàn)機(jī)車上的主機(jī)向外發(fā)送機(jī)車信息,通過上海桑銳SRWF-501模塊進(jìn)行無(wú)線傳輸,然后車庫(kù)進(jìn)行無(wú)線接收,最后還可以在車庫(kù)進(jìn)行入庫(kù)車輛的信息查詢。該論文有以下五章組成:第一章為緒論,主要論述了論文的研究背景和意義,分析了目前機(jī)車入庫(kù)信息采集在國(guó)內(nèi)外的發(fā)展現(xiàn)狀,并提出了本文的研究?jī)?nèi)容和論文的組織結(jié)構(gòu)。第二章著重介紹了關(guān)于上海桑銳SRWF-501模塊的有關(guān)問題,模塊的使用,模塊的主要接口,模塊的電器特性,以及模塊的基本控制等。第三章則著重介紹了基于RS-232串口編程,串行通信的特點(diǎn),與并行通信的不同,串行通信的種類,串行通信的控制方式,以及RS-232串行通信接口的電氣特性,接口原理,傳輸控制等。第四章著重介紹了有關(guān)數(shù)據(jù)存儲(chǔ)以及提取方面的內(nèi)容,結(jié)合了用文件實(shí)現(xiàn)和用數(shù)據(jù)庫(kù)實(shí)現(xiàn)的不同,及它們的優(yōu)缺點(diǎn),因?yàn)楸敬卧O(shè)計(jì)首先我是用文件實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和提取的,然后又改為用數(shù)據(jù)庫(kù),所以對(duì)其二者的比較印象非常深。第五章總結(jié)了論文所做的工作,對(duì)程序所實(shí)現(xiàn)的結(jié)果與預(yù)計(jì)目的進(jìn)行了比較,得出不足之處,用以在以后的工作中對(duì)這些不足進(jìn)行改進(jìn)。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第二章基于上海桑銳SRWF-501無(wú)線模塊的設(shè)計(jì)第二章基于上海桑銳SRWF-501無(wú)線模塊的設(shè)計(jì)該設(shè)計(jì)的無(wú)線部分是由上海桑銳SRWF-501模塊來承擔(dān)的,并且進(jìn)行底層的簡(jiǎn)單傳輸控制。在列車上和車庫(kù)里各有一個(gè)SRWF-501模塊,分別擔(dān)負(fù)著信息無(wú)線發(fā)送和信息無(wú)線接收的任務(wù)。它們分別跟列車上和車庫(kù)里的計(jì)算機(jī)通過RS-232串口相連,有了它們?nèi)ネ瓿蔁o(wú)線傳輸任務(wù),我們就只需要和RS-232串口進(jìn)行聯(lián)絡(luò)就可以了。2.1SRWF-501無(wú)線模塊環(huán)境介紹上海桑銳SRWF-501模塊在程序中負(fù)責(zé)的是無(wú)線傳輸?shù)娜蝿?wù)[4],他可以從RS-232中獲得數(shù)據(jù),也可以向RS-232傳送數(shù)據(jù),我們需要人為干預(yù)的是正確的連接RS-232與SRWF-501模塊的接線,這樣RS-232串口一旦有了數(shù)據(jù)就會(huì)傳給SRWF-501模塊,而SRWF-501模塊一旦接收到了數(shù)據(jù),也會(huì)馬上傳給RS-232串口。2.1.1SRWF-501無(wú)線模塊結(jié)構(gòu)SRWF-501無(wú)線模塊可以分為三個(gè)部分:接口部分,集成電路部分,天線部分。其中接口部分提供RS-232的接口,進(jìn)行與計(jì)算機(jī)的數(shù)據(jù)傳輸工作;集成電路部分負(fù)責(zé)對(duì)計(jì)算機(jī)傳來的數(shù)據(jù)進(jìn)行處理然后送往天線發(fā)射的功能;天線部分要把集成電路提供的信息數(shù)據(jù)發(fā)射出去,或者接收無(wú)線數(shù)據(jù)傳給集成電路,為了保持天線部分的靈敏,不用的時(shí)候需要將其拿下來,這樣有利于保證數(shù)據(jù)正確傳輸。2.1.2SRWF-501無(wú)線模塊集成環(huán)境[5]型號(hào)SRWF-501中心頻率433MHZ/868MHZ/915MHZ頻率范圍429~438MHZ信道數(shù)8/16/32信道可選調(diào)制方式GFSK通信距離(開放環(huán)境)>800米功能雙向半雙工通信波特率1200/2400/4800/9600/19200bps/38400bps/76800bps接口方式TTL串口/RS-232/RS485發(fā)射功率+10mW/10dbm接收靈敏度-118dbm通信數(shù)據(jù)格式8N1/8E1/8O1可調(diào)工作電壓+3.0V~+5.0V2.1.3SRWF-501無(wú)線模塊圖片圖2.1無(wú)線傳輸芯片SRWF-501圖2.1無(wú)線傳輸芯片SRWF-501圖2.2天線圖2.2天線2.1.4SRWF-501-50型無(wú)線模塊接口的定義SRWF-501-50提供1個(gè)9針的連接器(CON1),其定義基于終端的連接方法見下表:表2.1針腳定義序號(hào)SRWF-501端說明電平連接到終端1GND電源地電源地2VCC電源DC+3.6~5.0V3RXD/TTL串行數(shù)據(jù)接收TTLTXD4TXD/TTL串行數(shù)據(jù)發(fā)TTLRXD5SGND信號(hào)地模擬地6A(TX)TXA(RX)7B(RX)RXB(TX)8SLEEP休眠控制TTL休眠信號(hào)9RESET復(fù)位控制TTL復(fù)位信號(hào)2.1.5與RS-232接口連接27551RS-232627551RS-23263322501501圖2.3硬件連接圖2.3硬件連接2.2本設(shè)計(jì)的硬件設(shè)計(jì)2.2.1本設(shè)計(jì)的硬件參數(shù)本設(shè)計(jì)中所使用的上海桑銳SRWF-501芯片工作在429~438MHZ的頻率范圍內(nèi),很明顯,屬于微波范圍。由于本設(shè)計(jì)中涉及了檢錯(cuò)重傳的功能,所有需要有確認(rèn)等通信信號(hào),所以兩塊桑銳501模塊都必須工作在半雙工狀態(tài)。本設(shè)計(jì)綜合了穩(wěn)定性、高效性、高可靠性等因素,最后選擇了9600波特的波特率。本設(shè)計(jì)與RS-232串口相連,采用+10mW/10dbm功率發(fā)射,工作電壓+4.5V。2.2.2開發(fā)環(huán)境本設(shè)計(jì)使用VB開發(fā)環(huán)境,將數(shù)據(jù)通過RS-232串口將數(shù)據(jù)傳送至501模塊,然后由501模塊將數(shù)據(jù)發(fā)射出去,接收端首先有501模塊進(jìn)行數(shù)據(jù)接收,然后傳給RS-232串口,再有VB開發(fā)環(huán)境由程序?qū)?shù)據(jù)寫入數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),以待日后查詢使用。2.2.3硬件連接連接圖見圖2.3所示,芯片本身并沒有提供與RS-232的接口,故需要我們自己設(shè)計(jì)接口電路,將芯片連接到RS-232串口上。2.2.4硬件設(shè)計(jì)過程1:電源部分設(shè)計(jì):本設(shè)計(jì)中的無(wú)線傳輸芯片桑銳SRWF-501模塊電源電壓范圍為3~5V,為方便起見,我才用了4.5V的電源,由三節(jié)1.5V的干電池組成。2:接口部分設(shè)計(jì):本設(shè)計(jì)中使用的上海桑銳SRWF-501模塊為了適用于其它接口,沒有直接提供與RS-232串口的連接口,所以需要自己設(shè)計(jì),將上海桑銳SRWF-501模塊的引腳與RS-232的引腳按圖2.1用導(dǎo)線進(jìn)行焊接即可。3:501模塊測(cè)試:將硬件按圖2.1連接,編寫最簡(jiǎn)單的檢驗(yàn)程序如下:圖2.4測(cè)試程序界面圖2.4測(cè)試程序界面測(cè)試程序:PrivateSubcommand1_Click()Comm1.Output=Text1.TextEndSubPrivateSubCommand2_Click()Text2.Text=Comm1.InputEndSubPrivateSubCommand3_Click()Comm1.PortOpen=FalseEndSubPrivateSubForm_Load()Comm1.PortOpen=TrueEndSub該測(cè)試程序完成了最簡(jiǎn)單的數(shù)據(jù)傳輸,在輸入端輸入一個(gè)字符串,在接收端就可以收到這串字符串,這可以表明芯片的工作是完全正常,可以進(jìn)行使用了。4:501模塊調(diào)試:使用過程中多次出現(xiàn)數(shù)據(jù)發(fā)送不正常的情況,經(jīng)過檢查,大部分情況是因?yàn)楣╇娤到y(tǒng)不穩(wěn)定造成的,這又包括電壓不足和接觸不良兩種情況。另外,傳輸?shù)姆€(wěn)定性和所處的環(huán)境也有很大關(guān)系。2.3小結(jié)本小節(jié)給出了有關(guān)上海桑銳SRWF-501模塊的產(chǎn)品簡(jiǎn)介,運(yùn)行環(huán)境,使用方法以及在程序中的作用等內(nèi)容,通過該章節(jié)的論述,明確了整個(gè)設(shè)計(jì)過程中無(wú)線傳輸部分任務(wù)的完成,也明確了怎樣將無(wú)線設(shè)備與計(jì)算機(jī)終端相連,完成了整個(gè)設(shè)計(jì)中非常重要的一部分。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第三章基于RS-232串口進(jìn)行的通信第三章基于RS-232串口進(jìn)行的通信隨著信息技術(shù)的發(fā)展以及計(jì)算機(jī)網(wǎng)絡(luò)的廣泛使用,計(jì)算機(jī)通信技術(shù)越來越成熟。在眾多通信實(shí)現(xiàn)方案中,串行通信技術(shù)作為一種靈活、方便、可靠的通信手段,有著廣泛的應(yīng)用。它是計(jì)算機(jī)應(yīng)用中一種常用的通信方式,在計(jì)算機(jī)控制系統(tǒng)中的應(yīng)用是非常廣泛和重要的。此外,在工業(yè)控制領(lǐng)域,微機(jī)與微機(jī)、微機(jī)與外設(shè)、微機(jī)與分布式下位機(jī)等之間都可以通過RS-232C串行端口互連通信,以實(shí)現(xiàn)控制和傳輸數(shù)據(jù)等目的。VB提供了完備的程序接口函數(shù),使得在Windows環(huán)境下通過中斷方式實(shí)現(xiàn)串行通信變得很簡(jiǎn)單,它具有界面開放、易于使用、易于理解等優(yōu)點(diǎn),因此受到眾多用戶的歡迎。3.1串行通信串行通信由于接線少、成本低,在數(shù)據(jù)通信、計(jì)算機(jī)網(wǎng)絡(luò)以及分布式工業(yè)控制系統(tǒng)中,經(jīng)常采用它來交換數(shù)據(jù)和信息。1969年,美國(guó)電子工業(yè)協(xié)會(huì)(EIA)公布的RS-232C作為串行通信接口的電氣標(biāo)準(zhǔn),它定義了數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)間按位串行傳輸?shù)慕涌谛畔?,合理安排了接口的電氣信?hào)和機(jī)械要求,在世界范圍內(nèi)得到了廣泛的應(yīng)用。3.1.1串行通信與并行通信[6]微型計(jì)算機(jī)主機(jī)與外部設(shè)備的連接,基本上使用了兩類接口;串行接口與并行接口。并行接口是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送,其特點(diǎn)是傳輸速度快,但當(dāng)傳輸距離較遠(yuǎn)、位數(shù)又多時(shí),導(dǎo)致了通信線路復(fù)雜且成本提高。串行通信是指數(shù)據(jù)一位位地順序傳送,其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信,并可以利用電話線,從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。串行通信本身又分為異步通信與同步通信兩種。串行通信線路上傳送的是數(shù)字信號(hào),表示傳送數(shù)字信號(hào)能力的指標(biāo)為數(shù)據(jù)速率(DataRate),其單位為bps(bitpersecond),即每秒鐘傳送的二進(jìn)制位數(shù)。采用并行傳送方式在微型計(jì)算機(jī)與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳送的接口叫并行接口,它有2個(gè)主要特點(diǎn);一是同時(shí)并行傳送的二進(jìn)位數(shù)就是數(shù)據(jù)寬度;二是在計(jì)算機(jī)與外設(shè)之間采用應(yīng)答式的聯(lián)絡(luò)信號(hào)來協(xié)調(diào)雙方的數(shù)據(jù)傳送操作,這種聯(lián)絡(luò)信號(hào)又稱為握手信號(hào)。3.1.2串行通信接口目前普遍采用的一種串行接口標(biāo)準(zhǔn)是RS-232-C標(biāo)準(zhǔn)。RS-232-C接口標(biāo)準(zhǔn)采用25個(gè)引腳的連接器(D型插座)。RS-232-C規(guī)定有25根連線。3.1.3串行通信實(shí)現(xiàn)方式[7]1:異步通信(AsynchronousDataCommunication)以字符為傳輸單位,通信中兩個(gè)字符間的時(shí)間間隔是不固定的,然而在同一個(gè)字符中的兩個(gè)相鄰位代碼間的時(shí)間間隔是固定的。傳送一個(gè)字符的信息規(guī)定有起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、停止位等。2:同步通信(SynchronousDataCommunication)以幀為傳輸單位,每個(gè)幀中包含有多個(gè)字符。在通信過程中,每個(gè)字符間的時(shí)間間隔是相等的,而且每個(gè)字符中各相鄰位代碼間的時(shí)間間隔也是固定的。3.2RS-232串行通信接口3.2.1RS-232在計(jì)算機(jī)的位置一般的計(jì)算機(jī),尤其是臺(tái)式計(jì)算機(jī),都會(huì)有一到兩個(gè)RS-232串行通信接口,分別成為COM1口和COM2口[8],它們一般為藍(lán)顏色,9針的公口(為25針的簡(jiǎn)化),特別要注意的是,一般機(jī)器后面還會(huì)由一個(gè)25針的母口,一般為紅顏色,這個(gè)是LPT并口,通常用來接并口打印機(jī)的,不要把它錯(cuò)認(rèn)為是25針的串口了。3.2.2RS-232針腳圖圖2.49針RS-232圖2.49針RS-2323.2.3RS-232針腳介紹表3.1RS-232C的引腳引腳號(hào)名稱引腳號(hào)名稱1載波檢測(cè)CD2接收數(shù)據(jù)RxD3發(fā)送數(shù)據(jù)TxD4數(shù)據(jù)終端準(zhǔn)備好DTS5信號(hào)地GND6數(shù)據(jù)裝置準(zhǔn)備好DSR7發(fā)送器時(shí)鐘TxC8清除發(fā)送CTS9振鈴提示RI3.2.4RS-232針腳連接見圖2.3。3.3利用RS-232進(jìn)行通信前面一章提到,當(dāng)我們把上海桑銳501模塊與RS-232串口相連后就只需對(duì)RS-232串口編程[9]就可以了,當(dāng)我們將數(shù)據(jù)傳遞到RS-232串口后,經(jīng)過上海桑銳501模塊就可以進(jìn)行無(wú)線傳輸了,所以我們現(xiàn)在要研究的就是怎樣將數(shù)據(jù)傳遞到RS-232上。而要通過RS-232串口傳輸數(shù)據(jù),就不得不提到Microsoft在VB中提供的一個(gè)控件:MSComm,這個(gè)控件可以方便的對(duì)RS-232串口進(jìn)行控制,這樣正好滿足我們對(duì)串行通信的需要,下面介紹這個(gè)控件。3.3.1MSComm控件簡(jiǎn)介[10]MSCcomm控件首先提供了一個(gè)與RS-232通信的通道,建立了這個(gè)通道之后,就可以進(jìn)行通信了,這就像是高速公路,只有現(xiàn)將高速公路先鋪設(shè)好,然后在放上汽車,就可以進(jìn)行正常的通信了。RS-232串口通信與這個(gè)過程非常類似,用MSCcomm控件的打開命令(MSCcomm.open)打開與RS-232的連接后,可以用MSCcomm的其他屬性進(jìn)行通信編程,就可以實(shí)現(xiàn)與RS-232串口的通信了,具體的屬性及其控制將在MSCcomm的屬性一節(jié)詳細(xì)講解。3.3.2MSComm控件的引用當(dāng)我們應(yīng)用VB開始一個(gè)項(xiàng)目時(shí),VisualBasic的工具欄中會(huì)有許多默認(rèn)的控件供程序設(shè)計(jì)者使用,這些原本就出現(xiàn)在工具欄中的控件是內(nèi)置控件,他提供一些基本的程序控制組件給程序設(shè)計(jì)者使用,但是,一些比較特殊的控件不會(huì)出現(xiàn)在工具欄中,這里提到的MSComm控件就不默認(rèn)在工具欄中,所以我們需要自己添加,它存在于“MicrosoftCommControl6.0”組建中,選擇即可。3.3.3MSComm的工作方式MSComm控件的目的是為了讓用戶設(shè)計(jì)一個(gè)系統(tǒng)可以和串口進(jìn)行通信,因此信息會(huì)在硬件電路上流動(dòng),此控件提供了兩種方式來處理這種流動(dòng):一種是事件驅(qū)動(dòng),這種方法是一種有效的處理事件的方法。這種方式中,只要有通信時(shí)間發(fā)生,不管是錯(cuò)誤還是由新的信息發(fā)來,都會(huì)出發(fā)事件,程序會(huì)得知,根據(jù)程序的設(shè)計(jì)可以對(duì)其作出反應(yīng)。另一種方式是通過檢查ComEvent屬性的值來輪詢時(shí)間和錯(cuò)誤。如果應(yīng)用程序不大,這種方法會(huì)比較好。3.3.4MSComm的操控原則Windows的操作系統(tǒng)與DOS是完全不同的,Windows采用的是全新的對(duì)象化觀念,把所有的程序都對(duì)象化,在設(shè)計(jì)VB串行通信的相關(guān)時(shí),要遵循下四個(gè)四個(gè)步驟:1:對(duì)象,2:屬性,3:事件,4:方法。VisualBasic的串行通信對(duì)象乃是將對(duì)RS-232的初級(jí)操作予以封裝,用戶以高級(jí)語(yǔ)言的語(yǔ)法就可以實(shí)現(xiàn)利用RS-232與外界進(jìn)行通信,并不需要了解其它初級(jí)操作。3.3.5MSComm控件屬性介紹Commport:設(shè)計(jì)和返回通信連接端口代號(hào)。程序必須指定所使用的串行端口的號(hào)碼,Windows會(huì)使用所指定的端口與外界進(jìn)行通信,程序也可以此屬性返回所使用的串行口的號(hào)碼。Settings:初始化參數(shù)。以字符串的形式設(shè)計(jì)或返回連接速度、校驗(yàn)碼、數(shù)據(jù)位、停止位等四個(gè)參數(shù)。其格式為:“BBBB,P,D,S”,其中BBBB為連接速度,P為字符校驗(yàn)方式,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。PortOpen:設(shè)置或返回連接口的連接狀態(tài)。使用串行口前必須先將它打開,使用完畢后必須將它關(guān)閉。Input:從輸入寄存器返回并刪除字符。這是靠著這個(gè)屬性,VB可以經(jīng)RS-232串口中的數(shù)據(jù)出入到程序中來,這是我們進(jìn)行RS-232串口通信設(shè)計(jì)中最基本的一條屬性。Output:將數(shù)據(jù)發(fā)送到RS-232串口,這個(gè)屬性正好和上一個(gè)屬性的功能相反,靠著這個(gè)屬性,我們可以將想輸出去的數(shù)據(jù)傳輸給外界。Inputle:指定讀入字符的長(zhǎng)度或字符數(shù)。HandShaking:指定雙方的通信交握協(xié)議。所謂“交握協(xié)議”是指通常意義上所稱的流量控制。CommEvent:只有有事件發(fā)生或出現(xiàn)錯(cuò)誤就會(huì)產(chǎn)生OnComm事件,CommEvent屬性存有該錯(cuò)誤或事件的數(shù)值碼,這個(gè)屬性也會(huì)返回值供程序員讀取,這樣可以確定是什么錯(cuò)誤或事件。InputMode:設(shè)計(jì)或返回屬性取回的數(shù)據(jù)的類型。3.3.6MSComm控件屬性的應(yīng)用按上述連接方法將RS-232串口的引腳的硬件連接好,然后應(yīng)用上面所述控件就可以實(shí)現(xiàn)通信了。具體步驟如下:1:打開串口:MSComm.PortOpen=True2:參數(shù)設(shè)置(包括傳輸速率,差錯(cuò)校驗(yàn),碼位控制等)MSComm.settings=“9600,e,8,1”3:數(shù)據(jù)傳給串口:MSComm.Output=DataOutPut(DataOutPut為含有輸出數(shù)據(jù)的變量)4:串口的數(shù)據(jù)輸入到程序DataInPut=MSComm.InPut(DataInPut為接受輸入數(shù)據(jù)的變量)5:閉串口:MSComm.PortOpen=False更深一步的屬性設(shè)置詳見程序部分,這里只是簡(jiǎn)單的列出了最基礎(chǔ)的實(shí)現(xiàn)對(duì)RS-232串口傳輸?shù)牟糠帧?.4本設(shè)計(jì)中的RS-232串口應(yīng)用本設(shè)計(jì)中RS-232串口充當(dāng)了程序與上海桑銳SRWF-501模塊的橋梁,數(shù)據(jù)先到的串口,然后在傳出去,它與501模塊的硬件連接如圖2.3。1:串口參數(shù)設(shè)置:本設(shè)計(jì)中,串口的碼速率設(shè)置為9600波特,采用奇偶校驗(yàn)方式,每次傳輸8位,停止位一位。2:開發(fā)環(huán)境:本設(shè)計(jì)中使用VB開發(fā)環(huán)境,正如前一小節(jié)中所介紹的, 應(yīng)用VB中的MSCO-MM控件進(jìn)行設(shè)計(jì),這個(gè)控件可以控制整個(gè)過程的收、發(fā)、參數(shù)更改等過程,具體的實(shí)現(xiàn)如下:發(fā)送:MSComm1.Output=strinsertsql‘strinsertsql為發(fā)送的字符串接收:strinsertsql=MSComm1.Input‘strinsertsql為發(fā)送的字符串參數(shù)設(shè)置:MSComm1.settings=“9600,e,8,1”3:硬件連接:請(qǐng)見圖2.3。4:硬件調(diào)試:1:硬件打開:有很多機(jī)器,為了減少自檢時(shí)間,將串口關(guān)閉,我們?cè)囼?yàn)時(shí)必須將串口打開,更改方法是在主機(jī)的BIOS中將InBoardSerial的值設(shè)置為True。2:硬件測(cè)試:將RS-232串口的接收端引腳(2號(hào)角)和發(fā)送端引腳(3號(hào)引腳)相連,即讓機(jī)器自發(fā)自收,這樣可以檢測(cè)串口的好壞,串口的有效是本次設(shè)計(jì)的前提。3.5小結(jié)RS-232串口通信這一章詳細(xì)講述了有關(guān)串口通信以及最長(zhǎng)用的串口RS-232的有關(guān)問題,依次講述了Windows為VB所提供的串口編程接口――MSComm控件。MSComm控件的引用,MSComm控件的使用方法,MSComm控件的常用屬性等,以及用這個(gè)控件完成最基本的數(shù)據(jù)通信方法等。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第四章基于ACCESS數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)與提取第四章基于ACCESS數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)與提取數(shù)據(jù)對(duì)一個(gè)完整的程序的作用不言而喻,沒有一個(gè)強(qiáng)大的數(shù)據(jù)處理作為支持,就不可能有一個(gè)性能優(yōu)良的軟件。那么通常數(shù)據(jù)都是怎么處理的呢?有那些處理方式呢?怎樣才能保證為程序提供最高可靠性的數(shù)據(jù)保障呢?這一章將結(jié)合本次設(shè)計(jì)闡述這些問題。4.1數(shù)據(jù)的存儲(chǔ)與提取習(xí)慣了用面向過程的語(yǔ)言編寫一些小程序的朋友可能會(huì)覺得數(shù)據(jù)和程序完全可以混在一起,只要在程序運(yùn)行時(shí)將數(shù)據(jù)輸入就可以了,頂多在數(shù)據(jù)比較多的時(shí)候,輸入會(huì)比較麻煩,但也只需用一個(gè)文件就足解決問題了。但是對(duì)于經(jīng)常用面向?qū)ο蟮木幊痰呐笥芽赡苡胁煌捏w會(huì),因?yàn)槊嫦驅(qū)ο蟮木幊桃呀?jīng)不是模擬一個(gè)簡(jiǎn)單的過程,而是建立了很多對(duì)象,等著用戶輸入事件,然后對(duì)其反應(yīng),這時(shí)數(shù)據(jù)已經(jīng)是一個(gè)非常復(fù)雜的部分,他要包含提取,處理,查詢等功能,而且要求安全性能非常高,這就不得不引入數(shù)據(jù)庫(kù)。4.1.1文件文件是最簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)和提取方式,當(dāng)程序的數(shù)據(jù)非常大,人工輸入起來會(huì)非常麻煩,這時(shí)我們可以考慮到文件方式,幾乎每一種語(yǔ)言都有對(duì)文件訪問的命令,我們可以用這些命令進(jìn)行非常簡(jiǎn)單的文件訪問,免去復(fù)雜的操作,同時(shí),也可以通過程序?qū)ξ募M(jìn)行寫數(shù)據(jù),這樣又避免了復(fù)雜生成數(shù)據(jù)的過程,熟練的應(yīng)用文件存儲(chǔ)工具,可以為我們提供很大的便利。4.1.2數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)也是一種數(shù)據(jù)的存儲(chǔ)和提取的方式,現(xiàn)在應(yīng)用非常廣,可謂已經(jīng)到了家喻戶曉的地步了,最簡(jiǎn)單的數(shù)據(jù)庫(kù)是由Microsoft提供的ACCESS數(shù)據(jù)庫(kù),本程序就是應(yīng)用這個(gè)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)和提取,以及查詢的。數(shù)據(jù)可可以提供穩(wěn)定性非常高的數(shù)據(jù)存儲(chǔ),越來越受到大家的青睞。4.1.3數(shù)據(jù)庫(kù)與文件的對(duì)比數(shù)據(jù)庫(kù)和文件是兩種主要的數(shù)據(jù)存儲(chǔ)和提取方式,它們各具優(yōu)點(diǎn)和缺陷。以文件存儲(chǔ)和提取數(shù)據(jù)的最大好處是簡(jiǎn)單,方便,容易上手,只需了解幾條命令就可輕易上手。相對(duì)文件來說,數(shù)據(jù)庫(kù)的優(yōu)勢(shì)就在于其強(qiáng)大的性能,例如其建表,查詢等功能都是文件所沒有的。4.2本程序中ACCESS數(shù)據(jù)庫(kù)的應(yīng)用上一小節(jié)介紹了文件和數(shù)據(jù)庫(kù)在存儲(chǔ)和提取數(shù)據(jù)時(shí)的各自優(yōu)勢(shì),由于功能上的需要,在此次程序設(shè)計(jì)中,只能用數(shù)據(jù)庫(kù),這樣才可以實(shí)現(xiàn)數(shù)據(jù)隨時(shí)輸入列表,進(jìn)行查詢處理,輸出等操作。4.2.1程序中數(shù)據(jù)庫(kù)的主要功能在程序中建立了一個(gè)MicrosoftAccess數(shù)據(jù)庫(kù),在其中建立了一張列表,包含了列車的信息,然后向其中添加多次列車的信息,之后進(jìn)行查詢工作,可以按照不同方式查詢,并同時(shí)將其讀取,最后將數(shù)據(jù)顯示出來。4.2.2程序中數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)上述功能將在程序中依次實(shí)現(xiàn),具體方法如下:1:數(shù)據(jù)庫(kù)的建立這一步可以不與VB開發(fā)環(huán)境直接關(guān)聯(lián)[11],只需在預(yù)定的路徑出建立一個(gè)新的數(shù)據(jù)庫(kù)即可。2:連接至數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)庫(kù)的操作之前必須先建立與數(shù)據(jù)庫(kù)的聯(lián)接,這也非常像高速公路,必須先鋪設(shè)好路線,然后才能談到運(yùn)輸,建立與數(shù)據(jù)庫(kù)的連接非常簡(jiǎn)單,使用數(shù)據(jù)庫(kù)的連接對(duì)象ADO.Connect,具體語(yǔ)法如下:1:實(shí)例化一個(gè)連接對(duì)象:Publicg_dbconAsNewADODB.Connection2:用連接對(duì)象屬性設(shè)置連接參數(shù):g_dbcon.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;"_&"DataSource=E:\graduate\emp.mdb;"&"Mode=ReadWrite"g_dbcon.ConnectionTimeout=303:建立連接g_dbcon.Open3:數(shù)據(jù)庫(kù)的初始化這一步就最好要在程序中完成了,當(dāng)然在數(shù)據(jù)庫(kù)中操作也可以,但是在開發(fā)環(huán)境中用SQL語(yǔ)言完成更為方便,關(guān)鍵字:Create,具體語(yǔ)法如下:g_dbcon.Execute("createtableManageList(Mnamechar(32),MPWD_CHAR(16))")g_dbcon.Execute("createtableEMPLIST(ENumberchar(32)primarykey,Ename_char(16),Eageint,Edatechar(32),Eadresschar(128))")4:數(shù)據(jù)庫(kù)的數(shù)據(jù)添加數(shù)據(jù)添加到數(shù)據(jù)庫(kù)是程序功能實(shí)現(xiàn)非常重要的一環(huán),它使用了SQL關(guān)鍵字:InsertInto,具體語(yǔ)句如下:1:整合要添加的語(yǔ)句:strinsertsql="INSERTINTOEMPLIST(ENumber,Ename,Eage,Edate,Eadress)values("strinsertsql=strinsertsql&"'"&Trim(Textcode.Text)&"',"strinsertsql=strinsertsql&"'"&Trim(Textname.Text)&"',"strinsertsql=strinsertsql&Val(Textage.Text)&","strinsertsql=strinsertsql&"'"&Trim(Textdate.Text)&"',"strinsertsql=strinsertsql&"'"&Trim(Textaddress.Text)&"')"2:執(zhí)行添加命令:ExecuteSQL(strinsertsql)5:數(shù)據(jù)的查詢數(shù)據(jù)查詢功能是要在火車站車庫(kù)的主機(jī)上完成的功能,因?yàn)檎{(diào)度人員要完成調(diào)度就必須隨時(shí)了解各個(gè)機(jī)車的情況,這個(gè)功能是通過使用SQL語(yǔ)句中的Select語(yǔ)句來實(shí)現(xiàn)的,具體語(yǔ)法如下:1:定義參數(shù)字符串:strSQL="select*fromEMPLISTwhere(Eage>="&Text1.Text&")and(Eage<="&Text2.Text&")"2:執(zhí)行查詢命令:QueryEmpInfo(strSQL)6:數(shù)據(jù)的讀取及顯示這個(gè)功能主要也是在火車站車庫(kù)的主機(jī)上實(shí)現(xiàn),因?yàn)椴樵兺炅酥蟊仨氂眯Ч浅:玫娘@示軟件顯示出來才可以起到效果。本設(shè)計(jì)使用VB開發(fā)環(huán)境中的MSFlexgrid控件進(jìn)行數(shù)據(jù)顯示,具體語(yǔ)法如下:1:建表grdTBL.Cols=7grdTBL.Row=0grdTBL.Col=0grdTBL.Text="Enamber"grdTBL.Col=1grdTBL.Text="Ename"grdTBL.Col=2grdTBL.Text="Eage"grdTBL.Col=3grdTBL.Text="Edate"grdTBL.Col=4grdTBL.Text="adress"2:輸出數(shù)據(jù):DoWhileNotg_dbrct.EOFgrdTBL.AddItem(Empty)grdTBL.Row=grdTBL.Rows-2grdTBL.Col=0grdTBL.Text=CStr(g_dbrct.Fields("ENumber").Value)grdTBL.Col=1grdTBL.Text=CStr(g_dbrct.Fields("Ename").Value)grdTBL.Col=2grdTBL.Text=CStr(g_dbrct.Fields("Eage").Value)grdTBL.Col=3grdTBL.Text=CStr(g_dbrct.Fields("Edate").Value)grdTBL.Col=4grdTBL.Text=CStr(g_dbrct.Fields("Eadress").Value)g_dbrct.MoveNextLoop4.3本設(shè)計(jì)中的數(shù)據(jù)庫(kù)應(yīng)用上節(jié)介紹了數(shù)據(jù)庫(kù)在程序中的主要功能,本結(jié)講述數(shù)據(jù)庫(kù)在發(fā)送端和接收端的各自功能。4.3.1發(fā)送端數(shù)據(jù)庫(kù)發(fā)端數(shù)據(jù)庫(kù),即列車上主機(jī)的數(shù)據(jù)庫(kù)。主要完成數(shù)據(jù)的提取,將列車數(shù)據(jù)從數(shù)據(jù)庫(kù)中提取,然后通過RS-232串口傳送給上海桑銳501模塊,進(jìn)行無(wú)線傳輸。具體實(shí)現(xiàn)如下:strSQL="select*fromRailwhere(司機(jī)代號(hào)=1)"IfQueryEmpInfo(strSQL)=TrueThen'UnloadMefrmRctlist.ShowEndIfg_dbrct.MoveFirststrinsertsql="INSERTINTOStation(列車號(hào),司機(jī)代號(hào),司機(jī)姓名,均速,軸溫,車管壓力,車廂溫度)values("strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("列車號(hào)").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("司機(jī)代號(hào)").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("司機(jī)姓名").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("均速").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("軸溫").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("車管壓力").Value)&"',"strinsertsql=strinsertsql&"'"&CStr(g_dbrct.Fields("車廂溫度").Value)&"')"MSComm1.Output=strinsertsql4.3.2接收端數(shù)據(jù)庫(kù)接收端數(shù)據(jù)庫(kù),即火車站車庫(kù)上主機(jī)的數(shù)據(jù)庫(kù),當(dāng)它接收到數(shù)據(jù)時(shí)進(jìn)行數(shù)據(jù)向數(shù)據(jù)庫(kù)的添加,之后還要進(jìn)行查詢,顯示,用以完成列車的調(diào)度。具體實(shí)現(xiàn)如下:(以下都是用子函數(shù)完成,具體代碼請(qǐng)見附錄代碼部分)strinsertsql=MSComm1.Input‘接收數(shù)據(jù)CallExecuteSQL(strinsertsql)‘入庫(kù)frmrctlist.Show‘顯示4.4小結(jié)本章主要介紹了程序的數(shù)據(jù)管理與處理的部分,這部分首先比較了文件和數(shù)據(jù)庫(kù)兩種數(shù)據(jù)管理方式的不同點(diǎn),介紹了各自的優(yōu)勢(shì),進(jìn)而說明了為什么選擇了數(shù)據(jù)庫(kù)而放棄了使用文件。然后又對(duì)程序?qū)?shù)據(jù)庫(kù)的操作方法進(jìn)行了簡(jiǎn)單的介紹,最后明確了接收端和發(fā)送端的各自不同的數(shù)據(jù)庫(kù)操作,至此,數(shù)據(jù)庫(kù)的使用就基本介紹完了。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第五章功能的整合與程序的實(shí)現(xiàn)第五章功能的整合與程序的實(shí)現(xiàn)5.1功能的整合前面幾章分別介紹了各個(gè)模塊,現(xiàn)在將前面幾章的內(nèi)容的功能整合起來。首先我們將上海桑銳501模塊與主機(jī)的RS-232串口相連,也就是完成無(wú)線模塊和串口部分的連接,然后在VB開發(fā)環(huán)境中用MSComm控件將程序與主機(jī)RS-232串口相連,這樣三大模塊就連接到一起了。5.2程序流程圖前面已經(jīng)已經(jīng)講述了各個(gè)模塊的作用,現(xiàn)在著重討論具體程序的實(shí)現(xiàn),下面是程序流程圖[12]:開始列車端:開始從數(shù)據(jù)庫(kù)Rail中度數(shù)據(jù)從數(shù)據(jù)庫(kù)Rail中度數(shù)據(jù)從數(shù)據(jù)庫(kù)Rail中度數(shù)據(jù)有誤從數(shù)據(jù)庫(kù)Rail中度數(shù)據(jù)有誤信息是否正確信息是否正確正確將數(shù)據(jù)傳往RS-232正確將數(shù)據(jù)傳往RS-232數(shù)據(jù)從RS-232發(fā)往501數(shù)據(jù)從RS-232發(fā)往501數(shù)據(jù)無(wú)線發(fā)射數(shù)據(jù)無(wú)線發(fā)射檢測(cè)到檢測(cè)差錯(cuò)信號(hào)檢測(cè)到檢測(cè)差錯(cuò)信號(hào)未檢測(cè)到未檢測(cè)到未檢測(cè)到未檢測(cè)到檢測(cè)確認(rèn)信號(hào)檢測(cè)確認(rèn)信號(hào)檢測(cè)到檢測(cè)到結(jié)束結(jié)束圖5.1列車端程序流程圖圖5.1列車端程序流程圖車庫(kù)端:開始開始檢測(cè)列車信號(hào)檢測(cè)列車信號(hào)檢測(cè)到未檢測(cè)到檢測(cè)到未檢測(cè)到有錯(cuò)信號(hào)奇偶校驗(yàn)有錯(cuò)信號(hào)奇偶校驗(yàn)無(wú)錯(cuò)顯示數(shù)據(jù)發(fā)送差錯(cuò)信號(hào)無(wú)錯(cuò)顯示數(shù)據(jù)發(fā)送差錯(cuò)信號(hào)數(shù)據(jù)寫入Station數(shù)據(jù)庫(kù)數(shù)據(jù)寫入Station數(shù)據(jù)庫(kù)發(fā)送確認(rèn)信號(hào)發(fā)送確認(rèn)信號(hào)接收新信號(hào)接收新信號(hào)圖5.2車庫(kù)端程序流程圖圖5.2車庫(kù)端程序流程圖5.3程序界面1:發(fā)送端主界面:圖5.3列車端發(fā)送主界面圖5.3列車端發(fā)送主界面2:發(fā)送端查看發(fā)送信息界面(點(diǎn)擊主界面上的查看按鈕即出現(xiàn)此界面):圖5.4列車端查看界面圖5.4列車端查看界面3:車庫(kù)接收端主界面(自動(dòng)接收,故無(wú)接收按鈕):圖5.5車庫(kù)接收端主界面圖5.5車庫(kù)接收端主界面4:車庫(kù)接收顯示界面:圖5.6車庫(kù)端接收顯示界面圖5.6車庫(kù)端接收顯示界面5:車庫(kù)端查詢顯示界面:圖5.7車庫(kù)端查詢顯示界面圖5.7車庫(kù)端查詢顯示界面5.3本設(shè)計(jì)主要模塊的程序?qū)崿F(xiàn)以上是本設(shè)計(jì)兩端的整體設(shè)計(jì)思路,下面介紹一下上述圖中主要功能的具體代碼實(shí)現(xiàn):1:列車端發(fā)送-檢錯(cuò)重傳-確認(rèn)的代碼實(shí)現(xiàn):MSComm1.PortOpen=False‘打開串口IfConnectToServer=FalseThenEnd‘打開數(shù)據(jù)庫(kù)Line1:MSComm1.Output=strinsertsql'發(fā)送數(shù)據(jù)Line2:SuccessOrWrong=MSComm1.Input’檢測(cè)反饋信號(hào)Text2.Text=SuccessOrWrongIfSuccessOrWrong=EmptyThen’繼續(xù)檢驗(yàn)GoToLine2EndIfIfSuccessOrWrong=ErrorToRepeatThen’有錯(cuò)重傳GoToLine1EndIfIfSuccessOrWrong<>SuccessThen’無(wú)反饋信號(hào)報(bào)錯(cuò)MsgBox"錯(cuò)誤"EndIfMSComm1.PortOpen=False’關(guān)閉串口Ifg_dbcon.State=adStateOpenThen‘關(guān)閉數(shù)據(jù)庫(kù)g_dbcon.CloseEndIf2:車庫(kù)端接收-檢錯(cuò)重傳-確認(rèn)過程的代碼實(shí)現(xiàn):IfConnectToServer=FalseThenEnd‘打開數(shù)據(jù)庫(kù)MSComm1.PortOpen=True‘打開串口line1:BB=1‘出錯(cuò)標(biāo)記strinsertsql=MSComm1.Input‘接收數(shù)據(jù)Ifstrinsertsql=EmptyThen‘檢測(cè)數(shù)據(jù)GoToline1EndIfIfBB=2Then‘檢測(cè)差錯(cuò)GoToline1EndIfCC="success"MSComm1.Output=CC‘發(fā)送確認(rèn)信號(hào)strSQL="select*fromStationwhere(司機(jī)代號(hào)>0)"IfExecuteSQL(strinsertsql)=TrueThen‘信息入庫(kù)'MsgBox"員工信息已保存",vbInformation+vbOKOnly,"保存成功"'UnloadMeEndIfIfQueryEmpInfo(strSQL)=TrueThen‘查詢數(shù)據(jù)'UnloadMefrmrctlist1.ShowEndIfGoToline1‘繼續(xù)檢測(cè)信號(hào)3:車庫(kù)但查詢功能的代碼實(shí)現(xiàn):strSQL="select*fromStationwhere(司機(jī)代號(hào)>0)"IfText1.Text<>EmptyThenstrSQL=strSQL&"and(列車號(hào)="&Text1.Text&")"EndIf‘按列車號(hào)查詢IfText2.Text<>EmptyThenstrSQL=strSQL&"and(司機(jī)代號(hào)="&Text2.Text&")"EndIf‘按司機(jī)代號(hào)查詢IfText3.Text<>EmptyThenstrSQL=strSQL&"and(司機(jī)姓名='"&Text3.Text&"')"EndIf‘按司機(jī)姓名查詢IfQueryEmpInfo(strSQL)=TrueThen'UnloadMefrmrctlist.ShowEndIf‘開始查詢5.4本設(shè)計(jì)的軟件調(diào)試過程眾所周知,軟件調(diào)試對(duì)于一個(gè)軟件程序的設(shè)計(jì)過程來說是非常重要的。這次設(shè)計(jì)當(dāng)然也不例外,我大致總結(jié)了軟件調(diào)試過程如下:1、程序中的符號(hào):這部分錯(cuò)誤主要是由于沒有及時(shí)轉(zhuǎn)換輸入法造成的,例如將英文的等號(hào)寫成了漢字的等號(hào),造成程序無(wú)法識(shí)別,從而無(wú)法運(yùn)行,這種錯(cuò)誤有很難檢測(cè)的出,所以一定要注意。2、變量類型的區(qū)別:主要是字符串變量和整形變量,這兩種變量在程序中一些語(yǔ)句中的語(yǔ)法格式是不一樣的,例如查找字符型變量的語(yǔ)法與查找整型變量的語(yǔ)法就有所不同。3、變量的作用范圍:變量有不同的作用范圍,如果不注意這一點(diǎn)就會(huì)造成變量無(wú)法正常使用,最終導(dǎo)致程序無(wú)法運(yùn)行。4、循環(huán)檢測(cè):在設(shè)置循環(huán)檢測(cè)程序的時(shí)候,必須指定多長(zhǎng)時(shí)間檢測(cè)一次,時(shí)間可以設(shè)置的很短,但是不能沒有,否則會(huì)造成死循環(huán)。以上是此次設(shè)計(jì)中比較突出的幾個(gè)問題,這些問題以及遇到的其它問題其實(shí)都可以用設(shè)置斷點(diǎn)的方法解決,這樣一步一步的排除,最終肯定能夠排除錯(cuò)誤。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)第六章結(jié)束語(yǔ)第六章結(jié)束語(yǔ)經(jīng)過這段時(shí)間的畢業(yè)設(shè)計(jì),對(duì)用vb開發(fā)環(huán)境開發(fā)RS-232串口通信程序過程有了一定的了解,并且了解了上海桑銳SRWF-501無(wú)線模塊,對(duì)無(wú)線通信有了深入了解,并完成了整個(gè)無(wú)線通信功能的實(shí)現(xiàn)。本次設(shè)計(jì)以WINDOWSXP作為開發(fā)環(huán)境,采用VB進(jìn)行程序開發(fā),用非常友好的界面實(shí)現(xiàn)了整個(gè)設(shè)計(jì)的預(yù)設(shè)功能。6.1結(jié)論總結(jié)經(jīng)過一個(gè)學(xué)期的努力,此次畢業(yè)設(shè)計(jì)終于實(shí)現(xiàn)了預(yù)計(jì)的功能,下面將所實(shí)現(xiàn)的功能列出如下:1:列車上瀏覽確認(rèn)所發(fā)送的信息。2:列車主機(jī)將確認(rèn)后的數(shù)據(jù)發(fā)往RS-232串口。3:數(shù)據(jù)從RS-232串口上經(jīng)桑銳501模塊無(wú)線發(fā)射出去。4:車庫(kù)的桑銳501模塊無(wú)線接收列車發(fā)來的數(shù)據(jù),并作奇偶校驗(yàn)。5:桑銳501模塊接收的數(shù)據(jù)傳給RS-232串口。6:接收RS-232串口數(shù)據(jù),顯示,并存入數(shù)據(jù)庫(kù)。7:在車庫(kù)主機(jī)上可以查詢所有相關(guān)記錄。6.2未來展望雖然經(jīng)過了認(rèn)真的設(shè)計(jì),程序已經(jīng)實(shí)現(xiàn)了預(yù)計(jì)的要求,但是就實(shí)際來說還有很大的改進(jìn)空間,大致總結(jié)如下:1:供電部分,本實(shí)驗(yàn)中的無(wú)線部分桑銳501模塊是要外接電源的,本次設(shè)計(jì)的電源是本人用三節(jié)1.5V電池連接而成,價(jià)格雖然便宜,但是有時(shí)候供電不穩(wěn),造成收發(fā)受阻的后果,供電部分是的一個(gè)要改進(jìn)的地方。2:桑銳501無(wú)線模塊雖然在實(shí)驗(yàn)中完成了預(yù)定的任務(wù),但是會(huì)受環(huán)境影響,所以隨著技術(shù)的發(fā)展,這一弊端將得到克服。3:本設(shè)計(jì)所傳輸?shù)闹皇亲罨镜男畔?,要想在?shí)際中得到廣泛應(yīng)用,則必須添加更多的數(shù)據(jù)參數(shù)。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)致謝致謝在畢業(yè)設(shè)計(jì)完成之即,首先感謝指導(dǎo)老師彭春華老師。大學(xué)期間彭老師淵博的知識(shí)和優(yōu)秀的教學(xué)方法給我留下了深刻的印象,使我受益匪淺。在畢業(yè)設(shè)計(jì)的一個(gè)多學(xué)期以來,彭老師不僅給我提供了很好的學(xué)習(xí)環(huán)境,還給予我很多的指導(dǎo),在論文修改過程中,給我提出了許多寶貴的意見。彭老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、勇于開拓創(chuàng)新的膽識(shí)和忘我的工作精神,為我們樹立了很好的榜樣,尤其是彭老師積極進(jìn)取的精神,讓我深受啟發(fā)。在此,對(duì)彭老師表示衷心的感謝!最后,感謝所有的同學(xué)一個(gè)多學(xué)期以來對(duì)我的幫助,以及所有關(guān)心和幫助過我的朋友。機(jī)車入庫(kù)無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)參考文獻(xiàn)參考文獻(xiàn)[1]陳炳祥,施雨農(nóng),高速鐵路信號(hào)與控制系統(tǒng),file:///E:/graduate/高速鐵路信號(hào)與控制系統(tǒng)(之一)%20%20中華鐵道網(wǎng).htm2007-3-22[2]/web/webportal/W5269819/Uzhuj/A456718.html[3]/view/260711.htm[4]李群芳,黃建.單片微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,2001[5]上海桑銳電子科技有限公司.SRWF-5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生交流會(huì)策劃方案(8篇)
- 2025年材料用過濾袋合同采購(gòu)流程
- 2025年醫(yī)用耗材集中采購(gòu)協(xié)議
- 2025年文物遺址保護(hù)服務(wù)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年舞蹈學(xué)校教職員工勞動(dòng)合同
- 2025年貴金屬靶材項(xiàng)目申請(qǐng)報(bào)告模板
- 2025年企業(yè)互助共享協(xié)議
- 2025年單位二手商業(yè)房產(chǎn)出售合同范本
- 2025年公司員工競(jìng)業(yè)限制協(xié)議范例
- 2025年組合開關(guān)項(xiàng)目提案報(bào)告
- 2024年中考數(shù)學(xué)專題訓(xùn)練 專題10 截長(zhǎng)補(bǔ)短模型綜合應(yīng)用(知識(shí)解讀)
- 專利分析評(píng)議報(bào)告
- 員工招聘與人才引進(jìn)培訓(xùn)課件
- 裝配式預(yù)制剪力墻外墻板制作教學(xué)課件:預(yù)制外墻板生產(chǎn)流程
- 英語(yǔ)旅游文本的句式特點(diǎn)及其翻譯
- 咖啡種植園項(xiàng)目計(jì)劃書
- 2024年山東省春季高考模擬考試英語(yǔ)試卷試題(含答案詳解二)
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 精裝修室內(nèi)施工組織部署
- 農(nóng)用拖拉機(jī)考試題庫(kù)
- GJB438C模板-軟件開發(fā)計(jì)劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
評(píng)論
0/150
提交評(píng)論