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

?

電池包氣密檢漏儀上位機(jī)查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2023-09-24 05:33孫映璇王海濤李佳欣呂佳慧
現(xiàn)代計(jì)算機(jī) 2023年13期
關(guān)鍵詞:檢漏儀氣密性組件

孫映璇,王海濤,李佳欣,呂佳慧,陳 苗

(廣州新華學(xué)院信息與智能工程學(xué)院,東莞 523133)

0 引言

隨著制造技術(shù)的發(fā)展,產(chǎn)品的質(zhì)量和性能也在不斷提高,有些電池類產(chǎn)品對(duì)自身的氣密性提出了很高的要求[1]。人們對(duì)電池氣密性的要求越來越高,為了方便用戶查詢電池氣密性的相關(guān)數(shù)據(jù),通過設(shè)備之間的連接實(shí)現(xiàn)用戶和儀器的交互。設(shè)備和儀器檢測(cè)電池包的氣密性后通過無線網(wǎng)絡(luò)連接在移動(dòng)端查詢。在檢漏儀運(yùn)行過程中產(chǎn)生的數(shù)據(jù)和信息的存儲(chǔ)可以通過軟件實(shí)現(xiàn)。電池包氣密檢漏儀是測(cè)試電池包氣密性的設(shè)備,是基于差壓原理的空氣泄露測(cè)試儀,是利用壓縮空氣來檢測(cè)產(chǎn)品的精密檢測(cè)設(shè)備。除了能進(jìn)行電池包的氣密性檢測(cè)之外,還能進(jìn)行水冷系統(tǒng)氣密性檢測(cè),工作過程中能進(jìn)行一些簡單的參數(shù)設(shè)置。檢漏儀按下儀器開關(guān)之后會(huì)有四個(gè)按鈕,包括:電池包氣密檢測(cè)、水冷系統(tǒng)氣密檢測(cè)、通道設(shè)置和系統(tǒng)設(shè)置,點(diǎn)擊測(cè)試開始后會(huì)有測(cè)試界面,測(cè)試完成之后會(huì)顯示測(cè)試壓力和是否合格,以及測(cè)試的壓力在合格壓力的哪一部分。

1 相關(guān)技術(shù)

1.1 Android

Android 是一款基于Linux 開發(fā)的開源操作系統(tǒng),一般被用于移動(dòng)設(shè)備,由Google 公司和開放手機(jī)聯(lián)盟進(jìn)行開發(fā)。

1.2 Jetpack

JetPack是一套由谷歌公司開發(fā)的用于Android開發(fā)的組件庫,用于處理由設(shè)備不同或Android版本不一致所導(dǎo)致的兼容性和差異性問題[2]。JetPack 的組件按類別主要可以分為四個(gè)大類:基礎(chǔ)組件、架構(gòu)組件、行為組件和UI 組件,每個(gè)類別主要包含的組件如圖1所示。在這里主要介紹架構(gòu)組件中的Room 組件和View Model 組件。Room 是基于SQLite 的抽象層,它可以方便地訪問數(shù)據(jù)庫,同時(shí)也可以充分發(fā)揮SQLite 的強(qiáng)大功能。ViewModel 是一個(gè)以生命周期方式存儲(chǔ)和管理頁面數(shù)據(jù)的視圖模型,它能讓數(shù)據(jù)在發(fā)生配置改變后繼續(xù)留存。

圖1 JetPack包含的組件

