龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——數(shù)據(jù)采集上位機(jī)軟件模塊畢業(yè)論文_第1頁(yè)
龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——數(shù)據(jù)采集上位機(jī)軟件模塊畢業(yè)論文_第2頁(yè)
龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——數(shù)據(jù)采集上位機(jī)軟件模塊畢業(yè)論文_第3頁(yè)
龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——數(shù)據(jù)采集上位機(jī)軟件模塊畢業(yè)論文_第4頁(yè)
龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——數(shù)據(jù)采集上位機(jī)軟件模塊畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 編號(hào) 淮安信息職業(yè)技術(shù)學(xué)院畢業(yè)論文題 目龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)采集上位機(jī)軟件模塊學(xué)生姓名楊正麗學(xué) 號(hào)31082008系 部計(jì)算機(jī)科學(xué)與工程系專(zhuān) 業(yè)軟件技術(shù)班 級(jí)310820指導(dǎo)教師王志勃 講師顧問(wèn)教師二一年六月摘 要基于CAN總線的龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)是針對(duì)江蘇盱眙龍蝦養(yǎng)殖基地而設(shè)計(jì)的一套高效精細(xì)化養(yǎng)殖系統(tǒng)。采用高效現(xiàn)代化設(shè)施農(nóng)業(yè)改造是實(shí)現(xiàn)精細(xì)化養(yǎng)殖,提高特色水產(chǎn)養(yǎng)殖經(jīng)濟(jì)效益的必由之路。根據(jù)本項(xiàng)目作業(yè)范圍大的特點(diǎn),系統(tǒng)采用了CAN總線作為現(xiàn)場(chǎng)總線,配合多種傳感器技術(shù)和遠(yuǎn)程控制技術(shù),實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)的數(shù)據(jù)采集和電氣設(shè)備控制。在此基礎(chǔ)上開(kāi)發(fā)了一整套用于監(jiān)控和數(shù)據(jù)處理的智能化龍蝦養(yǎng)殖管理

2、系統(tǒng)。基于CAN總線的龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)集數(shù)據(jù)采集、視頻監(jiān)控、軟件控制等多種技術(shù)于一體,是一個(gè)綜合性、應(yīng)用性比較強(qiáng)的項(xiàng)目。分別由計(jì)算機(jī)科學(xué)與工程系和電子系教師承擔(dān)指導(dǎo),兩系學(xué)生共同完成。項(xiàng)目總體分為四個(gè)模塊:數(shù)據(jù)采集上位機(jī)軟件模塊、遠(yuǎn)程監(jiān)控軟件模塊、環(huán)境數(shù)據(jù)采集硬件模塊和視頻監(jiān)控模塊組成。本篇論文主要完成龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)中上位機(jī)數(shù)據(jù)采集模塊功能的設(shè)計(jì)與實(shí)現(xiàn)。在該模塊中通過(guò)CAN總線實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)多種傳感器的數(shù)據(jù)讀取,同時(shí)根據(jù)系統(tǒng)的設(shè)定自動(dòng)或手動(dòng)的啟動(dòng)養(yǎng)殖水域的各種電氣設(shè)備。在這個(gè)過(guò)程中依賴(lài)CAN遠(yuǎn)程控制卡提供的DLL驅(qū)動(dòng),實(shí)現(xiàn)了數(shù)據(jù)的讀取與設(shè)備控制。上位機(jī)數(shù)據(jù)采集模塊使用C#語(yǔ)言進(jìn)行開(kāi)發(fā),

3、模塊系統(tǒng)基于C/S架構(gòu)。關(guān)鍵詞:CAN總線 數(shù)據(jù)采集 C#三層模型 龍蝦養(yǎng)殖監(jiān)控 目 錄摘 要I目 錄II第一章 前言11.1項(xiàng)目開(kāi)發(fā)背景與意義1項(xiàng)目開(kāi)發(fā)背景1項(xiàng)目開(kāi)發(fā)意義11.2龍蝦養(yǎng)殖國(guó)內(nèi)外情況調(diào)查2龍蝦養(yǎng)殖國(guó)外情況2龍蝦養(yǎng)殖國(guó)內(nèi)情況21.3項(xiàng)目技術(shù)關(guān)鍵與本模塊工作任務(wù)3項(xiàng)目技術(shù)關(guān)鍵3本模塊工作任務(wù)3第二章 系統(tǒng)總體設(shè)計(jì)42.1系統(tǒng)總體功能概述42.2CAN總線網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)52.3軟件模塊總體設(shè)計(jì)62.4視頻監(jiān)控模塊總體設(shè)計(jì)6第三章 數(shù)據(jù)采集控制模塊的概要設(shè)計(jì)73.1 數(shù)據(jù)采集控制模塊的需求分析73.1.1 運(yùn)行環(huán)境需求分析73.1.2 系統(tǒng)功能及角色需求分析73.2 數(shù)據(jù)庫(kù)設(shè)計(jì)83.2.

4、1 數(shù)據(jù)庫(kù)相關(guān)技術(shù)83.2.2 數(shù)據(jù)表的設(shè)計(jì)103.3 主要研究方法12第四章 數(shù)據(jù)采集與控制模塊的詳細(xì)設(shè)計(jì)134.1 詳細(xì)設(shè)計(jì)規(guī)范13程序編碼規(guī)范134.1.2 數(shù)據(jù)庫(kù)命名規(guī)范144.1.3 術(shù)語(yǔ)規(guī)范144.2 CAN設(shè)備初始化154.2.1 CAN數(shù)據(jù)采集卡初始化154.2.2 CAN遠(yuǎn)程模塊初始化184.3 系統(tǒng)功能的實(shí)現(xiàn)214.3.1 數(shù)據(jù)采集模塊主界面設(shè)計(jì)214.3.2 歷史數(shù)據(jù)的顯示244.3.3 其他功能27第五章 總結(jié)與展望30致 謝31參考文獻(xiàn)32附錄1 軟件著作權(quán)35附錄2 項(xiàng)目開(kāi)發(fā)過(guò)程照片36第一章 前言1.1項(xiàng)目開(kāi)發(fā)背景與意義項(xiàng)目開(kāi)發(fā)背景 “盱眙龍蝦”是一種淡水龍蝦,學(xué)

5、名克氏螯蝦,俗稱(chēng)“小龍蝦”原產(chǎn)于歐美國(guó)家,20 世紀(jì)中期傳入我國(guó)并大量繁殖。小龍蝦早在18世紀(jì)時(shí),就成為歐洲和美洲人的重要食物,歐美市場(chǎng)小龍蝦需求量大,自給能力不足,我國(guó)一直是小龍蝦的出口國(guó),但近幾十年來(lái),中國(guó)人也開(kāi)始大規(guī)模消費(fèi)小龍蝦,自然龍蝦資源不斷枯竭,為了緩解供需矛盾,上世紀(jì)八十年代初開(kāi)始研究小龍蝦生物學(xué)特性,人工繁殖,人工養(yǎng)殖及加工,國(guó)內(nèi)外建立了大量的小龍蝦養(yǎng)殖場(chǎng),開(kāi)始大規(guī)模人工養(yǎng)殖小龍蝦,幾十年來(lái),由于人們對(duì)小龍蝦的研究,基本上停留在對(duì)小龍蝦生物學(xué)特性的認(rèn)知層面,對(duì)于龍蝦養(yǎng)殖管理技術(shù)的研究投入不足,尤其是在現(xiàn)代計(jì)算機(jī)控制技術(shù)和多種信息采集技術(shù)突飛猛進(jìn),計(jì)算機(jī)技術(shù)迅速向各行各業(yè)滲透的今

