亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        0 引言

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

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

        1.1 Android

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

        1.2 Jetpack

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

        圖1 JetPack包含的組件

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

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

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

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

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

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

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

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

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

        3.2 界面設(shè)計

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

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

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

        3.3.1 連接方式

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

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

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

        3.3.2 設(shè)計

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

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

        3.3.3 實現(xiàn)

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

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

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

        3.4.1 設(shè)計

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

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

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

        3.4.2 實現(xiàn)

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

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

        4 結(jié)語

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

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        亚洲精品成人片在线观看| 涩涩鲁精品亚洲一区二区 | 国产人妖在线免费观看| 99久久久人妻熟妇精品一区二区| 在线亚洲高清揄拍自拍一品区| 好男人日本社区www| 亚洲VA中文字幕欧美VA丝袜| 中文字幕一区二区三区四区久久| 免费人成视频网站在线不卡| 亚洲国产日韩精品一区二区三区| 久久精品国产精品亚洲毛片| 第九色区Aⅴ天堂| 国产男女插插一级| 国产青春草在线观看视频| 国产精品内射久久一级二| 小荡货奶真大水真多紧视频| 亚洲成人免费观看| 亚洲av永久综合网站美女| 女同视频一区二区在线观看| 国产激情久久久久影院老熟女| 中文字幕第八页| 一区二区三区在线观看高清视频| 久久国产精品亚洲婷婷片| 乌克兰粉嫩xxx极品hd| 一本大道久久东京热无码av| 国产又湿又爽又猛的视频| 亚洲欧美日韩综合一区二区| 搡老熟女老女人一区二区| av草草久久久久久久久久久| 你懂的视频网站亚洲视频| 亚洲国产成人精品无码区在线秒播| 97久久久久人妻精品专区 | 欧美激情二区| 国产精品国产三级国产专区51区| 亚洲精品在线国产精品| 国产呦系列呦交| AV在线中出| 亚洲一区二区三区偷拍女| 国产人妻久久精品二区三区老狼| 久精品国产欧美亚洲色aⅴ大片| 国产av三级精品车模|