国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于B/S架構(gòu)的發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架監(jiān)控系統(tǒng)設(shè)計(jì)

2023-11-21 02:33劉浩旭
智能城市 2023年10期
關(guān)鍵詞:臺(tái)架試驗(yàn)臺(tái)網(wǎng)頁

姜 柯 劉浩旭 李 維

(大連理工大學(xué)能源與動(dòng)力學(xué)院,遼寧 大連 116024)

近年來,隨著汽車發(fā)動(dòng)機(jī)技術(shù)的進(jìn)步,且相關(guān)部門對(duì)尾氣排放限值越來越嚴(yán)格,推動(dòng)著汽車發(fā)動(dòng)機(jī)的開發(fā)進(jìn)程。在開發(fā)過程中,發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)涉及多種復(fù)雜的試驗(yàn)設(shè)備,要求試驗(yàn)人員具有較高的知識(shí)水平和操作技能[1]。大部分發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架監(jiān)控系統(tǒng)均采用C/S架構(gòu),將系統(tǒng)分為客戶端和服務(wù)器端實(shí)現(xiàn)不同的功能。丁旭等[2]利用各種網(wǎng)絡(luò)通信協(xié)議實(shí)現(xiàn)臺(tái)架與系統(tǒng)之間的數(shù)據(jù)傳輸。王慶等[3]利用C#編程實(shí)現(xiàn)對(duì)發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架現(xiàn)場試驗(yàn)數(shù)據(jù)實(shí)時(shí)監(jiān)控,對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理。韓二鋒[4]以PLC控制器為核心,基于西門子觸摸屏組態(tài)軟件WinCC開發(fā)出一套柴油發(fā)動(dòng)機(jī)性能監(jiān)測系統(tǒng),并對(duì)運(yùn)行參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測。與以上系統(tǒng)相比,B/S模式不用安裝特定的客戶端,僅需要利用瀏覽器就能夠使用所有功能,便于系統(tǒng)后續(xù)的維護(hù)與更新,具有較高的效率和開放性。文章基于B/S模式設(shè)計(jì)出一套試驗(yàn)臺(tái)架監(jiān)控系統(tǒng),通過該監(jiān)控系統(tǒng),可以對(duì)試驗(yàn)過程進(jìn)行可視化監(jiān)控,實(shí)時(shí)掌握臺(tái)架試驗(yàn)狀況,試驗(yàn)人員能夠自動(dòng)存儲(chǔ)數(shù)據(jù),有效地提高了臺(tái)架的試驗(yàn)和運(yùn)行效率,對(duì)發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)具有重要的意義。

1 系統(tǒng)概述

在進(jìn)行發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)時(shí),臺(tái)架會(huì)向外部發(fā)送XML信息,包含臺(tái)架的各種運(yùn)行參數(shù)。后端可以使用面向?qū)ο蟮腏ava編程語言,通過TCP/IP協(xié)議與臺(tái)架建立連接,接收XML信息并解析出對(duì)應(yīng)數(shù)據(jù),然后通過操作關(guān)系型數(shù)據(jù)庫的JDBC技術(shù)與MySQL數(shù)據(jù)庫建立連接,將數(shù)據(jù)存入其中。經(jīng)由輕量級(jí)Web服務(wù)器TomCat部署項(xiàng)目,可以使試驗(yàn)數(shù)據(jù)在網(wǎng)頁上以數(shù)字、圖表形式實(shí)時(shí)可視化顯示。出現(xiàn)故障時(shí)可以通過頁面按鈕進(jìn)行怠速、停機(jī)等操作,輸入試驗(yàn)日期對(duì)臺(tái)架歷史試驗(yàn)數(shù)據(jù)進(jìn)行條件查詢。前端頁面采 用HTML-JavaScript-CSS 的 網(wǎng) 頁 開 發(fā) 技 術(shù)[5]、HTML構(gòu)建網(wǎng)頁結(jié)構(gòu)、JavaScript控制網(wǎng)頁行為、CSS控制網(wǎng)頁表現(xiàn),使用AJAX實(shí)現(xiàn)與后端程序的動(dòng)態(tài)數(shù)據(jù)交互。系統(tǒng)總體流程如圖1所示。