6、天,龍蝦養(yǎng)殖業(yè)的發(fā)展尚未有效地與計(jì)算機(jī)技術(shù)結(jié)合,這不能不說(shuō)是一種缺陷。不失時(shí)機(jī)地把龍蝦規(guī)?;B(yǎng)殖與信息化管理技術(shù)結(jié)合起來(lái),迅速提升龍蝦養(yǎng)殖產(chǎn)業(yè)管理技術(shù)水準(zhǔn),以現(xiàn)代裝備手段,推動(dòng)龍蝦養(yǎng)殖產(chǎn)業(yè)長(zhǎng)足發(fā)展,是龍蝦人工繁殖、養(yǎng)殖技術(shù)進(jìn)一步發(fā)展的重要任務(wù)。本項(xiàng)目旨在建設(shè)“盱眙龍蝦規(guī)?;B(yǎng)殖與信息化管理技術(shù)相結(jié)合的數(shù)字監(jiān)控系統(tǒng)”它是把現(xiàn)代成熟的計(jì)算機(jī)控制技術(shù)和多種信息采集技術(shù),系統(tǒng)地應(yīng)用到大規(guī)模龍蝦養(yǎng)殖產(chǎn)業(yè)工作中,其實(shí)質(zhì)是把龍蝦養(yǎng)殖這個(gè)新興產(chǎn)業(yè)與計(jì)算機(jī)現(xiàn)代高科技手段相結(jié)合,以現(xiàn)代測(cè)控技術(shù)為實(shí)施農(nóng)業(yè)服務(wù),形成技術(shù)集成創(chuàng)新,引領(lǐng)龍蝦養(yǎng)殖管理技術(shù)的發(fā)展趨勢(shì)。1.1.2項(xiàng)目開(kāi)發(fā)意義 實(shí)施“5000畝盱眙龍蝦規(guī)?;B(yǎng)

7、殖與信息化管理技術(shù)開(kāi)發(fā)應(yīng)用”項(xiàng)目,為了促進(jìn)盱眙龍蝦成蝦養(yǎng)殖和繁殖工作向集約化方向發(fā)展,將盱眙龍蝦養(yǎng)殖技術(shù)與基于計(jì)算機(jī)技術(shù)的信息化管理技術(shù)相結(jié)合,實(shí)現(xiàn)龍蝦養(yǎng)殖穩(wěn)產(chǎn)、高產(chǎn)、保產(chǎn)、保收、保增長(zhǎng)、保效益的目的。本項(xiàng)目不是要研究龍蝦養(yǎng)殖技術(shù)本身,也不是要研究計(jì)算機(jī)技術(shù)本身,它是把計(jì)算機(jī)和多種信息采集設(shè)備及應(yīng)用技術(shù)結(jié)合到龍蝦養(yǎng)殖業(yè)工作中,完成兩種現(xiàn)有技術(shù)的集成。大蓮湖龍蝦養(yǎng)殖基地位于江蘇省淮安市盱眙縣河橋鎮(zhèn)大蓮湖村境內(nèi),連片龍蝦養(yǎng)殖面積6000多畝,精養(yǎng)水面3000余畝,是目前江蘇省規(guī)模最大的專(zhuān)業(yè)化淡水龍蝦養(yǎng)殖基地,5000畝盱眙龍蝦規(guī)模化養(yǎng)殖與信息化管理技術(shù)開(kāi)發(fā)應(yīng)用,有利于建設(shè)規(guī)模更大、養(yǎng)殖水平更高的盱

8、眙龍蝦精細(xì)化養(yǎng)殖示范基地,有利于推動(dòng)數(shù)字農(nóng)業(yè)技術(shù)進(jìn)步,增強(qiáng)盱眙龍蝦品牌的高科技含量。有利于加快建設(shè)盱眙龍蝦現(xiàn)代綜合性專(zhuān)業(yè)化養(yǎng)殖體系,有利于推動(dòng)中國(guó)小龍蝦養(yǎng)殖乃至于推動(dòng)世界小龍蝦養(yǎng)殖產(chǎn)業(yè)發(fā)展。1.2龍蝦養(yǎng)殖國(guó)內(nèi)外情況調(diào)查1.2.1龍蝦養(yǎng)殖國(guó)外情況國(guó)外研究淡水螯蝦的歷史很早,可以追溯到一百多年前,國(guó)外養(yǎng)殖小龍蝦的歷史大概有六十到七十年,但從二十世紀(jì)七十年代后發(fā)展非常迅速。北美是淡水螯蝦分布最多的地區(qū),約有四百多個(gè)種類(lèi)。在那里淡水螯蝦已經(jīng)成為重要的水產(chǎn)資源,特別是美國(guó),1978年美國(guó)國(guó)家研究委員會(huì)強(qiáng)調(diào)發(fā)展淡水小龍蝦的養(yǎng)殖,其養(yǎng)殖產(chǎn)量占美國(guó)甲殼類(lèi)水產(chǎn)動(dòng)物養(yǎng)殖產(chǎn)量的90%以上。僅路易斯安那州1985年的

9、龍蝦養(yǎng)殖面積就超過(guò)4.8萬(wàn)公頃,產(chǎn)量達(dá)8000噸,產(chǎn)值七千萬(wàn)美元。美國(guó)淡水螯蝦養(yǎng)殖單產(chǎn)高的達(dá)到每公頃4000多公斤。主要的養(yǎng)殖種類(lèi)是克氏螯蝦,也就是我們常說(shuō)淡水小龍蝦或小龍蝦,此外還有原螯蝦屬、太平螯蝦屬等。小龍蝦養(yǎng)殖方式有粗放養(yǎng)殖、混養(yǎng)和池塘強(qiáng)化養(yǎng)殖,較多的是與水稻的輪作和混作。墨西哥2003年淡水螯蝦的產(chǎn)量為3000多噸,主要品種是克氏螯蝦,此外還有從澳大利亞引進(jìn)的紅螯蝦。    澳大利亞20世紀(jì)60年代后期開(kāi)始淡水小龍蝦養(yǎng)殖和研究工作,主要養(yǎng)殖種類(lèi)是麥龍螯蝦、紅螯蝦和雅比螯蝦。此外還有其他種類(lèi)蝦屬。養(yǎng)殖有三種形式:一是湖泊、水庫(kù)粗放養(yǎng)殖,不用管理和

