李 維 孫培巖
(大連理工大學(xué)能源與動(dòng)力學(xué)院,遼寧 大連 116024)
隨著計(jì)算機(jī)、互聯(lián)網(wǎng)技術(shù)、智能手機(jī)和控制理論的發(fā)展,傳統(tǒng)柴油機(jī)試驗(yàn)臺(tái)架通過結(jié)合物聯(lián)網(wǎng)技術(shù)迎來(lái)了新一輪技術(shù)變革。調(diào)速器的測(cè)試環(huán)節(jié)是內(nèi)燃機(jī)生產(chǎn)制造過程中的重要環(huán)節(jié)。通過耐久臺(tái)架試驗(yàn),對(duì)調(diào)速器進(jìn)行穩(wěn)定性和安全性的測(cè)試,可以保證柴油機(jī)整個(gè)調(diào)速系統(tǒng)的穩(wěn)態(tài)特性和動(dòng)態(tài)特性[1]。建立“物聯(lián)網(wǎng)式”的調(diào)速器試驗(yàn)臺(tái)能夠推動(dòng)試驗(yàn)臺(tái)的信息化和智能化,幫助試驗(yàn)人員對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行處理和分析,提高調(diào)速器工況參數(shù)的精確性和時(shí)效性。文章基于物聯(lián)網(wǎng)的調(diào)速器試驗(yàn)臺(tái)安卓系統(tǒng),結(jié)合數(shù)據(jù)庫(kù)、無(wú)線通信技術(shù),設(shè)計(jì)一款適用于試驗(yàn)臺(tái)數(shù)據(jù)遠(yuǎn)程傳輸和管理的系統(tǒng)軟件,使試驗(yàn)人員在安卓移動(dòng)端可以實(shí)時(shí)獲取試驗(yàn)臺(tái)試驗(yàn)數(shù)據(jù),實(shí)現(xiàn)對(duì)試驗(yàn)數(shù)據(jù)的快速檢索和數(shù)據(jù)處理。
調(diào)速器試驗(yàn)臺(tái)通過STC8H4K64單片機(jī)和磁電轉(zhuǎn)速傳感器獲取發(fā)動(dòng)機(jī)在穩(wěn)態(tài)運(yùn)行、突加和突減負(fù)載狀態(tài)時(shí)的轉(zhuǎn)速數(shù)據(jù),WiFi和TCP協(xié)議存入數(shù)據(jù)庫(kù)。安卓移動(dòng)端通過檢索數(shù)據(jù)庫(kù)以及在本地進(jìn)行數(shù)據(jù)處理,得到電子調(diào)速器性能指標(biāo),評(píng)測(cè)調(diào)速器的靜態(tài)和動(dòng)態(tài)穩(wěn)定性。設(shè)計(jì)開發(fā)采用C/S架構(gòu),即客戶端/服務(wù)器(Client/Server)架構(gòu),包括數(shù)據(jù)庫(kù)、Web服務(wù)器和App客戶端。數(shù)據(jù)庫(kù)采用MySQL數(shù)據(jù)庫(kù)對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行存儲(chǔ),建立用戶信息表、臺(tái)架信息表和試驗(yàn)機(jī)數(shù)據(jù)表。用戶信息表存放用戶登錄名和密碼;臺(tái)架信息表存放調(diào)速器信息、試驗(yàn)組號(hào)、工號(hào)、試驗(yàn)時(shí)間;試驗(yàn)數(shù)據(jù)表存放組號(hào)和轉(zhuǎn)速,避免數(shù)據(jù)冗余,提升檢索效率[2]。為簡(jiǎn)化開發(fā)過程,安卓端采用JDBC直連數(shù)據(jù)庫(kù)。JDBC提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,可以通過調(diào)用接口的方法,完成應(yīng)用程序與數(shù)據(jù)庫(kù)服務(wù)器之間的連接服務(wù),使用標(biāo)準(zhǔn)的SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行CRUD等操作,確保數(shù)據(jù)事務(wù)的正常進(jìn)行。JDBC具有簡(jiǎn)單、安全的特點(diǎn),使用JDBC在簡(jiǎn)化數(shù)據(jù)庫(kù)連接開發(fā)的同時(shí)能夠提高開發(fā)速度。
系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
由于調(diào)速器試驗(yàn)臺(tái)數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)有干擾信號(hào),使數(shù)據(jù)采集系統(tǒng)顯示值不穩(wěn)。為對(duì)信號(hào)進(jìn)行準(zhǔn)確測(cè)量,需要對(duì)被測(cè)信號(hào)進(jìn)行濾波處理[1-3]?;瑒?dòng)平均濾波法的實(shí)現(xiàn)較為簡(jiǎn)單,對(duì)于一些常見問題,滑動(dòng)平均濾波法可以在減少隨機(jī)白噪聲的同時(shí)保持最清晰的階躍響應(yīng)。文章選擇30倍的算法滑動(dòng)窗口,保證在最低的邊緣清晰度的情況下,對(duì)隨機(jī)噪聲的抑制效果較好[3]。
對(duì)于樣本量為n的數(shù)據(jù)序列x,滑動(dòng)平均序列運(yùn)算公式為:
式中:k——滑動(dòng)長(zhǎng)度,k=30。
在實(shí)際算法設(shè)計(jì)中由式(1)計(jì)算得出j=1的值(即處理后第一個(gè)數(shù)據(jù)的值)。j>1時(shí),計(jì)算公式為:
經(jīng)過滑動(dòng)平均濾波處理后的數(shù)據(jù)可以用于計(jì)算調(diào)速器的各項(xiàng)性能指標(biāo),調(diào)速器性能好壞的評(píng)測(cè)主要分為動(dòng)態(tài)特性和靜態(tài)特性[4-5]。
內(nèi)燃機(jī)調(diào)速器的動(dòng)態(tài)特性性能指標(biāo)主要有4個(gè)。最高轉(zhuǎn)速:內(nèi)燃機(jī)在突卸負(fù)載后的瞬間達(dá)到的最大轉(zhuǎn)速。瞬時(shí)調(diào)速率:內(nèi)燃機(jī)在穩(wěn)定轉(zhuǎn)速運(yùn)行時(shí),突卸或突加負(fù)載后瞬間達(dá)到的最高或最小轉(zhuǎn)速與負(fù)載變化前穩(wěn)定轉(zhuǎn)速的差值與標(biāo)定轉(zhuǎn)速的比值即為瞬時(shí)調(diào)速率;穩(wěn)定時(shí)間(轉(zhuǎn)速波動(dòng)時(shí)間):內(nèi)燃機(jī)負(fù)載突變后,從轉(zhuǎn)速瞬間變化到轉(zhuǎn)速穩(wěn)定在設(shè)定范圍所經(jīng)歷的時(shí)間,穩(wěn)定時(shí)間的長(zhǎng)短是反應(yīng)調(diào)速器穩(wěn)定性能好壞的主要標(biāo)志之一;波動(dòng)次數(shù):內(nèi)燃機(jī)負(fù)載突變后,轉(zhuǎn)速重新達(dá)到穩(wěn)定所用時(shí)間內(nèi)的波動(dòng)次數(shù)。
式中:δ1——瞬時(shí)調(diào)速率(%);nmax——突加負(fù)荷前的瞬時(shí)最高轉(zhuǎn)速(r/min);nmin——突加負(fù)荷前的最低轉(zhuǎn)速(r/min);n0——柴油機(jī)標(biāo)定轉(zhuǎn)速,即調(diào)速器的額定轉(zhuǎn)速(r/min)。
內(nèi)燃機(jī)調(diào)速器的靜態(tài)特性性能指標(biāo)主要有2個(gè)。轉(zhuǎn)速波動(dòng)范圍:內(nèi)燃機(jī)在負(fù)載不變的工況下運(yùn)行,在一定的時(shí)間間隔內(nèi)最高轉(zhuǎn)速和最低轉(zhuǎn)速分別與額定轉(zhuǎn)速之差;轉(zhuǎn)速波動(dòng)率:內(nèi)燃機(jī)在負(fù)載不變的工況下運(yùn)行,在一定的時(shí)間間隔內(nèi)最高轉(zhuǎn)速和最低轉(zhuǎn)速之差與額定轉(zhuǎn)速的比值即為轉(zhuǎn)速波動(dòng)率。
開發(fā)的Android應(yīng)用程序采用模塊化的設(shè)計(jì)方式,由登錄界面、注冊(cè)界面、檢索界面、繪圖界面4個(gè)界面組成。每個(gè)界面都有各自xml布局和Java功能文件。
3.1.1 界面構(gòu)成
Android應(yīng)用程序界面構(gòu)成如圖2所示。