圖1 系統(tǒng)總體流程

2 系統(tǒng)設(shè)計(jì)

2.1 整體框架設(shè)計(jì)

系統(tǒng)從軟件架構(gòu)上,采用MVC框架模式,將系統(tǒng)分為視圖、控制器和模型三部分[6]。視圖為系統(tǒng)中的表現(xiàn)層,即瀏覽器中的HTML頁面,用于處理用戶請(qǐng)求和展示相關(guān)內(nèi)容;控制器是系統(tǒng)中的控制層,由Servlet類實(shí)現(xiàn),負(fù)責(zé)在視圖和模型之間交互信息,接收表現(xiàn)層的請(qǐng)求響應(yīng),將數(shù)據(jù)轉(zhuǎn)交至相應(yīng)的模型進(jìn)行顯示;模型是系統(tǒng)中的業(yè)務(wù)邏輯層和數(shù)據(jù)持久層,包括Service類和JDBCImpl類,負(fù)責(zé)所有數(shù)據(jù)的查詢調(diào)取和各種業(yè)務(wù)功能的實(shí)現(xiàn),將系統(tǒng)處理結(jié)果提交給控制層,控制層提交給表現(xiàn)層顯示。

2.2 功能模塊設(shè)計(jì)

發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架監(jiān)控系統(tǒng)采用模塊化思想[7],設(shè)計(jì)劃分出不同的功能模塊,分為用戶管理模塊、數(shù)據(jù)采集模塊、頁面顯示模塊及數(shù)據(jù)查詢模塊。

2.2.1 用戶管理模塊

根據(jù)不同的登錄用戶,分為普通人員和試驗(yàn)人員兩種不同的權(quán)限,試驗(yàn)人員在普通權(quán)限外,可以對(duì)臺(tái)架運(yùn)行參數(shù)進(jìn)行范圍設(shè)置,點(diǎn)擊網(wǎng)頁按鈕執(zhí)行怠速、停機(jī)操作。對(duì)網(wǎng)頁配置過濾器進(jìn)行登錄驗(yàn)證,若無用戶登錄信息,則直接跳轉(zhuǎn)登錄頁面。

2.2.2 數(shù)據(jù)采集模塊

通過網(wǎng)絡(luò)通信協(xié)議與試驗(yàn)臺(tái)架保持連接,解決數(shù)據(jù)黏包和斷線重連問題,持續(xù)接收并解析出試驗(yàn)數(shù)據(jù),一方面送往前端頁面顯示,另一方面通過數(shù)據(jù)庫連接池與數(shù)據(jù)庫建立連接存取數(shù)據(jù)。

2.2.3 頁面顯示模塊

包括試驗(yàn)臺(tái)架集中顯示頁面和單臺(tái)顯示頁面,使數(shù)據(jù)在頁面上可視化顯示,更直觀形象,便于工作人員實(shí)時(shí)掌握臺(tái)架具體運(yùn)行狀況。通過頁面對(duì)運(yùn)行參數(shù)進(jìn)行設(shè)置,超出范圍后,系統(tǒng)會(huì)發(fā)出警報(bào)聲并發(fā)出電子郵件提醒。

2.2.4 數(shù)據(jù)查詢模塊

可以輸入臺(tái)架編號(hào)和試驗(yàn)日期對(duì)數(shù)據(jù)庫中歷史試驗(yàn)數(shù)據(jù)進(jìn)行條件查詢,能夠查詢和修改關(guān)于試驗(yàn)臺(tái)架的具體信息。搜索出歷史試驗(yàn)數(shù)據(jù),可以生成圖表和導(dǎo)出Excel文件。