10、投喂,平均單產(chǎn)為每公頃水面1000公斤;二是池塘精養(yǎng),平均單產(chǎn)每公頃約3千公斤至4千公斤;三是采取封閉系統(tǒng)工廠化強(qiáng)化養(yǎng)殖,單產(chǎn)則更高。歐洲對(duì)淡水螯蝦的開(kāi)發(fā)則更早,20世紀(jì)初的捕撈產(chǎn)量就相當(dāng)高。20世紀(jì)60年代后,瑞典、芬蘭、法國(guó)、奧地利、英國(guó)、波蘭、德國(guó)和一些前蘇聯(lián)國(guó)家從國(guó)外引進(jìn)一些抗病能力強(qiáng)的優(yōu)良種類(lèi),如20世紀(jì)70年代引進(jìn)寬大太平螯蝦、土耳其螯蝦、克氏原螯蝦。80年代初,英國(guó)、西班牙、法國(guó)等歐洲國(guó)家先后從澳大利亞引進(jìn)馬龍螯蝦。90年代又從澳大利亞引進(jìn)紅螯螯蝦,積極發(fā)展小龍蝦養(yǎng)殖,恢復(fù)螯蝦資源。瑞典從1969年連續(xù)18年向湖泊、河流和圍堰中投放大量太平螯蝦的蝦苗和種蝦。由于需求量大,歐洲每年

11、仍要進(jìn)口大量的淡水螯蝦,2002年僅瑞典就進(jìn)口了5000噸以上1。1.2.2龍蝦養(yǎng)殖國(guó)內(nèi)情況中國(guó)淡水螯蝦的養(yǎng)殖種類(lèi)主要是我們現(xiàn)在普遍食用的克氏螯蝦,我們習(xí)慣稱(chēng)之為“小龍蝦”1991年我國(guó)小龍蝦的年產(chǎn)量在4.06萬(wàn)噸以上,接近美國(guó),成為世界淡水螯蝦的生產(chǎn)大國(guó)。2004年中國(guó)淡水螯蝦的總產(chǎn)量在20萬(wàn)噸以上,僅江蘇省的產(chǎn)量就達(dá)到9.06萬(wàn)噸,成為世界上淡水螯蝦產(chǎn)量最大的國(guó)家。江蘇盱眙最早從1991年開(kāi)始出口淡水螯蝦加工產(chǎn)品,至2004年全國(guó)出口淡水螯蝦加工產(chǎn)品達(dá)一萬(wàn)噸以上,我國(guó)不僅成為世界淡水螯蝦的產(chǎn)量大國(guó),也是世界淡水螯蝦的出國(guó)大國(guó)。二十世紀(jì)九十年代末,江蘇盱眙的許建忠先生針對(duì)淡水螯蝦的性味開(kāi)發(fā)出

12、了專(zhuān)門(mén)用來(lái)燒制克氏原螯蝦(淡水小龍蝦)的龍蝦調(diào)料十三香。國(guó)內(nèi)龍蝦養(yǎng)殖研究也取得了比較大的進(jìn)步,通過(guò)研究淡水螯蝦的生殖生理過(guò)程,達(dá)到增產(chǎn)增收的目的。湖北省水產(chǎn)科學(xué)所研究控制光照、控制水溫、控制水位、改善水質(zhì)、加強(qiáng)投喂的綜合措施,人工誘導(dǎo)紅螯蝦和克氏小龍蝦同步產(chǎn)卵,規(guī)?;敝倡@得很好的效果。淡水螯蝦人工批量繁殖工作仍將是今后一段時(shí)間世界淡水螯蝦產(chǎn)業(yè)的工作熱點(diǎn)。一些水產(chǎn)科研人員研究了淡水螯蝦與一些掠食性魚(yú)類(lèi)的生存關(guān)系,淡水螯蝦對(duì)多種沉水植物的利用及相互影響等。1.3項(xiàng)目技術(shù)關(guān)鍵與本模塊工作任務(wù)1.3.1項(xiàng)目技術(shù)關(guān)鍵該項(xiàng)目是集軟件開(kāi)發(fā)、數(shù)據(jù)采集與設(shè)備控制、視頻監(jiān)控、智能傳感應(yīng)用于一體的綜合項(xiàng)目,其中涉

13、及到多學(xué)科知識(shí)領(lǐng)域。同時(shí),項(xiàng)目需要結(jié)合養(yǎng)殖現(xiàn)場(chǎng)的具體情況進(jìn)行調(diào)試與應(yīng)用。在項(xiàng)目開(kāi)發(fā)過(guò)程中重點(diǎn)要解決以下關(guān)鍵技術(shù)問(wèn)題。第一, 傳感器數(shù)據(jù)采集信號(hào)與控制指令的網(wǎng)絡(luò)傳輸問(wèn)題;第二, 上位機(jī)數(shù)據(jù)采集與控制系統(tǒng)開(kāi)發(fā)問(wèn)題;第三, Web遠(yuǎn)程訪問(wèn)技術(shù);第四, 視頻監(jiān)控與系統(tǒng)集成問(wèn)題。1.3.2本模塊工作任務(wù)本模塊主要完成上位機(jī)數(shù)據(jù)采集與控制軟件系統(tǒng)的設(shè)計(jì),面向CAN總線硬件接口編程,主要完成功能如下。第一, 完成數(shù)據(jù)采集與控制平臺(tái)軟件的設(shè)計(jì);第二, 負(fù)責(zé)初始化CAN系統(tǒng)模塊,并根據(jù)軟件設(shè)計(jì)要求實(shí)時(shí)采集CAN前端模塊連接的智能傳感器數(shù)據(jù),主要包括環(huán)境溫度、濕度、大氣壓力、光照強(qiáng)度、風(fēng)向、水中含氧量、PH值等數(shù)

14、據(jù)信息;第三, 根據(jù)采集數(shù)據(jù)狀態(tài),手動(dòng)或自動(dòng)啟動(dòng)設(shè)備控制程序,實(shí)現(xiàn)對(duì)養(yǎng)殖現(xiàn)場(chǎng)電氣設(shè)備的具體操控(給水水泵、排水水泵、增氧機(jī)等);第四, 數(shù)據(jù)保存與歷史記錄查詢(xún)。第二章 系統(tǒng)總體設(shè)計(jì)2.1系統(tǒng)總體功能概述基于CAN總線的龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)主要分為三大功能:現(xiàn)場(chǎng)環(huán)境因子的數(shù)據(jù)采集;養(yǎng)殖現(xiàn)場(chǎng)的電器設(shè)備控制;養(yǎng)殖區(qū)域的視頻監(jiān)控,系統(tǒng)采用CAN總線實(shí)現(xiàn)對(duì)各種采集數(shù)據(jù)和控制數(shù)據(jù)的傳輸。系統(tǒng)中心設(shè)立上位機(jī)與Web服務(wù)器,上位機(jī)中運(yùn)行系統(tǒng)監(jiān)控程序,負(fù)責(zé)數(shù)據(jù)采集與控制指令的發(fā)出。Web服務(wù)器負(fù)責(zé)體統(tǒng)系統(tǒng)的遠(yuǎn)程訪問(wèn)與控制,同時(shí)兼顧視頻監(jiān)控系統(tǒng)的圖像處理。系統(tǒng)功能示意圖如圖2.1所示。圖2.1 系統(tǒng)功能示意圖在項(xiàng)

