• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Qt的多通道振動信號采集儀上位機軟件設(shè)計

      2023-06-22 12:19:13劉宏偉
      現(xiàn)代信息科技 2023年3期

      摘? 要:振動信號采集儀通過外接傳感器,將機械結(jié)構(gòu)的動態(tài)物理量轉(zhuǎn)換成電壓信號,之后再由AD模塊將輸入的電壓信號轉(zhuǎn)換成數(shù)字信號。研究人員通過分析這些數(shù)據(jù)可以準(zhǔn)確地了解被測對象的運動特征,及時發(fā)現(xiàn)被測對象的設(shè)計缺陷。該文設(shè)計并實現(xiàn)了基于Qt的多通道振動信號采集儀上位機軟件。通過網(wǎng)口TCP/IP協(xié)議接收前端采集儀器上傳的數(shù)據(jù),支持多通道同步采集,并實時顯示數(shù)據(jù)波形。

      關(guān)鍵詞:Qt;多通道采集;實時顯示;實時存儲;時域數(shù)據(jù)分析

      中圖分類號:TP311.5? ? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)03-0024-06

      Design of Upper Computer Software for Multi-channel Vibration Signal Collector Based on Qt

      LIU Hongwei

      (Avic Changcheng Institute of Metrology & Measurement, Beijing? 100095, China)

      Abstract: The vibration signal collector converts the dynamic physical quantity of the mechanical structure into a voltage signal through an external sensor, and then converts the input voltage signal into a digital signal by the AD module. By analyzing these data, the motion characteristics of the tested object can be acquired accurately by researcher, and the design defects of the tested object also can be found out in time. This paper designs and implements the upper computer software of multi-channel vibration signal collector based on Qt. Receive the data uploaded by the front-end collector through the TCP/IP protocol of the network port, support multi-channel synchronous acquisition, and display the data waveform in real time.

      Keywords: Qt; multi-channel acquisition; real-time display; real-time storage; time domain data analysis

      0? 引? 言

      隨著科學(xué)技術(shù)的發(fā)展進(jìn)步,人們在日常的生產(chǎn)和生活過程中,使用到的自動化機械設(shè)備也越來越豐富多樣。各類自動化機械結(jié)構(gòu)的使用性能如何,運行狀態(tài)是否穩(wěn)定等,都直接影響著最終產(chǎn)品的生命力和用戶的使用體驗。因此在研發(fā)生產(chǎn)階段就要求我們能夠?qū)崟r獲取這些機械結(jié)構(gòu)的運動特征,以便進(jìn)行設(shè)計參數(shù)的迭代和優(yōu)化。獲取各類運動特征數(shù)據(jù)的儀器有很多種,其中振動信號采集儀的應(yīng)用范圍尤為廣泛,在汽車、船舶、航天等領(lǐng)域都有廣泛的應(yīng)用需求。

      振動信號采集儀通過外接傳感器,將機械結(jié)構(gòu)的動態(tài)物理量轉(zhuǎn)換成電壓信號,之后再由AD模塊將輸入的電壓信號轉(zhuǎn)換成數(shù)字信號,即為采集到的數(shù)據(jù)。通過分析這些數(shù)據(jù),研究人員可以準(zhǔn)確的知道被測對象的運動特征,并能及時發(fā)現(xiàn)被測對象的設(shè)計缺陷。由于振動信號采集過程產(chǎn)生的數(shù)據(jù)量很大,而且分析這些數(shù)據(jù)時用到各種算法,若通過硬件實現(xiàn)也會比較困難復(fù)雜。因此,我們通常會將采集到的數(shù)據(jù)通過物理接口傳輸給PC端的上位機。由上位機來完成分析處理數(shù)據(jù)的過程。目前,振動信號采集系統(tǒng)的上位機軟件多是采用國外技術(shù)公司開發(fā)的LabVIEW或MATLAB來進(jìn)行二次開發(fā)。借助LabVIEW或MATLAB提供的算法分析模塊,以及庫函數(shù)等,可以對采集到的數(shù)據(jù)進(jìn)行快速的分析,并得出分析結(jié)果。開發(fā)過程簡單方便,大大節(jié)約了開發(fā)周期。但由于受到軟件使用授權(quán)的影響,開發(fā)使用過程無法實現(xiàn)自主可控。文獻(xiàn)[1]使用Visual C++開發(fā)了振動信號采集分析系統(tǒng)的上位機軟件,但沒有實現(xiàn)多通道同步采集并實時顯示,上位機操作界面相對簡單,且Visual C++僅支持在Windows系統(tǒng)下編譯運行,無法實現(xiàn)跨平臺編譯。文獻(xiàn)[2]使用C#開發(fā)了數(shù)據(jù)采集系統(tǒng)的上位機軟件,但只是將采集到的數(shù)據(jù)存儲在了文件里,沒有實現(xiàn)實時的圖形顯示。同樣的,C#也是僅支持在Windows系統(tǒng)下編譯運行,無法實現(xiàn)跨平臺編譯。

      基于上述原因,本文討論并設(shè)計實現(xiàn)了基于Qt的多通道振動信號采集儀上位機軟件。通過網(wǎng)口接收前端采集儀器上傳的數(shù)據(jù),支持多通道同步采集,并實時顯示數(shù)據(jù)波形;支持可選線數(shù)的實時FFT分析,并實時顯示分析結(jié)果的波形;支持原始數(shù)據(jù)的實時存儲等。

      1? 軟件總體框架

      上位機軟件在PC機上運行,負(fù)責(zé)實現(xiàn)對采集數(shù)據(jù)的接收、分析、顯示、存儲,以及對前端采集儀的控制。在功能設(shè)計上需要滿足以下要求:

      (1)通過網(wǎng)口接收、發(fā)送數(shù)據(jù)。

      (2)將采集到的數(shù)字量轉(zhuǎn)換成對應(yīng)的電壓值。

      (3)實時顯示測量到的時域電壓值波形。

      (4)FFT算法功能。

      (5)實時顯示時域信號經(jīng)過FFT變換后的頻域波形。

      (6)同步存儲采集到的原始數(shù)據(jù)。

      (7)能夠?qū)η岸瞬杉瘍x下發(fā)控制指令。

      上位機軟件的功能模塊示意圖如圖1所示。

      上位機軟件在PC機上運行,通過網(wǎng)線和前端采集儀相連,通信過程基于TCP/IP協(xié)議框架實現(xiàn)。其中,物理連接端口采用標(biāo)準(zhǔn)的RJ45接口;網(wǎng)絡(luò)層采用IPv4協(xié)議進(jìn)行通信;傳輸層采用TCP協(xié)議進(jìn)行通信;應(yīng)用層通信協(xié)議由本文討論的上位機程序自定義。上位機軟件基于Qt開發(fā)平臺編程實現(xiàn),可以實現(xiàn)跨平臺編譯運行,程序代碼無需重復(fù)開發(fā),即可編譯出能在多個操作系統(tǒng)平臺上運行的可執(zhí)行文件。

      2? 功能模塊設(shè)計

      2.1? 通信模塊

      在TCP通信過程中,前端的振動信號采集儀作為服務(wù)端運行,上位機作為客戶端運行。服務(wù)端程序負(fù)責(zé)啟動監(jiān)聽端口,等待客戶端接入。客戶端程序啟動后,發(fā)起對服務(wù)端的連接。Qt中實現(xiàn)TCP通信,需要用到Qt自帶的C++類QTcpSocket。第一步先創(chuàng)建QTcpSocket套接字對象;第二步使用第一步創(chuàng)建的對象連接服務(wù)器;第三步使用write函數(shù)向服務(wù)器發(fā)數(shù)據(jù)。第四步,服務(wù)器有數(shù)據(jù)返回時,會發(fā)出readReady()信號,在程序中定義一個該信號的槽函數(shù),即可在槽函數(shù)中使用read函數(shù)讀取返回的數(shù)據(jù)。

      2.1.1? 輸入網(wǎng)絡(luò)參數(shù)

      在指點操作界面上輸入前端采集儀的網(wǎng)絡(luò)參數(shù),主要指采集儀的IPv4地址。本文討論的上位機軟件支持多個采集模塊的分布式連接,即多個采集模塊通過交換機同時與上位機軟件進(jìn)行通信。上位機軟件能夠?qū)崟r顯示不同采集模塊上傳的數(shù)據(jù)波形。

      2.1.2? 發(fā)送控制命令

      上位機軟件采用自定義的應(yīng)用層協(xié)議向前端采集儀發(fā)送控制命令。協(xié)議格式如表1所示。

      其中:

      (1)協(xié)議頭固定為0xA5A5A5A5。

      (2)命令字段用來標(biāo)識不同的控制命令,如開啟/關(guān)閉采用通道、讀取前端采集儀硬件信息等。

      (3)通道指示器字段的16個bit,用來標(biāo)識當(dāng)前命令可控制的通道,總共可代表16個通道。最低有效位表示第1個通道,最高有效位表示第16個通道。bit位設(shè)置為1,表示當(dāng)前命令對該bit位標(biāo)識的通道有效,bit位設(shè)置為0,則表示當(dāng)前命令不影響該bit位標(biāo)識的通道。

      (4)控制參數(shù)包括通道采樣率、信號輸入類型等采集參數(shù)的配置。

      2.1.3? 接收采樣數(shù)據(jù)

      上位機軟件同樣采用自定義的應(yīng)用通信協(xié)議解析前端采集儀上發(fā)的數(shù)據(jù)。協(xié)議格式如表2所示。

      其中:

      (1)協(xié)議頭固定為0xAA55AA55。

      (2)固定為0x00000004,其他值表示當(dāng)前上傳的不是采樣數(shù)據(jù)。

      (3)填充字節(jié)固定為4字節(jié)0x00。

      (4)采樣數(shù)據(jù)長度,在本次設(shè)計中每包數(shù)據(jù)長度固定為4 096個字節(jié)。

      (5)采樣數(shù)據(jù),為前端采集儀實時采集到的數(shù)據(jù)。本次設(shè)計中,前端采集儀采用24位AD進(jìn)行采樣,采集到的數(shù)據(jù)占3字節(jié),采樣時,下位機程序在每個采樣點的首字節(jié)前面填充一個字節(jié)的通道號后組成4字節(jié)數(shù)據(jù),再按照表2的傳輸協(xié)議打包,然后上傳給上位機。

      采樣點的原始數(shù)據(jù)需要經(jīng)過以下轉(zhuǎn)換成才能得到真正的電壓值:

      其中,Dsample為采集儀上傳的原始數(shù)據(jù),Dvoltage為計算得到的電壓值,N為AD的位數(shù),本次設(shè)計中N的值取24,Vref為參考電壓。

      2.2? 算法模塊

      上位機接收并緩存采樣數(shù)據(jù)后,需要實時對數(shù)據(jù)進(jìn)行分析,如FFT變換。算法模塊的功能為提供算法接口,供主程序調(diào)用。算法調(diào)用流程如圖2所示。

      2.3? 測量模塊

      測量模塊是上位機的重要組成部分,主要實現(xiàn)了用戶控制命令的操作界面,以及用圖形的方式,實時直觀地顯示測量結(jié)果。Qt作為一個GUI框架的開發(fā)平臺,提供了豐富的窗口部件集合。本次設(shè)計中的窗口界面均使用QMainWindow來創(chuàng)建對象。主窗口內(nèi)部劃分為多個子窗口,子窗口內(nèi)部由各類控件布局組成??丶┯脩舨僮鳎a(chǎn)生相應(yīng)的操作信號。為每個操作信號添加對應(yīng)的槽函數(shù),就可以實現(xiàn)對該操作信號的響應(yīng),即信號與槽機制。

      2.3.1? 選擇采樣通道

      本次設(shè)計的上位機軟件支持6個通道同步采集與顯示,且6個通道的開啟和關(guān)閉都可以單獨控制。既可以同時打開全部通道,也可以選擇只打開一個或幾個通道。

      2.3.2? 設(shè)置系統(tǒng)頻率

      根據(jù)采樣定理f采樣≥2 f信號,即采樣頻率要大于等于信號頻率的2倍才能夠準(zhǔn)確分析出信號頻率的特征。本次設(shè)計中將采樣頻率的1/2.56定義為可準(zhǔn)確分析的最大信號頻率,即f采樣≥2.56 f信號。這時的最大信號頻率即為當(dāng)前的系統(tǒng)頻率,將系統(tǒng)頻率記為f系統(tǒng),即f采樣=2.56 f系統(tǒng)。通過上位機設(shè)置系統(tǒng)頻率,即設(shè)置了當(dāng)前系統(tǒng)可準(zhǔn)確分析的輸入信號的最大頻率,實際上也間接地設(shè)置了前端采集儀的采樣率。

      2.3.3? 設(shè)置時域特性

      本次設(shè)計中,可將時域波形的顯示時長設(shè)置為0.2秒到600秒之間的任意值。采樣時間超出設(shè)定時長后,按照先進(jìn)先出的原則,實時刷新。

      2.3.4? 設(shè)置FFT參數(shù)

      本次設(shè)計中,可設(shè)置的FFT參數(shù)包括平均次數(shù)、譜線數(shù)、窗函數(shù)、顯示功率譜。

      2.3.5? 時域波形實時顯示

      每個采集通道都有一個時域波形的實時顯示窗口。通道打開,窗口自動出現(xiàn);通道關(guān)閉,窗口自動關(guān)閉。所有采集通道同時打開的時候,對應(yīng)的實時顯示窗口也會同時出現(xiàn)并刷新。

      2.3.6? 頻域波形實時顯示

      每一條時域波形曲線都有一一對應(yīng)的頻域波形曲線。本次設(shè)計中,多個通道的頻域波形曲線和它對應(yīng)的時域波形曲線同步顯示刷新。同樣的,當(dāng)多個采集通道同時打開的時候,多條頻域曲線也會同時顯示并刷新。不同的是,多條頻域曲線顯示在同一個窗口界面內(nèi),用不同的顏色做區(qū)分。

      2.4? 數(shù)據(jù)處理模塊

      為了保證采樣數(shù)據(jù)的實時顯示,在對采集數(shù)據(jù)的處理上也要盡量保證高效。一般情況下,網(wǎng)絡(luò)通信的速度要高于圖形顯示的速度。因此,實時顯示理論上是有時間滯后的。我們要做到的是,使圖形刷新的頻率是數(shù)據(jù)采集的頻率整數(shù)倍,并保持不變,這樣一來,雖然采集時刻和圖形顯示時刻有時間差,但這個時間差是固定的,圖形顯示和數(shù)據(jù)采集也就可以同步刷新了。

      2.4.1? 緩存

      網(wǎng)口接收的數(shù)據(jù)順序緩存到預(yù)先定義的一個足夠大的緩存空間。程序按照通信協(xié)議解析出里面的有效數(shù)據(jù)并做二次緩存。二次緩存的數(shù)據(jù)僅限有效的采樣數(shù)據(jù)。圖形顯示和算法的輸入數(shù)據(jù)都從二次緩存區(qū)讀取。為了能做到快速訪問并讀取有效采樣數(shù)據(jù),本次設(shè)計中的二次緩存過程采用隊列的方式實現(xiàn)。讀取緩存數(shù)據(jù)時,無需做數(shù)據(jù)的整體拷貝,只需傳遞數(shù)據(jù)所在的地址即可,保證數(shù)據(jù)傳遞準(zhǔn)確性的同時,還大大減少了程序的執(zhí)行時間。緩存流程如圖3所示。

      2.4.2? 存儲

      實際工程應(yīng)用中,除了需要實時顯示采集的數(shù)據(jù)外,有時還需要將采集到的數(shù)據(jù)保存到本地硬盤中。本次設(shè)計的上位機軟件具備邊采集邊存儲二進(jìn)制原始數(shù)據(jù)的功能。存儲的數(shù)據(jù)量的大小由電腦硬盤空間決定。原始數(shù)據(jù)的存儲格式如表3所示。

      表中,No.為通道號,長度為1字節(jié),取值01~06;Data為采樣數(shù)據(jù),長度為3字節(jié)。n為當(dāng)前打開的采集通道的個數(shù)。

      3? 測試實驗

      雙擊應(yīng)用程序圖標(biāo),打開上位機軟件。按照提示輸入前端采集儀的IP地址,點擊連接按鈕。等待網(wǎng)絡(luò)連接成功后,進(jìn)入測量界面,如圖4所示。

      由圖4可知,上位機軟件連接的前端振動信號采集儀包含6個采集通道,最大采樣率為131 072 Hz,系統(tǒng)頻率默認(rèn)是51.2 kHz。

      3.1? 數(shù)據(jù)傳輸測試

      選擇任意一個或多個通道,勾選激活框后,時域窗口和頻域窗口開始有波形顯示。表明網(wǎng)絡(luò)通信正常,前端采集儀的數(shù)據(jù)能夠?qū)崟r傳輸?shù)缴衔粰C。數(shù)據(jù)傳輸過程如圖5所示。打開全部通道時的數(shù)據(jù)傳輸過程如圖6所示。

      3.2? 軟件操作測試

      通過設(shè)置“顯示時長”可以調(diào)整時域數(shù)據(jù)在顯示界面上時間窗口寬度。如圖7所示,右圖的顯示時長為1 s,左圖將顯示時長調(diào)整為10 s。

      采用信號發(fā)生器產(chǎn)生1 024 Hz的輸入信號,電壓大小為1 V。時域波形和經(jīng)過FFT變換后的頻域波形實時顯示測試,如圖8所示。

      由圖可見,實時采集到的數(shù)據(jù)轉(zhuǎn)換后的電壓值與輸入信號電壓一致。經(jīng)過FFT變換后的頻域波形顯示的基頻信號幅值和頻率,與輸入信號一致。

      將輸入信號頻率改為1 600 Hz,電壓幅值不變。修改FFT譜線數(shù),可以提高頻域數(shù)據(jù)的分辨力。圖如9所示。

      由圖可見,F(xiàn)FT譜線數(shù)改為3 200后的頻域圖形,與圖8所示的頻域圖形有了明顯的區(qū)別。

      3.3? 數(shù)據(jù)存儲測試

      在上位機軟件界面上點擊“實時記錄”開啟實時保存原始數(shù)據(jù)的功能。如圖10所示為記錄的通道5原始采樣數(shù)據(jù)。將該數(shù)據(jù)還原成波形后圖如圖11所示,與實時采集的波形一致。

      4? 結(jié)? 論

      本文基于Qt平臺設(shè)計實現(xiàn)了多通道振動信號采集儀的上位機軟件。通過網(wǎng)口進(jìn)行通信,實現(xiàn)了采樣數(shù)據(jù)的接收和顯示,實現(xiàn)了和前端采集儀的命令交互,上位機軟件界面的設(shè)計,建立了將用戶的控制信號傳遞給前端采集儀的通道。實現(xiàn)了基本的時域數(shù)據(jù)分析算法,并能夠通過操作界面控制算法的輸入?yún)?shù)。同時還實現(xiàn)了對原始采樣數(shù)據(jù)的實時存儲。達(dá)到了操作上位機軟件控制振動信號采集儀工作,實時分析并保存采樣數(shù)據(jù)的預(yù)期效果。該上位機軟件,集合設(shè)備控制、數(shù)據(jù)采集、顯示、分析和保存功能于一體,操作方便,數(shù)據(jù)計算準(zhǔn)確,實時存儲的數(shù)據(jù)不失真,是一款值得推廣的上位機軟件。

      參考文獻(xiàn):

      [1] 龔楚云.基于Visual C++的振動信號采集分析系統(tǒng)的研究 [D].天津:天津工業(yè)大學(xué),2016.

      [2] 龔永富,王少云,雷仲魁,等.高速、高精度數(shù)據(jù)采集系統(tǒng)的上位機軟件設(shè)計 [J].電子設(shè)計工程,2020,28(15):38-42+47.

      [3] 孫毅剛,何進(jìn),李岐.基于LabVIEW的多通道溫度監(jiān)測系統(tǒng)設(shè)計 [J].現(xiàn)代電子技術(shù),2017,40(8):183-186.

      [4] Jasmin Blanchette,Mark Summerfield. C++ GUI Qt4編程 [M].閆鋒欣,曾泉人,譯.北京:電子工業(yè)出版社,2013.

      [5] 崔永俊,郭峰.多通道振動信號采集系統(tǒng)設(shè)計 [J].儀表技術(shù)與傳感器,2022(4):75-79+95.

      [6] 孫潔茹,陳曉寧,王健,等.基于Qt的探測器溫控上位機軟件設(shè)計 [J].安徽大學(xué)學(xué)報:自然科學(xué)版,2022,46(1):61-67.

      作者簡介:劉宏偉(1985.11—),男,漢族,山西大同人,工程師,碩士,研究方向:機械電子工程。

      收稿日期:2022-09-07

      屯门区| 侯马市| 铁力市| 仙桃市| 松原市| 温宿县| 额敏县| 张家界市| 定襄县| 大厂| 罗平县| 新津县| 博罗县| 华宁县| 中山市| 太谷县| 淮南市| 天祝| 长汀县| 理塘县| 容城县| 卢湾区| 林州市| 灵石县| 石城县| 呼和浩特市| 赣榆县| 明光市| 榆中县| 辽阳市| 闻喜县| 晋中市| 广元市| 余江县| 洪洞县| 鹤峰县| 九龙坡区| 临泽县| 岳西县| 潞城市| 焦作市|