2.3 數(shù)據(jù)庫設(shè)計(jì)

數(shù)據(jù)庫承擔(dān)著試驗(yàn)臺(tái)架監(jiān)控系統(tǒng)中存儲(chǔ)和管理數(shù)據(jù)的工作,對(duì)數(shù)據(jù)文件具有較快的讀寫速度。在Web數(shù)據(jù)庫的選擇上,MySQL數(shù)據(jù)庫體積小、執(zhí)行效率高、平臺(tái)兼容性好且開源免費(fèi),適用于中小型網(wǎng)站的開發(fā),采用該數(shù)據(jù)庫能夠滿足系統(tǒng)需求。數(shù)據(jù)庫中主要實(shí)體有用戶實(shí)體、臺(tái)架實(shí)體和試驗(yàn)數(shù)據(jù)實(shí)體,根據(jù)系統(tǒng)中數(shù)據(jù)關(guān)系與特點(diǎn),詳細(xì)分析各實(shí)體之間聯(lián)系,可以建立實(shí)體-聯(lián)系模型的實(shí)體關(guān)系圖(E-R圖)。數(shù)據(jù)庫E-R圖如圖2所示。

圖2 數(shù)據(jù)庫E-R圖

矩形表示數(shù)據(jù)庫中的實(shí)體,橢圓形表示實(shí)體的固有屬性,菱形表示各實(shí)體間的聯(lián)系。每一個(gè)實(shí)體都對(duì)應(yīng)數(shù)據(jù)庫中一個(gè)數(shù)據(jù)表,其中臺(tái)架信息表和試驗(yàn)數(shù)據(jù)表是一對(duì)多的關(guān)系,為保持?jǐn)?shù)據(jù)的一致性和完整性,需要添加外鍵約束。

3 系統(tǒng)功能實(shí)現(xiàn)

3.1 登錄頁面

用戶可以通過網(wǎng)頁登錄框輸入用戶名和密碼,頁面接收到登錄信息后,向控制器發(fā)送HTTP請(qǐng)求,請(qǐng)求中攜帶包含用戶名和密碼的表單。后端程序接收請(qǐng)求后,調(diào)用業(yè)務(wù)邏輯層方法,根據(jù)用戶名在數(shù)據(jù)庫用戶信息表中的條件查詢?cè)撚脩簟H舨淮嬖谠撚脩艋虼嬖谟脩舻艽a不正確,彈出登錄失敗提示框;若成功則自動(dòng)跳轉(zhuǎn)至集中監(jiān)控頁面,同時(shí)運(yùn)用服務(wù)端會(huì)話跟蹤技術(shù),將用戶信息(用戶編號(hào)、用戶名、密碼、權(quán)限狀態(tài))儲(chǔ)存在Session對(duì)象中,可以對(duì)后續(xù)操作的權(quán)限驗(yàn)證和訪問其他頁面進(jìn)行登錄驗(yàn)證。

3.2 監(jiān)控頁面

監(jiān)控頁面包括集中監(jiān)控頁面和單臺(tái)監(jiān)控頁面。集中監(jiān)控頁面為每個(gè)臺(tái)架劃分一個(gè)小區(qū)域,頁面上包含全部臺(tái)架進(jìn)行集中監(jiān)控。每個(gè)小區(qū)域?qū)崟r(shí)顯示轉(zhuǎn)速、扭矩、功率等重要運(yùn)行參數(shù),點(diǎn)擊相應(yīng)區(qū)域可以跳轉(zhuǎn)到單臺(tái)顯示頁面。

