999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2023-09-24 05:33:16孫映璇王海濤李佳欣呂佳慧
現(xiàn)代計(jì)算機(jī) 2023年13期
關(guān)鍵詞:數(shù)據(jù)庫

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

(廣州新華學(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í)更輕松,且能有效地提高工作效率。

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 老色鬼欧美精品| 欧美日韩高清在线| 国产福利拍拍拍| 亚洲天堂啪啪| 99精品福利视频| 亚洲无卡视频| 免费A级毛片无码无遮挡| 一区二区三区国产| 欧美精品影院| 亚洲精品国产精品乱码不卞| 91精品国产综合久久不国产大片| 国产青榴视频| 国产午夜无码专区喷水| 国产在线98福利播放视频免费| 欧美成人免费午夜全| 极品尤物av美乳在线观看| 日韩A∨精品日韩精品无码| 67194在线午夜亚洲| 亚洲色图欧美| AV无码无在线观看免费| 伊人大杳蕉中文无码| 又污又黄又无遮挡网站| 久久精品66| 又黄又湿又爽的视频| 久久久精品国产SM调教网站| 91免费国产高清观看| 在线观看国产黄色| 精品久久久无码专区中文字幕| 奇米精品一区二区三区在线观看| 国产91视频观看| 久久99蜜桃精品久久久久小说| 国产精品对白刺激| 亚洲中字无码AV电影在线观看| 熟妇无码人妻| 国产伦精品一区二区三区视频优播| 日本高清视频在线www色| 久久不卡精品| 国产精品亚欧美一区二区 | 国产丝袜无码精品| 成人午夜在线播放| 久久精品丝袜| 在线观看91精品国产剧情免费| 欧美国产日韩在线观看| 久久99国产乱子伦精品免| 久久天天躁狠狠躁夜夜2020一| 在线日韩日本国产亚洲| 又粗又硬又大又爽免费视频播放| 久久亚洲美女精品国产精品| 国产十八禁在线观看免费| 亚洲综合极品香蕉久久网| 中文无码伦av中文字幕| 国产午夜精品鲁丝片| 成人毛片免费在线观看| 亚洲综合日韩精品| 亚洲精品午夜无码电影网| 色偷偷av男人的天堂不卡| 国内精自线i品一区202| 国产激情第一页| 国产特一级毛片| 国产视频欧美| 精品自窥自偷在线看| 国产丝袜无码精品| 91色国产在线| 欧美在线精品怡红院| 日韩在线永久免费播放| 国产精品55夜色66夜色| 亚洲一区二区约美女探花| 成人日韩视频| 久精品色妇丰满人妻| 露脸真实国语乱在线观看| 午夜毛片福利| 国产视频a| 中文字幕日韩久久综合影院| 老司机午夜精品网站在线观看| 日本黄色不卡视频| 蜜桃视频一区二区| 欧美成人影院亚洲综合图| 亚洲国产成人在线| 激情综合五月网| 男女性午夜福利网站| 精品成人一区二区三区电影| 最新国语自产精品视频在|