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

一種超聲波成孔質(zhì)量檢測軟件采集系統(tǒng)的實(shí)現(xiàn)?

2020-10-09 02:47:36瞿少成李科林秦天柱許文俊
計算機(jī)與數(shù)字工程 2020年7期
關(guān)鍵詞:數(shù)據(jù)處理檢測

楊 琪 瞿少成 李科林 秦天柱 許文俊

(華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院 武漢 430079)

1 引言

近年來,隨著我國基礎(chǔ)設(shè)施建設(shè)的大力發(fā)展,基于超聲波檢測基樁完整性技術(shù)也得到了大力發(fā)展。超聲波成孔質(zhì)量檢測軟件系統(tǒng)是該設(shè)備的重要組成部分,它集成了數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)建模顯示、檢測設(shè)備狀態(tài)記錄、深度下潛步進(jìn)電機(jī)控制等功能,一套高效的檢測軟件系統(tǒng)尤其重要[1~4]。為進(jìn)一步提高基樁成孔質(zhì)量的檢測,高精度探頭數(shù)據(jù)采集與數(shù)據(jù)高速傳輸已經(jīng)成為必然,然而高精度探頭的采集數(shù)據(jù)往往難以快速、穩(wěn)定地傳輸與處理,阻礙了超聲波成孔質(zhì)量檢測系統(tǒng)的實(shí)際應(yīng)用。

目前國外SoniCaliper 公司研制的超聲波成孔基樁檢測系統(tǒng)比較成熟[5],其超聲波成孔質(zhì)量檢測軟件系統(tǒng)是基于VC++環(huán)境進(jìn)行開發(fā)的,維護(hù)不方便,跨平臺性能不足,實(shí)時性也難以得到保證。文章結(jié)合工程實(shí)踐,通過分析軟件通信中數(shù)據(jù)接收方式與處理方法的利弊,通過采用多線程輪詢機(jī)制與線程安全隊列,實(shí)現(xiàn)了對數(shù)據(jù)的多線程輪詢收集;通過采用UDP 通信協(xié)議以及采樣線程獨(dú)立化,加強(qiáng)了數(shù)據(jù)的傳輸速率,實(shí)現(xiàn)了數(shù)據(jù)的安全傳輸、實(shí)時處理、實(shí)時存貯和實(shí)時顯示等功能;設(shè)計并實(shí)現(xiàn)了一種基于Qt 環(huán)境下數(shù)據(jù)采集軟件系統(tǒng),較好地解決了通信傳輸中的實(shí)時性與穩(wěn)定性,且圖形交互界面操作方便,便于工程實(shí)踐。

2 超聲波成孔質(zhì)量檢測系統(tǒng)框架

超聲波成孔質(zhì)量檢測設(shè)備由三個部分組成,整體結(jié)構(gòu)如圖1 所示。第一部分由超聲波換能器、超聲波換能器驅(qū)動電路以及電機(jī)驅(qū)動電路和通信電路組成,完成對孔洞下環(huán)境的超聲波探測和數(shù)據(jù)采集傳輸功能。第二部分由控制電機(jī)、軸承支架以及多芯電纜構(gòu)成,將封裝好的第一部分進(jìn)行步進(jìn)下潛,并且通過相應(yīng)的PWM電機(jī)控制信號,實(shí)時控制下潛的深度和速度。第三個部分是軟件部分,主要功能是實(shí)時接收上傳的采樣數(shù)據(jù)和下潛的深度數(shù)據(jù),進(jìn)行數(shù)據(jù)處理和顯示,以及實(shí)現(xiàn)人機(jī)交互。整個設(shè)備供電系統(tǒng)實(shí)行所有模塊統(tǒng)一鋰電池供電,所有模塊封裝后統(tǒng)一安裝在小車上,使整個設(shè)備在適應(yīng)地形和環(huán)境方面更加靈活和輕巧。

圖1 超聲波檢測設(shè)備整體框架圖

3 超聲波成孔質(zhì)量檢測軟件的整體設(shè)計

系統(tǒng)主要基于自上而下的設(shè)計模式進(jìn)行設(shè)計,使得各個模塊的功能相互獨(dú)立。其主要模塊包括人機(jī)交互界面控制模塊、通信模塊、數(shù)據(jù)采集存儲模塊、數(shù)據(jù)可視化模塊以及硬件設(shè)備狀態(tài)監(jiān)控模塊五大模塊組成,具體功能模塊框架如圖2所示。

4 軟件通信系統(tǒng)的設(shè)計與實(shí)現(xiàn)

4.1 QT下UDP通信的實(shí)現(xiàn)