后端程序通過TCP/IP通信協(xié)議與臺(tái)架遠(yuǎn)程連接,連接過程中,為實(shí)現(xiàn)與臺(tái)架的斷線重連功能,引入了心跳包機(jī)制。系統(tǒng)每隔10 s發(fā)送給臺(tái)架一個(gè)固定信息,如果無回應(yīng),則嘗試重新連接。數(shù)據(jù)傳輸過程中,臺(tái)架連續(xù)發(fā)送的數(shù)據(jù)包會(huì)在接收時(shí)黏成一團(tuán),后一次數(shù)據(jù)頭連著前一次數(shù)據(jù)尾。為解決數(shù)據(jù)黏包問題,需要在程序里建立緩沖區(qū),接收到臺(tái)架的XML數(shù)據(jù)后立刻解析。為讀取XML數(shù)據(jù)中的運(yùn)行參數(shù),采用了DOM4J解析技術(shù),先獲得數(shù)據(jù)所在根標(biāo)簽對(duì)象,再根據(jù)里面標(biāo)簽名得到試驗(yàn)數(shù)據(jù)。試驗(yàn)數(shù)據(jù)經(jīng)由控制器傳遞到前端網(wǎng)頁,通過Vue框架,將數(shù)據(jù)與表現(xiàn)層模型綁定,表現(xiàn)層模型隨數(shù)據(jù)改變而改變,達(dá)到頁面中顯示內(nèi)容實(shí)時(shí)更新的效果。

在單臺(tái)監(jiān)控頁面中,將運(yùn)行參數(shù)劃分為不同種類,用數(shù)字形式實(shí)時(shí)顯示,每秒定時(shí)調(diào)用setInterval函數(shù)更新最新的試驗(yàn)數(shù)據(jù)。中間區(qū)域引入ECharts開源可視化庫繪制圖表,以曲線圖形式展示部分參數(shù)隨時(shí)間的變化趨勢(shì),以表盤中指針跳動(dòng)形式更新轉(zhuǎn)速信息。為保證試驗(yàn)臺(tái)架的安全性,頁面上還存在怠速、停機(jī)按鈕。出現(xiàn)故障時(shí)點(diǎn)擊按鈕,在登錄賬號(hào)操作權(quán)限驗(yàn)證通過后,即可經(jīng)由TCP/IP連接,向臺(tái)架發(fā)送包含怠速或停機(jī)命令的XML信息,臺(tái)架收到對(duì)應(yīng)信息,就會(huì)執(zhí)行相應(yīng)的怠速、停機(jī)操作。數(shù)據(jù)庫按鈕可以跳轉(zhuǎn)至歷史數(shù)據(jù)查詢頁面,實(shí)現(xiàn)調(diào)取歷史試驗(yàn)數(shù)據(jù)的相關(guān)需求。點(diǎn)擊設(shè)置按鈕后可以進(jìn)入?yún)?shù)設(shè)置頁面,對(duì)試驗(yàn)臺(tái)架參數(shù)進(jìn)行相應(yīng)的范圍設(shè)置。提交設(shè)置后,監(jiān)控頁面可以將每次獲得的運(yùn)行參數(shù)與設(shè)置的參數(shù)進(jìn)行對(duì)比,若超出范圍,則對(duì)應(yīng)數(shù)據(jù)顯示樣式變?yōu)榧t色,并基于SMTP協(xié)議(簡單郵件傳輸協(xié)議),將數(shù)據(jù)超限郵件發(fā)送給特定的SMTP服務(wù)器,進(jìn)而轉(zhuǎn)發(fā)給提前設(shè)定的電子郵箱地址進(jìn)行提醒。單臺(tái)監(jiān)控頁面如圖3所示。

圖3 單臺(tái)監(jiān)控頁面

3.3 數(shù)據(jù)查詢頁面