15、目設(shè)計(jì)和實(shí)施中,將系統(tǒng)分為前端數(shù)據(jù)采集和上位機(jī)數(shù)據(jù)處理、Web服務(wù)器三層框架結(jié)構(gòu)。前端主要對(duì)龍蝦養(yǎng)殖環(huán)境因子進(jìn)行數(shù)據(jù)采集,其中主要包括池塘的水溫、水中溶解氧指標(biāo)、PH值、空氣溫度、大氣壓力、空氣濕度、光照度等環(huán)境數(shù)據(jù)。同時(shí),配合閉路監(jiān)控系統(tǒng)實(shí)時(shí)圖像采集,直觀觀察養(yǎng)殖現(xiàn)場(chǎng)的情況。在上位機(jī)的控制端,根據(jù)采集到的環(huán)境因子結(jié)合專(zhuān)家系統(tǒng)進(jìn)行分析,并通過(guò)系統(tǒng)自動(dòng)控制養(yǎng)殖場(chǎng)的增氧機(jī)、注水水泵和排水水泵進(jìn)行相應(yīng)的調(diào)節(jié)。在上位機(jī)和遠(yuǎn)端傳感器間通過(guò)CAN總線進(jìn)行信號(hào)傳遞。第三層為Web遠(yuǎn)程表示層,可以通過(guò)互聯(lián)網(wǎng)在遠(yuǎn)程實(shí)時(shí)監(jiān)控養(yǎng)殖現(xiàn)場(chǎng)的生產(chǎn)情況,包括視頻情況。表2.1 數(shù)據(jù)采集與控制項(xiàng)目采集數(shù)據(jù)項(xiàng)目水溫大氣壓力PH

16、值光照度溶解氧空氣濕度環(huán)境溫度風(fēng)向控制數(shù)據(jù)項(xiàng)目增氧機(jī)注水水泵排水水泵 圖 2.2 系統(tǒng)總體架構(gòu)圖2.2CAN總線網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)系統(tǒng)采用一整套CAN總線接收控制卡、前端數(shù)據(jù)A/D轉(zhuǎn)換模塊和數(shù)字量輸出模塊,分別實(shí)現(xiàn)對(duì)傳感器的數(shù)據(jù)采集,遠(yuǎn)端繼電器板單元?jiǎng)幼骺刂?,進(jìn)而控制現(xiàn)場(chǎng)電氣設(shè)備。圖 2.3 CAN總線拓?fù)浣Y(jié)構(gòu)PCI控制卡總線寬度32位,同步工作頻率可達(dá)到33MHz,最高傳輸速率為132MBS,設(shè)計(jì)標(biāo)準(zhǔn)中考慮了負(fù)載,即使擴(kuò)展卡超過(guò)了負(fù)載的最大值,系統(tǒng)也能正常工作。并且提供數(shù)據(jù)和地址奇偶校驗(yàn)功能,保證了數(shù)據(jù)的完整性和準(zhǔn)確性。CAN接口通訊協(xié)議采用CAN2.0B(PeliCAN)兼容CAN2.

17、0A,符合ISO/ISO11898規(guī)范。通訊距離最長(zhǎng)為10公里,很好的適應(yīng)了大范圍的池塘養(yǎng)殖的環(huán)境要求。近距離的最高傳輸速率能夠達(dá)到1Mbps。本項(xiàng)目中根據(jù)具體硬件的特點(diǎn),將CAN通訊協(xié)議幀分為兩種2,一種是標(biāo)準(zhǔn)幀,另一種為擴(kuò)展幀。2.3軟件模塊總體設(shè)計(jì)在本項(xiàng)目中上位機(jī)系統(tǒng)由兩部構(gòu)成,分別是數(shù)據(jù)采集控制監(jiān)控系統(tǒng)和互聯(lián)網(wǎng)信息遠(yuǎn)程監(jiān)控系統(tǒng)。上位機(jī)的數(shù)據(jù)采集控制系統(tǒng)采用.Net FrameWork3.0平臺(tái)框架,主要完成對(duì)CAN接口卡的初始化和數(shù)據(jù)采集與現(xiàn)場(chǎng)電機(jī)設(shè)備控制。將實(shí)時(shí)采集的數(shù)據(jù)保存到服務(wù)器的數(shù)據(jù)庫(kù)中。根據(jù)養(yǎng)殖專(zhuān)家領(lǐng)域知識(shí)形成的龍蝦養(yǎng)殖專(zhuān)家?guī)斓慕?jīng)驗(yàn),判斷比較采集數(shù)據(jù),自動(dòng)開(kāi)啟池塘的增氧機(jī)、給

18、水水泵或排水水泵。Web信息平臺(tái)系統(tǒng)采用Struts1.2為系統(tǒng)框架,Tomcat6.0為Web服務(wù)器,結(jié)合FushionChar開(kāi)源圖表技術(shù),實(shí)現(xiàn)了對(duì)養(yǎng)殖場(chǎng)情況的動(dòng)態(tài)遠(yuǎn)程監(jiān)控。系統(tǒng)基于CAN硬件接口的底層動(dòng)態(tài)鏈接庫(kù)can_pci.dll進(jìn)行編程3。2.4視頻監(jiān)控模塊總體設(shè)計(jì)視頻監(jiān)控硬件模塊由HK-DVR 8XXH系列PC式數(shù)字硬盤(pán)錄像機(jī)、高速球攝像機(jī)、鍵盤(pán)、聲光報(bào)警、紅外對(duì)射、煙感、路由器等構(gòu)成。專(zhuān)業(yè)視頻監(jiān)控軟件經(jīng)過(guò)設(shè)置后可在本地或Internet上巡視蝦塘的狀態(tài)。1)采用基于網(wǎng)絡(luò)、面向遠(yuǎn)程設(shè)備的控制技術(shù)數(shù)據(jù)采集技術(shù),將環(huán)境溫度、濕度、大氣壓力、光照、蝦池視頻圖像等實(shí)時(shí)數(shù)據(jù)采集設(shè)備所獲得的數(shù)

19、據(jù)與計(jì)算機(jī)控制等技術(shù)有機(jī)結(jié)合,建立龍蝦養(yǎng)殖基地?cái)?shù)字監(jiān)控系統(tǒng)。2)計(jì)算機(jī)實(shí)現(xiàn)72小時(shí)實(shí)時(shí)數(shù)據(jù)資料備份,當(dāng)龍蝦出現(xiàn)生病或死亡時(shí),可以隨時(shí)回放,便于調(diào)查研究發(fā)生的原因。3)在辦公室實(shí)現(xiàn)對(duì)視頻圖像采集探頭360度環(huán)繞調(diào)節(jié),近、遠(yuǎn)程定點(diǎn)聚焦或圖象放大,有效查看工作人員不易到達(dá)的蝦池區(qū)域。4)計(jì)算機(jī)顯示屏可116畫(huà)面切換蝦池視頻監(jiān)控圖像,實(shí)現(xiàn)遠(yuǎn)程集中監(jiān)控,當(dāng)發(fā)生緊急情況時(shí),便于實(shí)時(shí)進(jìn)行人工干涉。5)龍蝦易患爛鰓病、黑鰓病、爛尾病、聚縮蟲(chóng)病、纖毛蟲(chóng)病等常見(jiàn)病,在大規(guī)模人工養(yǎng)殖環(huán)境下,由于養(yǎng)殖區(qū)域大,養(yǎng)殖環(huán)境復(fù)雜,以及人工探察時(shí),龍蝦易受驚嚇潛入水中,難以較早發(fā)現(xiàn)蝦病,一旦發(fā)現(xiàn),蝦病情況通常已比較嚴(yán)重,本項(xiàng)目