超聲波成孔質(zhì)量檢測軟件系統(tǒng)涉及到與多方的通信任務(wù),有效而且穩(wěn)定的通信功能是保證傳輸數(shù)據(jù)的實(shí)時性以及提升設(shè)備控制精度的重要基礎(chǔ)和前提[6]。軟件系統(tǒng)與設(shè)備終端模塊的通信關(guān)系如圖3所示。

圖2 超聲波成孔檢測軟件系統(tǒng)模塊框架圖

圖3 超聲波成孔質(zhì)量檢測系統(tǒng)與設(shè)備終端通信關(guān)系

在波形數(shù)據(jù)傳輸過程中,主要是以數(shù)據(jù)幀的形式進(jìn)行傳輸,采用UDP 協(xié)議進(jìn)行通信[7~9]。每一個波形數(shù)據(jù)幀包括幀頭信息、波形數(shù)據(jù)編號碼、具體傳輸波形數(shù)據(jù)和校驗(yàn)碼。其中幀頭信息又包括探頭深度信息、角度信息以及實(shí)測環(huán)境溫度信息等。超聲

波數(shù)據(jù)幀格式如圖4所示。

圖4 超聲波數(shù)據(jù)幀格式

在網(wǎng)絡(luò)通信具體實(shí)現(xiàn)過程中,QT 提供的QUdpSocket 類用來發(fā)送和接收UDP 數(shù)據(jù)包。此時,由于軟件系統(tǒng)所需傳輸?shù)臄?shù)據(jù)量較大,而且為了不影響主線程GUI界面的正常運(yùn)行,將UDP通信重新開辟一個線程進(jìn)行處理。通過增加線程來處理UDP 的數(shù)據(jù)接收,可以很好地解決以太網(wǎng)數(shù)據(jù)接收與GUI 界面處理沖突的問題。確保了數(shù)據(jù)傳輸?shù)膶?shí)時性以及可靠性,也使用戶操作GUI界面時不會出現(xiàn)卡頓的現(xiàn)象。

4.2 UDP數(shù)據(jù)的接收與處理

在經(jīng)過UDP 數(shù)據(jù)多線程采集后,要進(jìn)一步地處理數(shù)據(jù)。然而,在一次處理數(shù)據(jù)量很大的情況下,如果直接在數(shù)據(jù)接收槽函數(shù)中一邊進(jìn)行數(shù)據(jù)接收,一邊進(jìn)行數(shù)據(jù)處理,這樣在很大程度上影響了數(shù)據(jù)的接收速度,故在這里采用了多線程輪詢的方法進(jìn)行數(shù)據(jù)的獲取以及處理[10]。

4.2.1 多線程輪詢機(jī)制介紹

多線程輪詢機(jī)制是基于生產(chǎn)者/消費(fèi)者模式變化而來,生產(chǎn)者即數(shù)據(jù)生成的線程,消費(fèi)者即數(shù)據(jù)處理的線程[11]。在這里系統(tǒng)的生產(chǎn)者線程只有一條,而消費(fèi)者線程有多條,就形成了多個消費(fèi)者線程輪詢獲取生產(chǎn)者線程數(shù)據(jù),然后并行處理的情況。生產(chǎn)者/消費(fèi)者模式的結(jié)構(gòu)如圖5所示。

圖5 生產(chǎn)者/消費(fèi)者模式結(jié)構(gòu)圖

從圖5 可以看出如果將生產(chǎn)者與消費(fèi)者單個抽象出來,每個生產(chǎn)者與消費(fèi)者之間有一個緩沖區(qū)作為中介。正是因?yàn)檫@個中介,生產(chǎn)者可以把數(shù)據(jù)放入緩沖區(qū),而消費(fèi)者從緩沖區(qū)中取出數(shù)據(jù)。使用此種模型可以很好地解決生產(chǎn)者與消費(fèi)者速度不匹配的問題,同時也能減少生產(chǎn)者與消費(fèi)者之間的相互依賴。在實(shí)際的數(shù)據(jù)傳輸過程中,緩沖區(qū)是用一個線程安全的隊列來充當(dāng)?shù)模捎谏a(chǎn)者產(chǎn)生數(shù)據(jù)速度很快,所以數(shù)據(jù)按順序存入隊列,消費(fèi)者也會按順序取出隊列,這樣可以最大程度上保證數(shù)據(jù)的可靠性。多線程輪詢機(jī)制結(jié)構(gòu)如圖6所示。

圖6 多線程輪詢機(jī)制結(jié)構(gòu)圖

由圖6 可以看出,多線程輪詢機(jī)制是當(dāng)一個消費(fèi)線程處理完數(shù)據(jù)之后,又進(jìn)行排隊取生產(chǎn)者的數(shù)據(jù)進(jìn)行處理,如此循環(huán)往復(fù),并且多個消費(fèi)者線程均可并行執(zhí)行[12~14]。但是如何保證多個消費(fèi)者線程能夠互斥地取出隊列的數(shù)據(jù),則涉及到隊列的線程安全問題,即每次只能有一個消費(fèi)者線程進(jìn)行取數(shù)據(jù)。