圖2 Android應(yīng)用程序界面構(gòu)成
3.1.2 登錄界面
主界面即為登錄界面,驗(yàn)證登錄人員身份。xml中采用LinearLayout的布局方式,對(duì)用戶名和密碼進(jìn)行核實(shí)。對(duì)密碼錯(cuò)誤或未輸入賬號(hào)密碼等情況,通過Toast消息方式提示用戶核對(duì)登錄信息,核實(shí)成功后會(huì)自行跳轉(zhuǎn)至檢索界面。
登錄界面如圖3所示。

圖3 Android應(yīng)用程序登錄界面
3.1.3 檢索界面
檢索界面通過LinearLayout和RelativeLayout嵌套進(jìn)行使用,起始時(shí)間、結(jié)束時(shí)間、試驗(yàn)臺(tái)號(hào)、調(diào)速器序列號(hào)、工號(hào)作為檢索條件。為了優(yōu)化檢索條件,需要對(duì)單個(gè)或多個(gè)條件進(jìn)行優(yōu)化。在SQL語(yǔ)句中采用占位符和對(duì)檢索條件是否為空進(jìn)行判斷,實(shí)現(xiàn)任意條件均可進(jìn)行檢索,檢索結(jié)果以ListView組件呈現(xiàn)。用戶通過點(diǎn)擊ListView中的檢索結(jié)果直接跳轉(zhuǎn)至繪圖界面。
檢索界面如圖4所示。