20、的項(xiàng)目特色和創(chuàng)新在于,開(kāi)發(fā)應(yīng)用一種視頻監(jiān)控技術(shù),探索早期偵查蝦病的有效手段。6)龍蝦有群毆、相互蠶食的習(xí)性,在成蝦性成熟早期以及繁殖、打洞做窩、爭(zhēng)搶食物時(shí)尤其嚴(yán)重,往往造成大規(guī)模死亡,利用視頻監(jiān)控信息,對(duì)龍蝦群毆及時(shí)實(shí)施人工干預(yù)的經(jīng)驗(yàn)。7)優(yōu)質(zhì)的養(yǎng)蝦環(huán)境是天然的沼澤池塘,這種環(huán)境水源豐足,水草植被茂盛,通常也道路泥濘,人工監(jiān)控困難,工作量巨大,為養(yǎng)殖人員提供數(shù)字監(jiān)控手段,在辦公室就可以全面掌控龍蝦養(yǎng)殖情況。8)種蝦及蝦苗養(yǎng)殖經(jīng)濟(jì)效益高,技術(shù)要求高,養(yǎng)殖難度大,數(shù)字監(jiān)控技術(shù)的應(yīng)用,防止偷盜事件,可以為高附加值養(yǎng)殖業(yè)保駕護(hù)航。9)通過(guò)網(wǎng)絡(luò),用電腦或手機(jī)上網(wǎng),實(shí)現(xiàn)異地遠(yuǎn)程監(jiān)控。第三章 數(shù)據(jù)采集控制模

21、塊的概要設(shè)計(jì)3.1 數(shù)據(jù)采集控制模塊的需求分析明確數(shù)據(jù)采集與控制模塊的各方面需求,準(zhǔn)備設(shè)計(jì)各個(gè)組件邏輯,最終實(shí)現(xiàn)對(duì)環(huán)境數(shù)據(jù)的數(shù)據(jù)采集、信息存儲(chǔ)、數(shù)據(jù)分析與設(shè)備控制。3.1.1 運(yùn)行環(huán)境需求分析上位機(jī)將部署在龍蝦養(yǎng)殖現(xiàn)場(chǎng)附近的主控機(jī)房中,距離數(shù)據(jù)采集前端模塊約有1公里左右,使用CAN總線實(shí)現(xiàn)與遠(yuǎn)程數(shù)據(jù)采集與控制模塊的通信4。軟件將面臨的運(yùn)行環(huán)境如下。硬件環(huán)境:PC機(jī)或工控機(jī),2G內(nèi)存,500G以上硬盤(pán);CAN總線數(shù)據(jù)采集卡PCI8110采集板;軟件環(huán)境:Windows XP操作系統(tǒng);SQL Server2005數(shù)據(jù)庫(kù);Net FrameWork3.0框架平臺(tái);can_pci.dll接口API;C

22、AN接口幫助文檔等。3.1.2 系統(tǒng)功能及角色需求分析上位機(jī)數(shù)據(jù)采集與控制系統(tǒng)設(shè)計(jì)主要完成以下六大功能:1、 CAN設(shè)備的初始化主要完成對(duì)CAN數(shù)據(jù)采集板驅(qū)動(dòng)的加載,對(duì)遠(yuǎn)程數(shù)據(jù)采集模塊5、設(shè)備控制模塊狀態(tài)的讀取,以判斷遠(yuǎn)程模塊是否工作正常。2、 用戶與權(quán)限管理管理創(chuàng)建新用戶,創(chuàng)建角色,分配用戶的權(quán)限。同時(shí)完成用戶登錄與用戶系統(tǒng)退出等工作。3、 數(shù)據(jù)采集與實(shí)施顯示本單元的功能主要負(fù)責(zé)完成讀取前端的數(shù)據(jù)采集模塊所采集的各種數(shù)據(jù)(溫度、濕度、水溫、溶解氧、PH值、風(fēng)向、大氣壓力、光照等)。并把數(shù)據(jù)實(shí)時(shí)的顯示在軟件系統(tǒng)的用戶界面上。4、 現(xiàn)場(chǎng)設(shè)備控制根據(jù)現(xiàn)場(chǎng)采集數(shù)據(jù)情況,可以通過(guò)軟件自動(dòng)或操作員手動(dòng)的

23、開(kāi)啟或關(guān)閉相關(guān)設(shè)備(增氧機(jī)、注水水泵和排水水泵),從而調(diào)節(jié)龍蝦養(yǎng)殖環(huán)境的狀態(tài)。5、 數(shù)據(jù)備份與還原對(duì)運(yùn)行中的數(shù)據(jù)庫(kù)進(jìn)行必要的數(shù)據(jù)備份,可使用指定的數(shù)據(jù)庫(kù)備份文件還原數(shù)據(jù)。6、 歷史記錄查看可根據(jù)操作者的選擇,指定時(shí)間和養(yǎng)殖池塘進(jìn)行歷史數(shù)據(jù)查看。數(shù)據(jù)采集與控制模塊功能CAN端口初始化用戶與權(quán)限管理數(shù)據(jù)采集與顯示現(xiàn)場(chǎng)設(shè)備控制數(shù)據(jù)備份歷史記錄查詢(xún)初始化接口板巡檢采集模塊巡檢控制模塊用戶登錄用戶管理權(quán)限設(shè)定數(shù)據(jù)讀取數(shù)據(jù)實(shí)施顯示采集周期設(shè)定權(quán)限分配注水水泵控制排水水泵控制增氧機(jī)控制數(shù)據(jù)庫(kù)備份數(shù)據(jù)庫(kù)還原池塘信息維護(hù)歷史記錄查看數(shù)據(jù)導(dǎo)出圖 3.1 系統(tǒng)總體功能框圖本系統(tǒng)的角色分為兩種,一種是系統(tǒng)管理員。系統(tǒng)

24、管理員負(fù)責(zé)維護(hù)系統(tǒng)的正常運(yùn)行,一般項(xiàng)目運(yùn)行之初有技術(shù)人員負(fù)責(zé)完成,交付用戶使用后,系統(tǒng)在正常運(yùn)行過(guò)程中不需要使用系統(tǒng)管理員角色登錄。另一種角色為普通用戶,普通用戶能夠使用除了用戶管理、角色創(chuàng)建以為的所有功能。圖 3.2 系統(tǒng)管理員角色及對(duì)應(yīng)操作3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是系統(tǒng)運(yùn)行的基礎(chǔ),將實(shí)時(shí)采集的數(shù)據(jù)保存到系統(tǒng)數(shù)據(jù)庫(kù)中,有利于對(duì)歷史數(shù)據(jù)的分析與查詢(xún)。本系統(tǒng)采用了SQL Server2005為數(shù)據(jù)平臺(tái)。3.2.1 數(shù)據(jù)庫(kù)相關(guān)技術(shù)SQL全稱(chēng)是結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language),最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)的一種查詢(xún)語(yǔ)言,它的前身是SQ