2 整體結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)整體架構(gòu)如圖2 所示。架構(gòu)中view 模塊對(duì)應(yīng)著系統(tǒng)開發(fā)的視圖。Controller 模塊為業(yè)務(wù)邏輯模塊,它會(huì)直接與JetPack 工具庫中的架構(gòu)組件中的View Model 模塊進(jìn)行通信,由View Model模塊更新數(shù)據(jù),進(jìn)而去更新視圖使用通信的方式共享內(nèi)存,這樣避免了在控制器中保存按鈕與文本框等大多數(shù)視圖對(duì)象數(shù)據(jù)不一致問題,極大地優(yōu)化了程序的邏輯,降低了編碼出錯(cuò)概率[3]。持久模塊對(duì)應(yīng)著系統(tǒng)開發(fā)的數(shù)據(jù)庫,由Controller 模塊進(jìn)行對(duì)數(shù)據(jù)庫的管理。LT_Link為進(jìn)行通信時(shí)所使用的協(xié)議,當(dāng)在系統(tǒng)中輸入電池包氣密檢漏儀的IP 地址和端口號(hào)時(shí),系統(tǒng)將作為客戶端與電池包氣密性檢漏儀上位機(jī)進(jìn)行連接;當(dāng)在電池包氣密性檢漏儀上位機(jī)中輸入系統(tǒng)所在的IP 地址和端口號(hào)時(shí),此時(shí)的系統(tǒng)將作為服務(wù)端為電池包氣密性檢漏儀提供服務(wù)。

圖2 系統(tǒng)整體架構(gòu)

3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

大部分上位機(jī)的總體功能可以分為接收數(shù)據(jù)和處理數(shù)據(jù)兩個(gè)模塊,包含的功能有發(fā)送指令、進(jìn)行通信、數(shù)據(jù)接收、展示數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行處理[4]。電池包氣密性檢漏儀上位機(jī)查詢系統(tǒng)的實(shí)現(xiàn)主要有四個(gè)部分:界面部分、通信模塊部分、保存數(shù)據(jù)模塊部分和數(shù)據(jù)庫部分。系統(tǒng)整體的功能模塊如圖3所示。

圖3 系統(tǒng)整體功能模塊

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

SQLite 是一個(gè)不需要配置、不需要安裝也不需要管理員的輕量級(jí)事務(wù)性的SQL 數(shù)據(jù)庫引擎。占用資源低,支持大部分主流操作系統(tǒng),同時(shí)能適應(yīng)各種編程語言,且SQLite 文件格式穩(wěn)定,可跨平臺(tái)向后兼容,速度極快。因此本設(shè)計(jì)采用SQLite數(shù)據(jù)庫。

測(cè)試開始時(shí),儀器每隔一段時(shí)間傳回一段數(shù)據(jù)到數(shù)據(jù)庫中,根據(jù)不同的設(shè)備,儲(chǔ)存在不同的Test 表中。Test 表包括id(編號(hào))、time(時(shí)間)、date(日期)、Test_Type(測(cè)試模式)、Test_Result(測(cè)試結(jié)果)、Test_pressure(測(cè)試壓力)、Voltage_Drop(壓降)、Leak(泄露)等字段。id 字段是自動(dòng)生成的,儀器每傳回一段數(shù)據(jù),編號(hào)便會(huì)累加,我們將id 設(shè)置為主鍵。Time 字段用于儲(chǔ)存測(cè)試的時(shí)間。Date 字段用于儲(chǔ)存測(cè)試當(dāng)天的日期。Test_Type 字段記錄當(dāng)前測(cè)試的模式是否正確。Test_Result 字段記錄當(dāng)前測(cè)試結(jié)果是合格,不合格或異常。Test_Pressure 字段儲(chǔ)存測(cè)試電池此時(shí)的壓力值。Voltage_Drop 字段記錄測(cè)試過程中的壓降值。而Leak 字段則記錄了當(dāng)前電池泄露水平。

3.2 界面設(shè)計(jì)