系統(tǒng)解析出試驗(yàn)數(shù)據(jù)后,會(huì)多線程操作,運(yùn)用數(shù)據(jù)庫連接池,將數(shù)據(jù)存入對(duì)應(yīng)臺(tái)架的試驗(yàn)數(shù)據(jù)表內(nèi)。需要查詢歷史試驗(yàn)數(shù)據(jù),可以在數(shù)據(jù)查詢頁面對(duì)應(yīng)的輸入框,輸入想要查詢的臺(tái)架編號(hào)和試驗(yàn)日期,點(diǎn)擊查詢按鈕后,條件參數(shù)提交給后端業(yè)務(wù)邏輯層。后端計(jì)算開始索引后,調(diào)用數(shù)據(jù)持久層方法對(duì)數(shù)據(jù)進(jìn)行條件和分頁查詢,得到對(duì)應(yīng)信息后將數(shù)據(jù)打包返還頁面顯示。試驗(yàn)信息復(fù)選框勾選后,點(diǎn)擊按鈕生成可保存的折線趨勢(shì)圖;或?qū)?shù)據(jù)傳至后端程序,生成帶表頭格式的Excel文件,并在網(wǎng)頁上自動(dòng)下載。旁邊的臺(tái)架信息按鈕,點(diǎn)擊可查詢所有試驗(yàn)臺(tái)架的具體信息。點(diǎn)擊查詢出的臺(tái)架信息列表中存在修改按鈕,會(huì)彈出表單,執(zhí)行對(duì)臺(tái)架信息的修改操作。數(shù)據(jù)查詢頁面的所有數(shù)據(jù)可以異步動(dòng)態(tài)交互,點(diǎn)擊按鈕后無須刷新網(wǎng)頁,即可實(shí)現(xiàn)數(shù)據(jù)的即時(shí)更新。數(shù)據(jù)查詢頁面如圖4所示。

圖4 數(shù)據(jù)查詢頁面

4 結(jié)語

在Windows系統(tǒng)下使用IntelliJ IDEA作為開發(fā)工具,后端使用Java語言和MySQL數(shù)據(jù)庫,前端采用HTML-JavaScript-CSS的網(wǎng)頁開發(fā)技術(shù),基于B/S模式設(shè)計(jì)并開發(fā)出發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架監(jiān)控系統(tǒng),服務(wù)端部署后僅需Web瀏覽器即可訪問監(jiān)控系統(tǒng)網(wǎng)頁,對(duì)運(yùn)行中的發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架實(shí)時(shí)監(jiān)測和操控。整個(gè)系統(tǒng)相比C/S模式,操作簡單、擴(kuò)展性好、信息共享度高且易于維護(hù),實(shí)現(xiàn)了對(duì)發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)控和數(shù)據(jù)的即時(shí)存儲(chǔ),發(fā)現(xiàn)故障時(shí)能夠進(jìn)行相應(yīng)操作,提高了臺(tái)架試驗(yàn)效率和安全性。

猜你喜歡
臺(tái)架試驗(yàn)臺(tái)網(wǎng)頁
血管吻合試驗(yàn)臺(tái)的研制及試用
發(fā)動(dòng)機(jī)臺(tái)架排放測試影響因素
P2離合器摩擦片磨損率臺(tái)架測試方法
可變進(jìn)氣歧管(VIS)切換點(diǎn)的臺(tái)架標(biāo)定方法研究
滾動(dòng)直線導(dǎo)軌副靜剛度試驗(yàn)臺(tái)設(shè)計(jì)
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
KYJ-T型空壓機(jī)試驗(yàn)臺(tái)自動(dòng)化控制系統(tǒng)研究與開發(fā)
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
錐形齒PDC鉆頭臺(tái)架試驗(yàn)研究
鄂伦春自治旗| 郸城县| 宁明县| 治多县| 鹤山市| 鄂伦春自治旗| 宝应县| 木里| 连平县| 乡宁县| 安陆市| 安塞县| 历史| 沁阳市| 始兴县| 札达县| 华阴市| 渭南市| 岳池县| 海阳市| 辽宁省| 金阳县| 延吉市| 宜兰县| 北碚区| 郸城县| 泰来县| 金阳县| 山阴县| 平武县| 苏尼特右旗| 达日县| 泰来县| 湖南省| 乌拉特后旗| 凤庆县| 兴隆县| 闵行区| 临沂市| 扬州市| 云林县|