25、UARE語(yǔ)言。SQL語(yǔ)言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來(lái),SQL語(yǔ)言得到了廣泛的應(yīng)用。如今無(wú)論是像Oracle 、Sybase、Informix、SQL server這些大型的數(shù)據(jù)庫(kù)管理系統(tǒng),還是像Visual FoxPro、PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),都支持SQL語(yǔ)言作為查詢(xún)語(yǔ)言。SQL是高級(jí)的非過(guò)程化編程語(yǔ)言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。他不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng)可以使用相同的SQL語(yǔ)言作為數(shù)據(jù)輸入與管理的接口。它以記錄集合作為操縱對(duì)象,所有S

26、QL語(yǔ)句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語(yǔ)句的輸出作為另一條SQL語(yǔ)句的輸入,所以SQL語(yǔ)言可以嵌套,這使他具有極大的靈活性和強(qiáng)大的功能,在多數(shù)情況下,在其他語(yǔ)言中需要一大段程序?qū)崿F(xiàn)的一個(gè)單獨(dú)事件只需要一個(gè)SQL語(yǔ)句就可以達(dá)到目的,這也意味著用SQL語(yǔ)言可以寫(xiě)出非常復(fù)雜的語(yǔ)句。SQL同時(shí)也是數(shù)據(jù)庫(kù)文件格式的擴(kuò)展名。SQL語(yǔ)言包含4個(gè)部分,數(shù)據(jù)查詢(xún)語(yǔ)言(SELECT語(yǔ)句)、數(shù)據(jù)操縱語(yǔ)言(INSERT, UPDATE, DELETE語(yǔ)句)、數(shù)據(jù)定義語(yǔ)言(如CREATE, DROP等語(yǔ)句)、數(shù)據(jù)控制語(yǔ)言(如COMMIT, ROLLBACK等語(yǔ)句)。數(shù)據(jù)庫(kù)顧名思義是存儲(chǔ)數(shù)

27、據(jù)的倉(cāng)庫(kù)。只不過(guò)這個(gè)倉(cāng)庫(kù)是在計(jì)算機(jī)存儲(chǔ)設(shè)備上的,而且數(shù)據(jù)是按一定格式存放的。當(dāng)人們收集了大量的數(shù)據(jù)后,應(yīng)該把它們保存起來(lái)進(jìn)入近一步的處理,進(jìn)一步的抽取有用的信息。當(dāng)年人們把數(shù)據(jù)存放在文件柜中,可現(xiàn)在隨著社會(huì)的發(fā)展,數(shù)據(jù)量急劇增長(zhǎng),現(xiàn)在人們就借助計(jì)算機(jī)和數(shù)據(jù)庫(kù)技術(shù)科學(xué)的保存大量的數(shù)據(jù),以便能更好的利用這些數(shù)據(jù)資源。要是下定義的話,就應(yīng)該是指長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)包含關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù)庫(kù)及新興的XML數(shù)據(jù)庫(kù)等多種,目前應(yīng)用最廣泛的是關(guān)系數(shù)據(jù)庫(kù),若在關(guān)系數(shù)據(jù)庫(kù)基礎(chǔ)上提供部分面向?qū)ο髷?shù)據(jù)庫(kù)功能的對(duì)象關(guān)系數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)技術(shù)的早期還曾經(jīng)流行過(guò)層次數(shù)據(jù)庫(kù)與網(wǎng)狀數(shù)據(jù)庫(kù)

28、,但這兩類(lèi)數(shù)據(jù)庫(kù)目前已經(jīng)極少使用。數(shù)據(jù)庫(kù)管理(Database Administration)是有關(guān)建立、存儲(chǔ)、修改和存取數(shù)據(jù)庫(kù)中信息的技術(shù),是指為保證數(shù)據(jù)庫(kù)系統(tǒng)的正常運(yùn)行和服務(wù)質(zhì)量,有關(guān)人員須進(jìn)行的技術(shù)管理工作。負(fù)責(zé)這些技術(shù)管理工作的個(gè)人或集體稱(chēng)為數(shù)據(jù)庫(kù)管理員(DBA)。數(shù)據(jù)庫(kù)管理的主要內(nèi)容有:數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)庫(kù)的調(diào)整、數(shù)據(jù)庫(kù)的重組、數(shù)據(jù)庫(kù)的重構(gòu)、數(shù)據(jù)庫(kù)的安全控制、數(shù)據(jù)的完整性控制和對(duì)用戶提供技術(shù)支持。數(shù)據(jù)庫(kù)的設(shè)計(jì)只是提供了數(shù)據(jù)的類(lèi)型、邏輯結(jié)構(gòu)、聯(lián)系、約束和存儲(chǔ)結(jié)構(gòu)等有關(guān)數(shù)據(jù)的描述,這些描述稱(chēng)為數(shù)據(jù)模式。要建立可運(yùn)行的數(shù)據(jù)庫(kù),還需進(jìn)行下列工作: (1)選定數(shù)據(jù)庫(kù)的各種參數(shù),例如最大的數(shù)據(jù)存

29、儲(chǔ)空間、緩沖決的數(shù)量、并發(fā)度等。這些參數(shù)可以由用戶設(shè)置,也可以由系統(tǒng)按默認(rèn)值設(shè)置。(2)定義數(shù)據(jù)庫(kù),利用數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)所提供的數(shù)據(jù)定義語(yǔ)言和命令,定義數(shù)據(jù)庫(kù)名、數(shù)據(jù)模式、索引等。(3)準(zhǔn)備和裝入數(shù)據(jù),定義數(shù)據(jù)庫(kù)僅僅建立了數(shù)據(jù)庫(kù)的框架,要建成數(shù)據(jù)庫(kù)還必須裝入大量的數(shù)據(jù),這是一項(xiàng)浩繁的工作。在數(shù)據(jù)的準(zhǔn)備和錄入過(guò)程中,必須在技術(shù)和制度上采取措施,保證裝入數(shù)據(jù)的正確性。計(jì)算機(jī)系統(tǒng)中原已積累的數(shù)據(jù),要充分利用,盡可能轉(zhuǎn)換成數(shù)據(jù)庫(kù)的數(shù)據(jù)。3.2.2 數(shù)據(jù)表的設(shè)計(jì)1、用戶信息表表3-1 UserInfo表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.VARCHAR20N3.Passw

30、ordVARCHAR50N2、采集時(shí)間間隔表表3-2 TimeSpace表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.intYN2.floatN3.SetTimeDatetimeN3、池塘信息表表3-3 PoolInfo表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.intYN2.VARCHAR20N3.PoolNameVARCHAR20N4.MemoVARCHAR2555.AvailableBitN4、池塘數(shù)據(jù)采集信息表表3-4 PoolData表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.floatN3.PHfloatN4.OxygenfloatN5.TestDateDatet

31、imeN6.PoolIDIntYN5、節(jié)點(diǎn)信息表表3-5 NodeList表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.VARCHAR50N3.NodeTypeVARCHAR20N4.ModelIDIntYN6、采集控制模塊信息表表3-6 ModelList表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.VARCHAR20N3.ModelTypeVARCHAR20N4.PoolIDIntYN7、歷史信息表表3-7 Memory表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.intYN2.VARCHAR255N3.TestDateDatetimeN8、設(shè)備狀態(tài)信息檢查表表

