1 誤差分析及處理
動態(tài)稱重系統(tǒng)的誤差來源包括動態(tài)因素和靜態(tài)因素。動態(tài)因素主要有汽車自身的振動、稱重區(qū)路面的不平整,汽車經(jīng)過此區(qū)的速度及加速度。靜態(tài)因素主要體現(xiàn)在客觀環(huán)境的變化和硬件自身問題,如:當時系統(tǒng)所處溫度、傳感器是否運行良好,模/數(shù)轉(zhuǎn)換的分辨率等。誤差的來源決定誤差的處理方式。一方面通過對檢測硬件條件和檢測方式的設(shè)定避免產(chǎn)生不必要的誤差,另一方面通過良好的數(shù)據(jù)處理方法提高軟件處理數(shù)據(jù)的精度,目前主要有以下幾種方法:ADV法、DV法、V法、位移積分法、補償法、專家系統(tǒng)、參數(shù)估計法、神經(jīng)網(wǎng)絡(luò)。在動態(tài)稱重系統(tǒng)中濾波方法主要有:有限幅濾波、中值濾波、算術(shù)平均值、滑動平均、加權(quán)平均濾波、復(fù)合濾波等方法。本軟件采用滑動加權(quán)平均濾波,即設(shè)一個數(shù)據(jù)緩沖區(qū)依順序存放N次采樣數(shù)據(jù),每采進一個新數(shù)據(jù),就將最先采集的數(shù)據(jù)丟掉,而后求包括新數(shù)據(jù)在內(nèi)的N個數(shù)據(jù)的加權(quán)平均值,便得到該次采樣的有效數(shù)據(jù)。
其中:
式中:Xn為第n次采樣經(jīng)濾波后的輸出;Xn-i為未經(jīng)濾波的第n-i次采樣值;N為滑動平均項數(shù);Ci為加權(quán)。
2 應(yīng)用軟件的整體設(shè)計
2.1 系統(tǒng)結(jié)構(gòu)與主要模塊
本系統(tǒng)基于C/S三層架構(gòu),用戶接口層采用友好的GUI界面,主要是用戶相關(guān)操作的實現(xiàn)以及數(shù)據(jù)顯示;業(yè)務(wù)邏輯層進行模塊化的設(shè)計,包括參數(shù)設(shè)置、數(shù)據(jù)采集、傳輸和處理;數(shù)據(jù)庫服務(wù)器層對數(shù)據(jù)庫的操作進行封裝,主要完成數(shù)據(jù)的保存與維護。整個軟件功能模塊圖如圖1所示,包含了數(shù)據(jù)傳輸、數(shù)據(jù)處理、輸入/輸出、數(shù)據(jù)顯示等四大模塊。以信號的處理與顯示為核心,信號的流向如圖2所示,首先在稱重區(qū)不斷得到重力傳感器所采集的電壓信號,進行濾波、放大、A/D轉(zhuǎn)換,并將所采集的數(shù)據(jù)根據(jù)上位機系統(tǒng)初始化形式,以串口或者網(wǎng)絡(luò)通信的方式傳輸,上位機對所接收的數(shù)據(jù)進行判斷后,予以濾波、運算、存儲、顯示,并將所得出的結(jié)果以委決書或發(fā)票回饋于車主。
2.2 類圖
通過此類圖完整顯示本汽車動態(tài)稱重系統(tǒng)軟件的內(nèi)部靜態(tài)結(jié)構(gòu),如圖3所示。其中,CDatabase,CDis-pose,CDisplay,CTransport,CPrint,CQuery,CMotion-Line,CStaticLine分別表示數(shù)據(jù)庫連接類、數(shù)據(jù)處理類、數(shù)據(jù)顯示類、通信類、報表打印類、查詢類、動態(tài)曲線和靜態(tài)曲線類。數(shù)據(jù)處理類對數(shù)據(jù)傳輸類具有依賴性。
3 軟件實現(xiàn)
3.1 傳輸實現(xiàn)
工控系統(tǒng)的數(shù)據(jù)通信一般以串口為主,但由于串口通信只能用于短距離通信,網(wǎng)絡(luò)通信也得到了一定的應(yīng)用。本系統(tǒng)在通用性的前提下實現(xiàn)串口和網(wǎng)絡(luò)通信兩種方式??紤]到汽車動態(tài)稱重系統(tǒng)對數(shù)據(jù)的實時性、可靠性要求,通過對通信類采用多線程封裝,實現(xiàn)主動發(fā)送串口和網(wǎng)絡(luò)監(jiān)聽的實時數(shù)據(jù)采集,提高實時數(shù)據(jù)傳輸效率。用到的線程函數(shù)有兩個,一個是監(jiān)聽線程函數(shù)UINT ListenThread(LPVOID pParam),另一個是讀數(shù)據(jù)線程UINT ReadTread(LPVOID pParam)。由于本系統(tǒng)對同一串口的不同時讀寫,所以不存在同步操作,監(jiān)聽線程在后臺通過對WaitCommEvent事件的監(jiān)聽調(diào)用,讀取線程完成下位機數(shù)據(jù)的接收。
3.2 數(shù)據(jù)處理實現(xiàn)
由于動態(tài)稱重過程中存在大量的動態(tài)干擾因素,易造成傳輸模塊所傳數(shù)據(jù)存在較大誤差,所以首先選擇算法對接收數(shù)據(jù)濾波進行預(yù)處理,然后進行標度轉(zhuǎn)換。數(shù)值計算求出軸重,而濾波是這部分的核心,下面給出加權(quán)滑動平均濾波的主要實現(xiàn)代碼:
3.3 數(shù)據(jù)顯示
顯示模塊主要完成三方面內(nèi)容:采集所得實時數(shù)據(jù)的動態(tài)曲線顯示,經(jīng)過處理后數(shù)據(jù)的靜態(tài)曲線顯示及整個軟件的界面顯示。動態(tài)曲線和靜態(tài)曲線分別繼承類CDisplay,該類以虛函數(shù)的形式只提供接口,并未具體實現(xiàn);子類在繼承后根據(jù)自己的實際情況分別實現(xiàn)。顯示類的設(shè)計如下:
通過對CDrawItem類的封裝使軟件界面的顯示以Windows系統(tǒng)為標準,堅持置用戶與控制之下,減少用戶記憶負擔,保持界面一致的原則。
3.4 數(shù)據(jù)庫類的設(shè)計
完成數(shù)據(jù)傳輸、處理以后,要對所得數(shù)據(jù)進行存儲,以便查詢、統(tǒng)計。通過對數(shù)據(jù)庫訪問技術(shù)的比較發(fā)現(xiàn),ADO數(shù)據(jù)庫訪問技術(shù)具有易于使用,速度快,內(nèi)存支出少等優(yōu)點。本系統(tǒng)選擇以MFC為基礎(chǔ),對其三個主要對象Connection,Command,Recordset的屬性和方法進行封裝,并命名為CWimDataBase類。在任何要用到數(shù)據(jù)庫操作之處只需加入其頭文件“CWimData-Base.h”并聲明對象,則調(diào)用其公共屬性和方法即可進行數(shù)據(jù)庫操作。
如:利用m_WimDb對象調(diào)用函數(shù)ConnectDb連接數(shù)據(jù)庫。
4 結(jié) 語
針對目前主流動態(tài)稱重系統(tǒng)硬件結(jié)構(gòu)以及數(shù)據(jù)處理過程的特征,本應(yīng)用軟件采用面向?qū)ο蟮某绦蛟O(shè)計方法進行設(shè)計并予以實現(xiàn),充分利用了面向?qū)ο笾械睦^承、封裝及多態(tài)等特點,實現(xiàn)了軟件的模塊化,達到了模塊之間高內(nèi)聚、低耦合。應(yīng)用測試表明,該軟件具有實用性、可復(fù)用性、易擴充、易維護且界面友好,符合實際的應(yīng)用需要。
互聯(lián)網(wǎng)、信息技術(shù)等技術(shù)的進步改變了各行各業(yè)的發(fā)展模式,尤其是作為技術(shù)型與集約型產(chǎn)業(yè),汽車行業(yè)迎來了新的發(fā)展時期。近年來,智能網(wǎng)聯(lián)汽車逐步成為汽車發(fā)展的主要趨勢,雖然取得了一定的發(fā)展成果,但是還存在一些發(fā)展劣勢,因而,未來...
關(guān)鍵字: 智能網(wǎng)聯(lián) 汽車 智能化實現(xiàn)“雙碳”目標將加快推動我國汽車產(chǎn)業(yè)發(fā)展方式的轉(zhuǎn)變,尤其是推動以新能源汽車為代表的新產(chǎn)業(yè)、新業(yè)態(tài)、新模式的發(fā)展,為我國智能網(wǎng)聯(lián)汽車產(chǎn)業(yè)實現(xiàn)從跟跑、并跑到領(lǐng)跑,增強汽車產(chǎn)業(yè)的國際競爭力,創(chuàng)造新的歷史契機。
關(guān)鍵字: 智能網(wǎng)聯(lián) 汽車 新能源新一輪科技革命和產(chǎn)業(yè)變革方興未艾,科學技術(shù)是促進城市持續(xù)發(fā)展的強大動力,智能網(wǎng)聯(lián)汽車的發(fā)展是一個跨領(lǐng)域、跨行業(yè)融合發(fā)展的結(jié)果,需要政府各部門、汽車企業(yè)、科技企業(yè)以及產(chǎn)業(yè)鏈上下游加大協(xié)同的力度,同向發(fā)力,充分利用數(shù)字化、網(wǎng)...
關(guān)鍵字: 智能網(wǎng)聯(lián) 汽車 智能化