整體界面主要為實(shí)時(shí)顯示檢漏儀的測(cè)試數(shù)據(jù),為測(cè)試人員提供方便。該部分的主要研究內(nèi)容為,如何更好地將數(shù)據(jù)展示出來,以及在多臺(tái)檢漏儀連接的情況下,如何能分別顯示儀器的實(shí)時(shí)數(shù)據(jù)或結(jié)果數(shù)據(jù),能同時(shí)啟動(dòng)所有在連設(shè)備或者單獨(dú)啟動(dòng)某臺(tái)設(shè)備。此外,每個(gè)頁面都采用了統(tǒng)一的設(shè)計(jì)規(guī)范使得產(chǎn)品視覺風(fēng)格保持一致,同時(shí)可以保障良好的用戶體驗(yàn)。整個(gè)界面主要分為四部分。這四部分的頁面跳轉(zhuǎn)的實(shí)現(xiàn)我們采用了Android Jetpack 程序庫的Navigation 組件。先設(shè)計(jì)Fragment 布局以及存放NavHostFragment 的布局,然后設(shè)置Navigation 的XML 配置文件以及Activity 的ID,最后在邏輯代碼中實(shí)現(xiàn)頁面跳轉(zhuǎn)的邏輯。由于部分頁面包含內(nèi)容過多,無法一屏展示完全。所以我們使用了ScrollView 來實(shí)現(xiàn)上下滾動(dòng)的效果。第一部分如圖4(a)是設(shè)置查詢,由于客戶端主界面功能比較繁雜,不利于查看。所以配置了view-Pager2 實(shí)現(xiàn)分頁展示。主界面包含了8分頁,分別是首頁、時(shí)間/單位、壓力參數(shù)、測(cè)試參數(shù)、通訊設(shè)置、綜合設(shè)置、儀器信息、S20C 配置。可根據(jù)不同的分頁使用不同的功能。第二部分如圖4(b)是單機(jī)測(cè)試,對(duì)單臺(tái)儀器進(jìn)行測(cè)試得出實(shí)時(shí)數(shù)據(jù)。第三部分如圖4(c)是聯(lián)機(jī)測(cè)試,目前支持最多8 臺(tái)儀器組成,每個(gè)區(qū)域構(gòu)成與“單機(jī)測(cè)試”界面的主體部分類似。第四部分如圖4(d)是數(shù)據(jù)查詢,主要是數(shù)據(jù)的展示,保存數(shù)據(jù)時(shí)支持.CSV格式和excel文檔。

圖4 系統(tǒng)頁面展示

3.3 通信模塊設(shè)計(jì)與實(shí)現(xiàn)

3.3.1 連接方式

連接方式在需求分析中確定本軟件需要作為TCP 的Server 端與Client 端兩種方式連接儀器。

當(dāng)軟件中點(diǎn)擊開始監(jiān)聽時(shí),軟件作為TCP協(xié)議的Server端,將監(jiān)聽輸入的端口。在儀器端輸入軟件所在IP及設(shè)定的端口建立連接。

當(dāng)在儀器中開啟監(jiān)聽,并且軟件中輸入儀器IP 及端口,點(diǎn)擊連接時(shí),軟件將作為TCP 的Client端連接到儀器。

3.3.2 設(shè)計(jì)

(1)TCPLinkFactory 連接工廠模塊:使用設(shè)計(jì)模式中的工廠模式,在軟件中由TCPLink-Factory 負(fù)責(zé)與設(shè)備TCP 連接的創(chuàng)建、保管、維護(hù)、銷毀。

(2)TCPLink 接口:對(duì)TCP 連接的抽象,仿照epoll 模型。向上層的LTLink 協(xié)議服務(wù),隱藏了作為Server 端與Client 端連接的細(xì)節(jié)。降低了上層模塊的復(fù)雜度,提高了系統(tǒng)開發(fā)效率。

3.3.3 實(shí)現(xiàn)

(1)TCPLinkS:TCPLink 接口的實(shí)現(xiàn)類之一。在CPLinkFactory 監(jiān)聽指定端口,儀器連接成功后會(huì)創(chuàng)建本對(duì)象。對(duì)象創(chuàng)建成功后,將被加入TCPLinkFactory內(nèi)的數(shù)組保存。在對(duì)象監(jiān)聽到連接斷開后自動(dòng)銷毀,從數(shù)組中移除。

(2)TCPLinkC:TCPLink 接口的實(shí)現(xiàn)類之一。在軟件中輸入儀器IP 及端口連接成功時(shí)創(chuàng)建,自動(dòng)加入TCPLinkFactory內(nèi)的數(shù)組保存。在對(duì)象監(jiān)聽到連接斷開后自動(dòng)銷毀,從數(shù)組中移除。