4.2.2 線程安全隊列的實(shí)現(xiàn)

上一小節(jié)介紹了多線程輪詢機(jī)制,如何保證其有效的執(zhí)行是一個重要的線程安全問題。而在系統(tǒng)線程安全問題中,如何保證共享區(qū)域原子性,即緩沖區(qū)訪問的線程單一性是解決問題的核心。在C++中有四種同步互斥的控制方法,分別為臨界區(qū)、互斥量、信號量、事件。其中,互斥量是專門為協(xié)調(diào)共同對一個共享資源的單獨(dú)訪問而設(shè)計的[15~17]。故在解決隊列訪問原子性問題上采用的是互斥量進(jìn)行線程同步互斥的。在具體實(shí)現(xiàn)過程中,是將普通線程非安全隊列封裝為線程安全隊列來實(shí)施。下面將給出此封裝隊列的具體實(shí)現(xiàn)方法。

先構(gòu)造一個類DataQueue,然后在其中定義兩個函數(shù):

然后定義兩個操作函數(shù)為

由此類的聲明和定義可以看出,重寫了隊列操作的兩個方法,一個是enqueue()方法用來進(jìn)隊列,一個是dequeue()方法用來出隊列。還有兩個私有變量m_mutex、m_datas,前者是互斥量,用來保證線程安全,后者是用來裝載具體數(shù)據(jù)的隊列變量。在第一個函數(shù)enqueue(QString data)中,先定義了一個QMutexLocker變量,此變量是用來簡化互斥量的鎖定和解鎖操作,當(dāng)QMutexLocker 被創(chuàng)建后,互斥量就鎖定了。可以使用unlock()和relock()來解鎖和再次鎖定互斥量。如果互斥量被鎖定,當(dāng)QMutexLocker銷毀的時候,自動實(shí)現(xiàn)互斥量的解鎖。當(dāng)程序被鎖定后則表示接下來的進(jìn)隊列操作的程序代碼直到函數(shù)執(zhí)行結(jié)束,一直保持單線程操作狀態(tài),則此時保證了進(jìn)隊列的線程安全性。第二個函數(shù)dequeue()與上個函數(shù)一樣先定義QMutexLocker變量,然后再判斷此時隊列是否為空,如果為空則返回NULL,如果不為空則取出當(dāng)前隊列值,這樣既避免了空隊列時的取操作出錯,也保證了取隊列時的線程安全。

通過多線程輪詢機(jī)制以及線程安全隊列可以很好地提高數(shù)據(jù)傳輸與處理的實(shí)時性以及可靠性,同時也為眾多消費(fèi)者線程提供了并發(fā)的保障,大大提升了軟件系統(tǒng)處理大量數(shù)據(jù)的效率,為之后的數(shù)據(jù)存儲以及顯示縮短了時間。

5 系統(tǒng)測試與分析

5.1 系統(tǒng)功能測試

為了能夠滿足項目的需求,需要驗(yàn)證系統(tǒng)的使用性能,配合超聲波硬件系統(tǒng)進(jìn)行了多次聯(lián)調(diào)測試,現(xiàn)取某次測試結(jié)果進(jìn)行說明。在進(jìn)行探測實(shí)驗(yàn)之前,等待硬件設(shè)備就緒,操作超聲波成孔質(zhì)量檢測軟件,開始接受控制終端傳來探頭測試數(shù)據(jù),然后經(jīng)軟件系統(tǒng)讀取數(shù)據(jù),再經(jīng)二維波形和灰度圖顯示,最終完成一次實(shí)時探測。實(shí)時測試的二維波形與灰度圖如圖7所示。

圖7 實(shí)測二維波形圖與灰度圖顯示

圖7 中,上方波形即為實(shí)時超聲波采樣波形,下方灰度圖即為超聲波探頭距離井壁的距離軌跡,可以通過灰度圖清晰地看出隨著探頭距離井壁的距離變化,其灰度圖軌跡也會實(shí)時地發(fā)生變化。測試表明,此軟件的主要功能達(dá)到預(yù)期效果。

5.2 通信數(shù)據(jù)處理性能測試

在開始試驗(yàn)之前,先準(zhǔn)備好了1000 組,每組8000 個字節(jié)的數(shù)據(jù)通過UDP 傳輸給軟件系統(tǒng)。然后軟件系統(tǒng)再根據(jù)不同的數(shù)據(jù)處理方案,當(dāng)軟件系統(tǒng)運(yùn)用單線程方式進(jìn)行處理時,發(fā)現(xiàn)處理一組數(shù)據(jù)要很長時間,屏幕刷新速度也十分緩慢,而使用多線程輪詢機(jī)制進(jìn)行并發(fā)處理時,執(zhí)行時間大大縮短。多線程數(shù)據(jù)處理比較如表1所示。

