基于ASP.NET技術(shù)的遠(yuǎn)程機(jī)艙自動(dòng)化系統(tǒng)的研究
3.2 三層結(jié)構(gòu)模型
本系統(tǒng)將整個(gè)系統(tǒng)按邏輯層次分為:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。在本系統(tǒng)中表現(xiàn)為數(shù)據(jù)庫(kù)服務(wù)器,Web服務(wù)器和客戶端瀏覽器,如圖2所示。表示層為用戶提供可視化的顯示和操作的界面,在圖中主要對(duì)應(yīng)客戶端瀏覽器,包括aspx頁(yè)面、用戶界面、數(shù)據(jù)顯示以及某些與安全相關(guān)的類(lèi)和對(duì)象。
業(yè)務(wù)邏輯層即Web服務(wù)器,用于訪問(wèn)數(shù)據(jù)層,并將結(jié)果返回給表現(xiàn)層,主要用動(dòng)態(tài)網(wǎng)頁(yè)對(duì)數(shù)據(jù)和一些相關(guān)事務(wù)進(jìn)行處理。
數(shù)據(jù)服務(wù)層由數(shù)據(jù)庫(kù)和數(shù)據(jù)訪問(wèn)組件組成。在圖2中對(duì)應(yīng)的是數(shù)據(jù)庫(kù)服務(wù)器,包括實(shí)時(shí)數(shù)據(jù)庫(kù)和歷史數(shù)據(jù)庫(kù)。
3.3 系統(tǒng)的主要功能
系統(tǒng)的主要功能如下:
管理功能 管理授權(quán)用戶的登錄。用戶經(jīng)過(guò)注冊(cè)信息登錄后,可修改個(gè)人信息、密碼等;管理員可以擁有一般用戶所沒(méi)有的權(quán)限,除了對(duì)用戶進(jìn)行管理外,還可以進(jìn)行報(bào)警參數(shù)的設(shè)定操作等,保證了系統(tǒng)的保密性和安全性。
數(shù)據(jù)查詢功能 主要根據(jù)查詢項(xiàng)目和查詢時(shí)間,動(dòng)態(tài)提供各重要參數(shù)的實(shí)時(shí)查詢和歷史值查詢。可以選擇需要查詢的日期,再選擇你要查看的參數(shù)選項(xiàng),就可以獲知當(dāng)天的運(yùn)行情況。比如選擇2008.3.5,#1主機(jī)轉(zhuǎn)速,#2主機(jī)轉(zhuǎn)速,#1主機(jī)滑油壓力,#2主機(jī)滑油壓力,查詢情況入即在頁(yè)面中顯示;另外還可以選擇當(dāng)日的時(shí)間進(jìn)行查詢,如圖3所示。
監(jiān)控功能不停地從實(shí)時(shí)數(shù)據(jù)庫(kù)中取得實(shí)時(shí)數(shù)據(jù),動(dòng)態(tài)顯示各設(shè)備的運(yùn)行參數(shù),通過(guò)監(jiān)控界面,實(shí)時(shí)了解各設(shè)備的運(yùn)行狀況。如圖4所示動(dòng)態(tài)顯示#2主機(jī)各項(xiàng)參數(shù)的監(jiān)控界面,數(shù)據(jù)將顯示在框內(nèi)。如有數(shù)據(jù)越界,數(shù)據(jù)顯示紅色,綠燈變紅,同時(shí)報(bào)警信息顯示在下面的文本框內(nèi)。
趨勢(shì)圖功能 根據(jù)所選日期和時(shí)間段,動(dòng)態(tài)顯示任意時(shí)間內(nèi)的趨勢(shì)曲線,從而給人直觀的印象,使得操作人員對(duì)于機(jī)艙參數(shù)的變化情況可以一目了然。
3.4 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)及工作流程
實(shí)時(shí)數(shù)據(jù)庫(kù)表 存儲(chǔ)當(dāng)日數(shù)據(jù)采集模塊采集來(lái)的船舶機(jī)艙的各項(xiàng)參數(shù)信息,當(dāng)系統(tǒng)啟動(dòng)時(shí),每隔一定時(shí)間將采集到的數(shù)據(jù)寫(xiě)入表中。該參數(shù)表可以通過(guò)系統(tǒng)查詢進(jìn)行修改等維護(hù)操作。
報(bào)警數(shù)據(jù)表 存放機(jī)艙各項(xiàng)參數(shù)報(bào)警信息,該信息可供維修人員查看報(bào)警信息、查找出錯(cuò)部位,當(dāng)報(bào)警發(fā)生時(shí),報(bào)警信息由軟件自動(dòng)寫(xiě)入,通過(guò)故障系統(tǒng)查詢界面進(jìn)行修改等操作。
歷史數(shù)據(jù)庫(kù)表 存放正常航行時(shí)機(jī)艙各項(xiàng)數(shù)據(jù),通過(guò)該表可對(duì)機(jī)艙各項(xiàng)參數(shù)的歷史狀態(tài)進(jìn)行各種分析,及時(shí)發(fā)現(xiàn)可能的故障點(diǎn)。
主機(jī)信息表 記錄航行過(guò)程中主機(jī)狀態(tài)、主機(jī)轉(zhuǎn)速等參數(shù),通過(guò)對(duì)主機(jī)歷史信息數(shù)據(jù)的分析,可監(jiān)視主機(jī)運(yùn)行狀態(tài)和主機(jī)其他信息,該表由數(shù)據(jù)軟件定期存放,并可通過(guò)指定界面對(duì)其維護(hù)。
報(bào)警系統(tǒng)表 對(duì)每個(gè)報(bào)警進(jìn)行統(tǒng)計(jì),并同時(shí)截取與此故障相關(guān)的參數(shù)。
另外還有用戶注冊(cè)以及登錄信息表等。
系統(tǒng)的工作流程分為兩部分,客戶端和服務(wù)器端。
客戶端:操作人員登錄局域網(wǎng),通過(guò)驗(yàn)證后連接到服務(wù)器進(jìn)入該系統(tǒng)讀取或查詢需要的服務(wù),對(duì)機(jī)艙的各項(xiàng)參數(shù)的運(yùn)行情況進(jìn)行查看,一旦發(fā)現(xiàn)報(bào)警情況及時(shí)處理。
服務(wù)器端:服務(wù)器收到操作人員發(fā)出的請(qǐng)求信息后,進(jìn)行判斷回發(fā)給客戶端,對(duì)由GPRS網(wǎng)絡(luò)傳輸過(guò)來(lái)的數(shù)據(jù)進(jìn)行解密處理后存儲(chǔ)到數(shù)據(jù)庫(kù),在.NET平臺(tái)上編寫(xiě)相應(yīng)的程序?qū)崿F(xiàn)對(duì)船舶的運(yùn)行情況進(jìn)行監(jiān)控,必要時(shí)通過(guò)對(duì)船舶發(fā)出調(diào)整船舶運(yùn)行參數(shù)的指示。
3.5 基于TCP/IP的Socket數(shù)據(jù)通信
本系統(tǒng)用GPRS進(jìn)行數(shù)據(jù)傳輸時(shí),采用的是基于TCP/IP的Socket協(xié)議。Socket數(shù)據(jù)通信是建立在TCP/IP協(xié)議基礎(chǔ)之上,專(zhuān)門(mén)為滿足測(cè)試與自動(dòng)化的需求而設(shè)計(jì)。相比以前傳輸系統(tǒng)中使用的UDP、TCP協(xié)議,其可靠性明顯加強(qiáng)。用戶數(shù)據(jù)報(bào)協(xié)議UDP提供的是無(wú)連接的不可靠的數(shù)據(jù)傳送方式,是一種盡力而為的數(shù)據(jù)交付服務(wù)。TCP雖然提供可靠的傳輸方式,但是協(xié)議頭以及傳輸控制比較復(fù)雜,傳輸效率低。基于TCP的Socket協(xié)議則可以避免以上不足,可靠性大大增強(qiáng),丟包率減小。
評(píng)論