3.4 保存數(shù)據(jù)模塊設(shè)計(jì)與實(shí)現(xiàn)

3.4.1 設(shè)計(jì)

(1)數(shù)據(jù)接收模塊:在接收數(shù)據(jù)之前,軟件會(huì)發(fā)送一個(gè)開始測(cè)試的信號(hào)給儀器,這樣在儀器測(cè)試之后,會(huì)每隔一段時(shí)間通過相應(yīng)接口傳給主機(jī),主機(jī)會(huì)對(duì)應(yīng)接口增加到相應(yīng)數(shù)據(jù)庫的表中。

(2)數(shù)據(jù)保存模塊:在收到數(shù)據(jù)之時(shí),通過調(diào)用相應(yīng)代碼,將該數(shù)據(jù)存到相應(yīng)數(shù)據(jù)庫的表中,同時(shí)管理人員還有相應(yīng)權(quán)限,比如增刪查改,但用戶只有查看功能。為了避免占用過多空間,當(dāng)數(shù)據(jù)到達(dá)一定存儲(chǔ)量時(shí),軟件會(huì)刪除陳舊數(shù)據(jù),以達(dá)到節(jié)省空間的目的。

(3)數(shù)據(jù)顯示模塊:軟件接收到數(shù)據(jù),并將該數(shù)據(jù)處理好之后,以圖表形式完成數(shù)據(jù)的可視化,將其顯示在屏幕中。

3.4.2 實(shí)現(xiàn)

(1)后端:通過軟件與數(shù)據(jù)庫的連接,軟件可以控制數(shù)據(jù)的存取。在軟件接收到數(shù)據(jù)信號(hào)時(shí),執(zhí)行存儲(chǔ)功能,將數(shù)據(jù)通過接口編號(hào)辨別,準(zhǔn)確存儲(chǔ)到相應(yīng)數(shù)據(jù)庫。并且在查看接收信號(hào)時(shí),通過數(shù)據(jù)的查看功能,將數(shù)據(jù)傳到前端,供用戶查看。

(2)前端:前端用戶可通過點(diǎn)擊軟件的查看功能,通過軟件將數(shù)據(jù)從數(shù)據(jù)庫中傳至前端,以供查看數(shù)據(jù)。

4 結(jié)語

本文設(shè)計(jì)和實(shí)現(xiàn)了電池包氣密檢漏儀上位機(jī)查詢系統(tǒng),首先介紹了電池包氣密檢漏儀;其次介紹了在系統(tǒng)開發(fā)階段使用到的一些技術(shù);然后對(duì)于系統(tǒng)的整體架構(gòu)進(jìn)行了設(shè)計(jì);最后對(duì)于系統(tǒng)的各個(gè)功能進(jìn)行了分析,實(shí)現(xiàn)了界面部分、通信模塊部分、保存數(shù)據(jù)模塊部分和數(shù)據(jù)庫部分等功能。本系統(tǒng)具有良好的人機(jī)交互能力,頁面布局簡潔,操作方便;利用數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ),不僅能儲(chǔ)存大量的數(shù)據(jù),而且還能方便地進(jìn)行數(shù)據(jù)的查詢與分析。符合了使用該系統(tǒng)的工作人員的基本需要,它能使工作人員在測(cè)試時(shí)更輕松,且能有效地提高工作效率。

猜你喜歡
檢漏儀氣密性組件
無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
車門氣密性對(duì)風(fēng)噪的影響分析
關(guān)于布袋除塵器氣密性試驗(yàn)新方法的研討
新型碎邊剪刀盤組件
某排氣系統(tǒng)球鉸氣密性仿真分析
U盾外殼組件注塑模具設(shè)計(jì)
檢查氣密性方法有多種
空調(diào)檢漏儀的分類及使用規(guī)范
基于VB6.0的工控機(jī)與空氣檢漏儀的串行通信
成都儀器廠氦質(zhì)譜檢漏儀