表1 多線程數(shù)據(jù)處理比較結(jié)果

由表1 可知隨著線程個數(shù)的變化,實(shí)際數(shù)據(jù)處理時間也隨之變化,當(dāng)選擇線程數(shù)為5 時,能夠得到最好的處理速度。實(shí)驗(yàn)結(jié)果表明,經(jīng)過此種方法改造過的軟件系統(tǒng)接收數(shù)據(jù)的速度快、數(shù)據(jù)丟失率低,可以滿足后期數(shù)據(jù)處理的要求。同時經(jīng)過多線程并發(fā)處理后,數(shù)據(jù)處理速度已經(jīng)達(dá)到實(shí)時顯示與存儲的要求,能夠?qū)K端設(shè)備進(jìn)行更加精確地控制,達(dá)到了預(yù)期的目標(biāo)。

6 結(jié)語

針對團(tuán)隊自主研發(fā)的超聲波成孔檢測設(shè)備,結(jié)合實(shí)際工程需要,在QT 環(huán)境下開發(fā)了超聲波成孔質(zhì)量檢測軟件。通過改變通信數(shù)據(jù)處理方式,把單線程數(shù)據(jù)處理成了多線程輪詢并發(fā)處理方式,使數(shù)據(jù)處理能力大大提高。設(shè)備聯(lián)調(diào)與測量實(shí)驗(yàn)結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定可靠,具有很強(qiáng)的實(shí)時性,其通信數(shù)據(jù)處理方式起到了核心作用。在后續(xù)工作中,考慮到平臺的小型化等實(shí)際需求,將進(jìn)一步對軟件進(jìn)行優(yōu)化,提高系統(tǒng)的穩(wěn)定性和通信數(shù)據(jù)處理的實(shí)時性。

猜你喜歡
數(shù)據(jù)處理檢測
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計法*
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
“幾何圖形”檢測題
“角”檢測題
小波變換在PCB缺陷檢測中的應(yīng)用
MATLAB在化學(xué)工程與工藝實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
主站蜘蛛池模板: av在线手机播放| 日本高清在线看免费观看| 久久一本日韩精品中文字幕屁孩| 亚洲第一天堂无码专区| 真实国产乱子伦视频| 国产精品蜜芽在线观看| 欧美日韩v| 日韩精品一区二区三区swag| 国产福利免费视频| 国产香蕉在线| 不卡视频国产| 五月婷婷精品| 亚洲AⅤ无码国产精品| www.国产福利| 国产人人射| 日韩激情成人| 成人综合网址| 亚洲欧美极品| 99精品热视频这里只有精品7| 欧美福利在线播放| 久久99久久无码毛片一区二区| 国产va在线| 亚洲最黄视频| 青青青伊人色综合久久| 91人妻日韩人妻无码专区精品| 国产簧片免费在线播放| 中文字幕第4页| 国产后式a一视频| 免费人成视网站在线不卡| www.日韩三级| 亚洲欧美国产视频| 日韩午夜片| 免费国产不卡午夜福在线观看| 老司机午夜精品网站在线观看| 2021亚洲精品不卡a| 99久久精品国产自免费| 久久福利网| 久久久久久久久久国产精品| 天天综合亚洲| 巨熟乳波霸若妻中文观看免费| 欧美激情第一欧美在线| 亚洲三级色| 色一情一乱一伦一区二区三区小说| 一级香蕉视频在线观看| 好吊妞欧美视频免费| 91精选国产大片| 亚洲综合极品香蕉久久网| 久久久久无码精品| 亚洲—日韩aV在线| 日韩精品无码一级毛片免费| 漂亮人妻被中出中文字幕久久| 亚洲色欲色欲www在线观看| 在线播放91| 精品国产福利在线| 人人艹人人爽| 一级毛片免费不卡在线| 91亚瑟视频| 国产成人永久免费视频| 福利国产微拍广场一区视频在线 | 免费一级成人毛片| 一区二区三区四区精品视频| 国产午夜一级毛片| аv天堂最新中文在线| 乱系列中文字幕在线视频| 国产精品理论片| 国产精品毛片在线直播完整版| 青草精品视频| 国产日韩精品欧美一区喷| 91精品国产一区| 久草网视频在线| 日韩精品一区二区深田咏美| 97国产精品视频自在拍| 亚洲中文字幕久久无码精品A| 国产拍揄自揄精品视频网站| 无码啪啪精品天堂浪潮av| 欧美精品导航| 亚洲第一成年网| 久久国产精品麻豆系列| 国产精品免费电影| аⅴ资源中文在线天堂| 欧美精品亚洲精品日韩专区va| 午夜视频在线观看区二区|