32、3-8 DeviceCheck表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.IntYN3.TestDateDatetimeN9、公共數(shù)據(jù)采集信息表表3-9 CommonData表序號(hào)字段名字段描述類(lèi)型長(zhǎng)度主鍵外鍵空備注1.IntYN2.floatN3.HumidityfloatN4.AtmosphericfloatN5.LumfloatN6.WindDirectVARCHAR20N7.TestDateDatetimeN3.3 主要研究方法在開(kāi)發(fā)過(guò)程中嚴(yán)格遵循軟件工程設(shè)計(jì)模式,具體設(shè)計(jì)過(guò)程如下:需求分析系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)詳細(xì)設(shè)計(jì)數(shù)據(jù)庫(kù)模型創(chuàng)建項(xiàng)目平臺(tái)DEMO開(kāi)發(fā)項(xiàng)目編碼實(shí)現(xiàn)系統(tǒng)測(cè)

33、試與應(yīng)用基于C/S框架的數(shù)據(jù)采集模塊調(diào)查數(shù)據(jù)采集功能的需求設(shè)計(jì)整體系統(tǒng)架構(gòu),實(shí)現(xiàn)項(xiàng)目任務(wù)分解詳細(xì)設(shè)計(jì)系統(tǒng)接口,開(kāi)發(fā)規(guī)范根據(jù)需求與系統(tǒng)設(shè)計(jì),建立數(shù)據(jù)模型項(xiàng)目原型開(kāi)發(fā),進(jìn)一步調(diào)整需求設(shè)計(jì)可視化操作界面,整合各個(gè)模塊功能測(cè)試,發(fā)布項(xiàng)目圖3.3系統(tǒng)開(kāi)發(fā)過(guò)程控制方法第四章 數(shù)據(jù)采集與控制模塊的詳細(xì)設(shè)計(jì)4.1 詳細(xì)設(shè)計(jì)規(guī)范在系統(tǒng)詳細(xì)設(shè)計(jì)之初,按照IT行業(yè)編碼規(guī)范要求,統(tǒng)一制定項(xiàng)目詳細(xì)設(shè)計(jì)規(guī)范,在開(kāi)發(fā)過(guò)程中嚴(yán)格按照此規(guī)范要求進(jìn)行開(kāi)發(fā)。4.1.1程序編碼規(guī)范² 變量/方法名必須采用有意義的英文單詞或英文單詞組合作為變量名稱(chēng),首字母小寫(xiě),第二個(gè)單詞首字母大寫(xiě)。例如healthInfo是一個(gè)符合規(guī)范的名

34、稱(chēng),a, arr等則不符合規(guī)范。² 靜態(tài)全局變量靜態(tài)全局變量采用全部大寫(xiě)字母進(jìn)行名。² 常量采用首字母大寫(xiě)的英文單詞或英文單詞組合表示常量。例如PI,Connection等。² 類(lèi)/接口采用首字母大寫(xiě)的英文單詞或英文單詞組合表示類(lèi)。例如DBOperator等² if語(yǔ)句等的寫(xiě)法:if () /. 縮進(jìn)4個(gè)空格(用Tab鍵縮進(jìn))² “=”號(hào)左右各留一個(gè)空格如string personalName = “張三”;² 邏輯表達(dá)式在邏輯運(yùn)算符兩側(cè)各留一個(gè)空格如if (password = “12345” && name = “

35、admin”) ² 文件注釋每個(gè)文件頭應(yīng)有注釋?zhuān)ㄒ韵聝?nèi)容: /* * 項(xiàng)目名稱(chēng):盱眙5000畝龍蝦養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng) $project_name * 開(kāi)發(fā)單位:淮安信息職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)系 * 開(kāi)發(fā)人員:王志勃(用開(kāi)發(fā)者的姓名代替) * 編碼日期:$date $time * 文件名稱(chēng):$file_name * */² 方法注釋/* *本方法實(shí)現(xiàn)對(duì)baseinfo表提取個(gè)人系統(tǒng)編號(hào) */public String getSysId()/方法體² 語(yǔ)句注釋DBCon con = new BDCon(); /創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象4.1.2 數(shù)據(jù)庫(kù)命名規(guī)范本系統(tǒng)采用SQ

36、L Server2005為數(shù)據(jù)庫(kù)平臺(tái),現(xiàn)對(duì)數(shù)據(jù)庫(kù)對(duì)象進(jìn)行命名規(guī)則說(shuō)明:² 表表名要用有實(shí)際意義的英文單詞命名,若單詞名字太長(zhǎng),可以做適當(dāng)縮寫(xiě)。² 主鍵主鍵命名由表名_主鍵字段名_PK進(jìn)行命名。如:PERSONBASEINFO_PERSONSYSID_PK。² 外鍵外鍵命名由本表名_主表名_FK進(jìn)行命名。如:PERSONBASEINFO_FAMILYID_FK。² 數(shù)據(jù)字典系統(tǒng)中所有的數(shù)據(jù)字典表命名為:DICT_表名。如:DICT_Dep,為部門(mén)字典表。² 存儲(chǔ)過(guò)程系統(tǒng)中的存儲(chǔ)過(guò)程命名:PROC_過(guò)程名。如:PROC_JOIN,分頁(yè)存儲(chǔ)過(guò)程。&#

37、178; 序列系統(tǒng)中序列的命名:SEQU_序列名。² 觸發(fā)器系統(tǒng)中觸發(fā)器的命名:TRIG_觸發(fā)器名。4.1.3 術(shù)語(yǔ)規(guī)范表 4-1 術(shù)語(yǔ)定義或解釋表序號(hào)術(shù)語(yǔ)名稱(chēng)術(shù)語(yǔ)定義1總體結(jié)構(gòu)軟件系統(tǒng)的總體邏輯結(jié)構(gòu)。為樹(shù)形的功能模塊結(jié)構(gòu)圖。2外部接口本軟件系統(tǒng)與其他軟件系統(tǒng)之間的接口,接口設(shè)施可以是中間件。接口描述包括:傳輸方式、帶寬、數(shù)據(jù)結(jié)構(gòu)、傳輸頻率、傳輸量、傳輸協(xié)議3數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括:數(shù)據(jù)庫(kù)表的結(jié)構(gòu)、其他數(shù)據(jù)結(jié)構(gòu)等4概念數(shù)據(jù)模型CDM關(guān)系數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)模型,叫做概念數(shù)據(jù)模型;主要內(nèi)容包括張邏輯E-R圖及其相應(yīng)的數(shù)據(jù)字典5物理數(shù)據(jù)模型PDM關(guān)系數(shù)據(jù)庫(kù)的物理設(shè)計(jì)模型,叫做物理數(shù)據(jù)模型。主要