圖4 Android應(yīng)用程序檢索界面
3.1.4 繪圖界面
繪圖界面以LinearLayout 的布局方式,使用MpChart專用的LineChart組件作為圖表的顯示容器。LineChart默認(rèn)為折線圖,通過setCircleRadius方法和setMode方法可以將折線圖轉(zhuǎn)為曲線圖。MpChart的LineChart類提供了較多的屬性方法可以對(duì)圖表進(jìn)行設(shè)置。文章采用了曲線、顏色、線寬以及坐標(biāo)軸等設(shè)置。
繪圖界面如圖5所示。
通過建立DbOpenHelper類存放數(shù)據(jù)庫(kù)連接代碼,設(shè)計(jì)getConnection和closeAll兩個(gè)公有靜態(tài)方法作為連接數(shù)據(jù)庫(kù)和關(guān)閉數(shù)據(jù)的公有方法;設(shè)計(jì)UserDao類繼承DbOpenHelper類作為數(shù)據(jù)庫(kù)操作類。直連數(shù)據(jù)庫(kù)是個(gè)耗時(shí)操作,需要建立線程池[6]。在UserDao類中,通過SQL語(yǔ)句和預(yù)編譯集實(shí)現(xiàn)對(duì)數(shù)據(jù)的CRUD操作。
MpChart是Android上易于使用的開源圖表庫(kù),支持繪制各種統(tǒng)計(jì)表,可以對(duì)圖表進(jìn)行拖動(dòng)和縮放操作。
通過在build.gradle中添加依賴,即可實(shí)現(xiàn)對(duì)MpChart的引用。通過建立MpChartsActivity類,重寫onCreate方法和實(shí)例化UserDao類。ArrayList是存放UserDao中的結(jié)果集,但由于使用了UserDao類,需要開辟新的線程,防止連接過程耗時(shí)。最后對(duì)MpChart圖表進(jìn)行設(shè)置。
針對(duì)柴油機(jī)電子調(diào)速器試驗(yàn)臺(tái)遠(yuǎn)程數(shù)據(jù)傳輸和管理問題,文章基于物聯(lián)網(wǎng)技術(shù)設(shè)計(jì)了一款數(shù)據(jù)管理軟件。在通過WiFi通信技術(shù)實(shí)現(xiàn)試驗(yàn)臺(tái)數(shù)據(jù)上傳服務(wù)器的基礎(chǔ)上設(shè)計(jì)數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)庫(kù)和Android軟件之間的通信,提供了用戶登錄、檢索、繪圖和數(shù)據(jù)處理功能,簡(jiǎn)化了測(cè)試過程中數(shù)據(jù)存儲(chǔ)過程,提高了對(duì)數(shù)據(jù)的快速檢索能力。對(duì)比安卓端和本地LabVIEW圖像,曲線形狀趨勢(shì)大致相同。作為校企合作項(xiàng)目,對(duì)系統(tǒng)的實(shí)用性、美觀性和便捷性有一定要求,因此,本系統(tǒng)仍有優(yōu)化空間。