38、內(nèi)容包括一張物理表關(guān)系圖及其相應(yīng)的數(shù)據(jù)字典6視圖在基表或其他視圖之上建立的一張?zhí)摫?,叫做視圖,它具有物理表的許多性質(zhì),在數(shù)據(jù)處理和授權(quán)上很有用7角色數(shù)據(jù)庫(kù)中享有某些特權(quán)操作的用戶,叫做角色。角色的權(quán)利通過(guò)授權(quán)來(lái)實(shí)現(xiàn)8子系統(tǒng)具有相對(duì)獨(dú)立功能的小系統(tǒng)叫做子系統(tǒng);一個(gè)大的軟件系統(tǒng)可以劃分為多個(gè)子系統(tǒng),每個(gè)子系統(tǒng)可由多個(gè)模塊或多個(gè)部件組成9模塊具有功能獨(dú)立、能被調(diào)用的信息單元叫做模塊。10內(nèi)部接口軟件系統(tǒng)內(nèi)部各子系統(tǒng)之間、各部件之間、各模板之間的接口,叫做內(nèi)部接口。接口描述包括:調(diào)用方式、入口信息、出口信息等11相關(guān)文件指當(dāng)本文件內(nèi)容變更后,可能引起變更的其他文件。如需求分析報(bào)告、計(jì)細(xì)設(shè)計(jì)說(shuō)明書(shū)、測(cè)試

39、計(jì)劃、用戶手冊(cè)12參考資料指本文件書(shū)寫(xiě)時(shí)用到的其他資料。如各種有關(guān)規(guī)范、模板、標(biāo)準(zhǔn)、準(zhǔn)則4.2 CAN設(shè)備初始化4.2.1 CAN數(shù)據(jù)采集卡初始化1.CAN總線數(shù)據(jù)采集卡說(shuō)明KPCI-8110適用于PC/286/386/486/586/及各種工控機(jī),兼容機(jī)(PCI總線)的長(zhǎng)距離,高傳輸速 率,多站點(diǎn)的CAN總線通訊板,采用光電隔離技術(shù),使用兩根線每路可連接110個(gè)工作站。 2. 主要技術(shù)參數(shù) PCI局部總線性能:總線寬度32位,同步工作頻率可達(dá)到33MHz,最高傳輸速率為132MBS 。使用方便,能夠?qū)崿F(xiàn)自動(dòng)配置,實(shí)現(xiàn)設(shè)備的即插即用??煽啃愿?,標(biāo)準(zhǔn)中考慮了負(fù)載,即使擴(kuò)展卡超過(guò)了負(fù)載的最大值系統(tǒng)

40、也能正常工作。提供數(shù)據(jù)和地址奇偶校驗(yàn)功能,保證了數(shù)據(jù)的完整性和準(zhǔn)確性 2.2 CAN接口 主要技術(shù)指:通訊協(xié)議采用2.0B(PeliCAN)兼容CAN2.0A,符合ISO/ISO11898規(guī)范。通訊距離最長(zhǎng)10Km。傳輸速率最高1Mbps。電源電壓為5V±10% ,隔離電壓1000V。 CAN接口為孔型DB9,符合CiA標(biāo)準(zhǔn) 2.3 電源功耗:(不使用外部電源) 5V(±10)400mA 2.4。工作溫度070,相對(duì)濕度095(不凝露), 存貯溫度5585。3. CAN數(shù)據(jù)采集卡的外觀與使用 圖4.1CAN數(shù)據(jù)采集卡的外觀系統(tǒng)基于CAN硬件接口的底層動(dòng)態(tài)鏈接庫(kù)can_pci

41、.dll進(jìn)行編程。下面是初始化CAN PCI控制卡的部分核心代碼6。DllImport("can_pci.dll", EntryPoint = "CAN_Open")static extern Boolean CAN_Open(int mindex);DllImport("can_pci.dll", EntryPoint = "CAN_Reset")static extern Boolean CAN_Reset(int mindex);DllImport("can_pci.dll", Entry

42、Point = "CAN_Init")static extern Boolean CAN_Init(int mindex, Byte config);DllImport("can_pci.dll", EntryPoint = "CAN_Trans")static extern Boolean CAN_Trans(int mindex, byte config, int wtimeout);DllImport("can_pci.dll", EntryPoint = "CAN_Recv")stati

43、c extern Boolean CAN_Recv(int mindex, byte config, int rtimeout);public void openChannel(Byte station_, Byte channel)/打開(kāi)can通道 long data, data1; Byte canbuff = new Byte11; Byte func; Byte canbuff1 = new Byte5; Byte setout1, setout2; Byte station = station_; func = 8; /置輸出數(shù)據(jù)指令為&h8 setout1 = channe

44、l; /設(shè)定輸出通道1置位 setout2 = 0x0; /設(shè)定輸出通道9置位 data = cframe(station, func); data = data & 0xFFFF; data1 = (data & 0xFF00) / 256; canbuff10 = 2; /第一字節(jié)填入本幀數(shù)據(jù)場(chǎng)長(zhǎng)度 canbuff11 = (byte)data1; canbuff12 = (byte)(data & 0xFF); canbuff13 = setout1; /要輸出的1-8通道數(shù)據(jù)內(nèi)容 canbuff14 = setout2; /要輸出的916通道數(shù)據(jù)內(nèi)容 publi

45、c long cframe(Byte station1, Byte func1) /處理轉(zhuǎn)發(fā)幀的信息頭 long a1, b1; a1 = (station1 * 32) & 0xFF0; b1 = func1; b1 = (b1 * 4096) & 0xF000; return a1 | b1; 4.2.2 CAN遠(yuǎn)程模塊初始化在本系統(tǒng)中共使用了兩種類(lèi)型的CAN遠(yuǎn)程模塊:分別是K8512模擬量數(shù)據(jù)采集和K8520開(kāi)關(guān)量輸出模塊。圖4.2 CAN遠(yuǎn)程數(shù)據(jù)采集與控制模塊在系統(tǒng)啟動(dòng)時(shí),首先要初始化CAN總線采集卡,之后通過(guò)CAN總線采集卡初始化遠(yuǎn)程CAN模塊,檢查其狀態(tài)信息。下面的

46、代碼是對(duì)遠(yuǎn)程CAN模塊的初始化與設(shè)備檢查。/-以下是模擬量采集的功能方法-使用多通道-public double read_chan(Byte station_no) Byte tarr1 = new Byte6; Byte tarr2 = new Byte5; int cth, ctl; long fv, dv, df; fv = 10000; /量程為-10v的fv和df設(shè)定 df = 0; dv = 65535; /16位測(cè)量精度,位測(cè)量精度dv值為: Byte canbuff = new byte11; long data, data1; Byte func; Byte canbuff

47、1 = new byte4; /設(shè)定模塊站址為 Byte station = station_no; /進(jìn)行多通道的數(shù)據(jù)采集 func = 0x6; /讀模塊單通道數(shù)據(jù)指令為&h5,多通道為x6 data = cframe(station, func); data = data & 0xFFFF; data1 = (data & 0xFF00) / 256; canbuff10 = 0; canbuff11 = (byte)data1; canbuff12 = (byte)(data & 0xFF); if (CAN_Trans(0, canbuff1, 10)

48、 = false) /下發(fā)指令幀 Console.WriteLine("" + canbuff3); else /下發(fā)完指令后,接收第一幀數(shù)據(jù)。從-11字節(jié) if (CAN_Recv(0, canbuff, 100) /接收模塊返回幀 /判斷是否是第一幀 if (canbuff1 & 0xF0) = 0x60 && (canbuff0 & 0xF) = 0x9) for (int t = 0; t < 4; t+) ctl = canbuff3 + t * 2; cth = canbuff4 + t * 2; read_resultt = ctl + cth * 256;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論