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

        ?

        基于生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的應(yīng)力波信息采集系統(tǒng)的設(shè)計(jì)

        2016-11-17 08:56:23劉素貞吳延俊楊慶新
        計(jì)算機(jī)測量與控制 2016年9期
        關(guān)鍵詞:消費(fèi)者檢測系統(tǒng)

        劉素貞, 吳延俊, 張 闖, 楊慶新

        (1.河北工業(yè)大學(xué) 電磁場與電器可靠性省部共建重點(diǎn)實(shí)驗(yàn)室,天津 300130;2.天津工業(yè)大學(xué) 電工電能新技術(shù)天津市重點(diǎn)實(shí)驗(yàn)室,天津 300387)

        ?

        基于生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的應(yīng)力波信息采集系統(tǒng)的設(shè)計(jì)

        劉素貞1, 吳延俊1, 張 闖1, 楊慶新2

        (1.河北工業(yè)大學(xué) 電磁場與電器可靠性省部共建重點(diǎn)實(shí)驗(yàn)室,天津 300130;2.天津工業(yè)大學(xué) 電工電能新技術(shù)天津市重點(diǎn)實(shí)驗(yàn)室,天津 300387)

        以LabVIEW14.0為虛擬儀器軟件開發(fā)平臺(tái),采用生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的控制策略、技術(shù)數(shù)據(jù)管理流(TDMS)二進(jìn)制文件儲(chǔ)存策略和SQL數(shù)據(jù)庫及事件結(jié)構(gòu)相結(jié)合的實(shí)時(shí)更新策略,設(shè)計(jì)了集實(shí)時(shí)信息采集、儲(chǔ)存、顯示等功能于一體的應(yīng)力波采集系統(tǒng);3種控制策略相結(jié)合,解決了傳統(tǒng)順序結(jié)構(gòu)設(shè)計(jì)模式下程序循環(huán)周期長、執(zhí)行效率低的問題,而且解決了實(shí)時(shí)采集過程中數(shù)據(jù)的快速、大容量儲(chǔ)存問題,實(shí)現(xiàn)了采集過程中采集參數(shù)的實(shí)時(shí)更新;實(shí)驗(yàn)結(jié)果表明該應(yīng)力波采集系統(tǒng)具有響應(yīng)速度快、執(zhí)行效率高等優(yōu)點(diǎn)。

        虛擬儀器;數(shù)據(jù)采集;生產(chǎn)者/消費(fèi)者;技術(shù)數(shù)據(jù)管理流;數(shù)據(jù)庫; 事件結(jié)構(gòu)

        0 引言

        無損檢測技術(shù)經(jīng)歷一個(gè)世紀(jì)的發(fā)展,雖然它本身不是一種生產(chǎn)技術(shù),但其技術(shù)水平能反映該行業(yè)、該地區(qū)甚至是該國家的工業(yè)技術(shù)水平。據(jù)統(tǒng)計(jì)資料顯示,無損檢測帶來了十分明顯的經(jīng)濟(jì)效益。經(jīng)過無損檢測后,機(jī)械產(chǎn)業(yè)增值5%,國防、宇航產(chǎn)品增值12%-18%??梢姛o損檢測在現(xiàn)代工業(yè)中占有重要的地位[1-3]。近年來,隨著無損檢測技術(shù)的提高,對(duì)無損檢測信號(hào)的采集和處理提出了越來越高的要求,比如檢測過程的自動(dòng)化、操作過程的傻瓜化、信號(hào)分析與處理的智能化[4]。因此,無損檢測儀器的物理功能越來越重要,傳統(tǒng)儀器的固有缺點(diǎn)(如響應(yīng)速度慢、缺乏靈活性、封閉性)不能滿足現(xiàn)代工業(yè)對(duì)無損檢測的要求。另外,被測對(duì)象的頻率范圍越來越寬,要求總線具有相應(yīng)的高速數(shù)據(jù)傳輸能力和靈活的擴(kuò)展能力,于是出現(xiàn)了基于虛擬儀器的無損檢測系統(tǒng)[5-6]。

        在給定計(jì)算機(jī)必要的儀器硬件之后,構(gòu)成和使用虛擬儀器的關(guān)鍵在于軟件。LabVIEW[7]是美國NI公司創(chuàng)建的一個(gè)功能比較完整的軟件開發(fā)環(huán)境,也是目前應(yīng)用最廣泛、發(fā)展最快、功能最強(qiáng)的圖形化編輯軟件開發(fā)環(huán)境。

        許多學(xué)者在基于虛擬儀器的無損檢測系統(tǒng)和生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式方面做了很多研究。文獻(xiàn)[8]對(duì)基于LabVIEW的超聲檢測系統(tǒng)進(jìn)行了研究,完成了實(shí)時(shí)顯示超聲波信號(hào),并且實(shí)現(xiàn)了對(duì)焊縫缺陷的定位。文獻(xiàn)[9]對(duì)基于LabVIEW的電磁超聲數(shù)據(jù)采集與分析系統(tǒng)進(jìn)行了研究,完成了對(duì)信號(hào)的實(shí)時(shí)采集、濾波及其顯示,并實(shí)現(xiàn)了對(duì)信號(hào)的實(shí)時(shí)處理。文獻(xiàn)[10]對(duì)基于虛擬儀器的電磁超聲數(shù)據(jù)采集和分析軟件進(jìn)行了研究。文獻(xiàn)[11]利用LabVIEW實(shí)現(xiàn)了超聲信號(hào)在高采樣率下的實(shí)時(shí)顯示。文獻(xiàn)[12]在LabVIEW編程下,采用生產(chǎn)者與消費(fèi)者并行的結(jié)構(gòu),對(duì)采樣數(shù)據(jù)進(jìn)行了讀取。文獻(xiàn)[13]基于LabVIEW,構(gòu)建了一種利用生產(chǎn)者/消費(fèi)者模式的齒輪傳動(dòng)振動(dòng)檢測系統(tǒng)。文獻(xiàn)[14]基于LabVIEW開發(fā)平臺(tái),介紹了生產(chǎn)者/消費(fèi)者架構(gòu)設(shè)計(jì)思路和實(shí)現(xiàn)過程。文獻(xiàn)[15]闡述了基于生產(chǎn)者/消費(fèi)者模式的鋼軌廓形采集系統(tǒng)設(shè)計(jì)思路和實(shí)現(xiàn)的方法,實(shí)現(xiàn)了圖像采集和圖像處理模塊的并行處理。文獻(xiàn)[16]以LabVIEW為開發(fā)平臺(tái),介紹了生產(chǎn)者/消費(fèi)者程序設(shè)計(jì)思路,并結(jié)合聲卡信號(hào)采集實(shí)例給出了此程序設(shè)計(jì)的過程。

        文獻(xiàn)[8-11]主要研究了基于虛擬儀器的無損檢測系統(tǒng),但其控制策略采用了傳統(tǒng)的循序結(jié)構(gòu)[8-11];文獻(xiàn)[12-16]主要研究了基于虛擬儀器的生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的實(shí)現(xiàn)方法,但并沒有研究如何把該模式應(yīng)用到無損檢測系統(tǒng)中。在上述的研究基礎(chǔ)上,本文結(jié)合生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式、無損采集技術(shù)和虛擬儀器技術(shù),針對(duì)傳統(tǒng)虛擬儀器的控制方案存在的循環(huán)周期長、執(zhí)行效率低、數(shù)據(jù)大容量儲(chǔ)存以及參數(shù)實(shí)時(shí)更新困難等問題,設(shè)計(jì)了采用生產(chǎn)者消費(fèi)者設(shè)計(jì)模式的控制策略、TDMS二進(jìn)制文件儲(chǔ)存策略和SQL數(shù)據(jù)庫及事件結(jié)構(gòu)相結(jié)合的實(shí)時(shí)更新策略的應(yīng)力波無損檢測系統(tǒng)。實(shí)現(xiàn)了對(duì)應(yīng)力波信息的實(shí)時(shí)采集,采集信息的快速、大容量讀取,連續(xù)采集過程的實(shí)時(shí)更新,從根本上解決傳統(tǒng)虛擬儀器存在的問題。

        1 生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式及其實(shí)現(xiàn)

        1.1 生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式

        生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式是多線程編程中最基本的設(shè)計(jì)模式,是事件處理器和隊(duì)列消息處理器相結(jié)合而構(gòu)成的復(fù)合設(shè)計(jì)模式。該設(shè)計(jì)模式包括一個(gè)生產(chǎn)者循環(huán)和多個(gè)消費(fèi)者循環(huán),各個(gè)循環(huán)以不同的速率并行運(yùn)行。生產(chǎn)者循環(huán)作為主循環(huán)控制著所有的消費(fèi)者循環(huán),并且使用通信技術(shù)與它們進(jìn)行通信。生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式將生產(chǎn)和消費(fèi)數(shù)據(jù)速度不同的任務(wù)分開處理,大大提高了不同速率的多個(gè)循環(huán)之間數(shù)據(jù)共享的能力,解決了程序循環(huán)周期長、執(zhí)行效率低等問題,且具有系統(tǒng)響應(yīng)快、執(zhí)行效率高等優(yōu)點(diǎn)。

        1.2 生產(chǎn)者循環(huán)與消費(fèi)者循環(huán)之間的通信

        在LabVIEW中通常采用變量(局部變量和全局變量)、通知器、隊(duì)列實(shí)現(xiàn)在多個(gè)循環(huán)體中的數(shù)據(jù)傳遞。變量其實(shí)就是程序框圖中的元素,可以在任意位置訪問或存儲(chǔ)數(shù)據(jù)。但其存在著數(shù)據(jù)同步困難、破壞LabVIEW的數(shù)據(jù)流模式和讀寫操作時(shí)易產(chǎn)生內(nèi)存拷貝、計(jì)算機(jī)內(nèi)存浪費(fèi)等缺點(diǎn),影響系統(tǒng)運(yùn)行效率,并且變量還存在著出現(xiàn)競爭的危險(xiǎn)。

        通知器和隊(duì)列通常在生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式下傳輸和同步數(shù)據(jù)。使用通知器解決了和競爭狀態(tài)相關(guān)的問題。但通知器不存在緩沖區(qū),易造成數(shù)據(jù)覆蓋或丟失。隊(duì)列比通知器多了緩沖區(qū),故可以存儲(chǔ)多份數(shù)據(jù)。通常情況下,隊(duì)列按照先進(jìn)先出(FIFO)的方式發(fā)出命令,即先插入的數(shù)據(jù),也最先從隊(duì)列中刪除。在應(yīng)力波信息采集過程中,由于需要處理許多用戶界面的事件,為了不造成數(shù)據(jù)丟失,選擇隊(duì)列在各個(gè)循環(huán)之間傳遞數(shù)據(jù),實(shí)現(xiàn)過程如圖1所示。在循環(huán)開始之前,首先使用“獲取隊(duì)列引用”創(chuàng)建‘?dāng)?shù)據(jù)采集’隊(duì)列。隨后使用了兩個(gè)并行的while循環(huán)分別充當(dāng)生產(chǎn)者循環(huán)和消費(fèi)者循環(huán)。在生產(chǎn)者循環(huán)中,使用了事件結(jié)構(gòu)。當(dāng)前面板中布爾變量值改變,相應(yīng)的事件結(jié)構(gòu)動(dòng)作,進(jìn)而通過“元素入隊(duì)列”函數(shù)向隊(duì)列中添加相應(yīng)的事件。在消費(fèi)者循環(huán)中,使用了條件結(jié)構(gòu)。當(dāng)消費(fèi)者循環(huán)時(shí),首先通過“元素出隊(duì)列”函數(shù)獲取隊(duì)列中的事件,然后通過條件結(jié)構(gòu)選擇相應(yīng)的分支。在循環(huán)結(jié)束后,使用“釋放隊(duì)列引用”釋放隊(duì)列??梢姡诖松a(chǎn)者/消費(fèi)者設(shè)計(jì)模式中,兩個(gè)循環(huán)均被同步為與生產(chǎn)者循環(huán)一致。消費(fèi)者循環(huán)只在隊(duì)列中的數(shù)據(jù)可用時(shí)才執(zhí)行,這樣就保證了消費(fèi)者循環(huán)執(zhí)行任務(wù)的連續(xù)性和高效性。

        圖1 生產(chǎn)者消費(fèi)者設(shè)計(jì)模式

        2 采集系統(tǒng)的組成

        應(yīng)力波無損檢測系統(tǒng)的原理如圖2所示。

        圖2 應(yīng)力波無損檢測原理圖

        信號(hào)發(fā)生器產(chǎn)生的信號(hào)經(jīng)過功率放大器后通過激發(fā)探頭在試塊上激發(fā)超聲波,此時(shí),采集卡通過另一側(cè)的接受探頭完成對(duì)超聲波信號(hào)的采集,進(jìn)而通過LabVIEW在PC屏幕上進(jìn)行信號(hào)的顯示以及后續(xù)的處理。圖2中虛框部分為應(yīng)力波信號(hào)采集系統(tǒng)。

        應(yīng)力波采集系統(tǒng)的流程圖如圖3所示。運(yùn)行程序后,首先,初始化參數(shù)設(shè)置面板,使采集卡的各項(xiàng)參數(shù)歸為程序預(yù)先設(shè)置的安全參數(shù),以防過大或者過小的參數(shù)對(duì)采集卡造成不必要的損害。然后打開采集卡,進(jìn)而啟動(dòng)采集卡,如果打開或啟動(dòng)采集卡失敗,將報(bào)錯(cuò)并回到初始化參數(shù)設(shè)置模塊,如果正常運(yùn)行將進(jìn)入空閑狀態(tài),等待虛擬面板的指令。

        在空閑狀態(tài)下有4個(gè)功能可以選擇:讀取數(shù)據(jù)、連續(xù)采集、單次采集、參數(shù)設(shè)置。如在虛擬面板上點(diǎn)擊讀取數(shù)據(jù),前面板將通過對(duì)話框的形式提示輸入將要讀取文件的參數(shù),讀取的數(shù)據(jù)將在前面板波形圖上顯示。如在虛擬面板上點(diǎn)擊連續(xù)采集,程序?qū)⒆詣?dòng)進(jìn)入連續(xù)采集狀態(tài),采集的數(shù)據(jù)在前面板波形圖中連續(xù)顯示。如采集過程中需要設(shè)置參數(shù),可以通過虛擬面板直接對(duì)參數(shù)進(jìn)行設(shè)置。如點(diǎn)擊單次采集按鈕后,程序?qū)⑦M(jìn)行一次數(shù)據(jù)采集。

        圖3 應(yīng)力波信息采集系統(tǒng)的流程圖

        3 應(yīng)力波采集系統(tǒng)的軟件設(shè)計(jì)

        圖4 信息采集程序框圖

        本系統(tǒng)以圖形化編程語言LabVIEW為開發(fā)平臺(tái),采用生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的控制策略以及模塊化的編程思想,完成對(duì)應(yīng)力波信號(hào)的采集。首先,通過VC++6.0完成對(duì)采集卡DLL動(dòng)態(tài)鏈接庫的編寫。其次,通過LabVIEW自帶的調(diào)用函數(shù)庫節(jié)點(diǎn)CLN(Call Library Function Node)調(diào)用DLL動(dòng)態(tài)鏈接庫函數(shù)實(shí)現(xiàn)PC對(duì)采集的控制。再次,通過LabVIEW對(duì)各模塊的調(diào)用,完成對(duì)采集卡采集數(shù)據(jù)的顯示、儲(chǔ)存、調(diào)用、打印等。其中利用SQL數(shù)據(jù)庫和事件結(jié)構(gòu),實(shí)現(xiàn)了對(duì)采集參數(shù)的實(shí)時(shí)更新。利用TDMS(Technical Document Management System)實(shí)現(xiàn)了對(duì)采集數(shù)據(jù)的儲(chǔ)存和讀取。

        3.1 功能模塊的設(shè)計(jì)

        在設(shè)計(jì)過程中,遵循由上至下的設(shè)計(jì)方法,首先根據(jù)系統(tǒng)的總體需求,將系統(tǒng)劃分為幾個(gè)功能模塊:數(shù)據(jù)采集模塊、數(shù)據(jù)儲(chǔ)存模塊、數(shù)據(jù)讀取模塊、參數(shù)更新模塊、數(shù)據(jù)分析模塊。由于采用了模塊化的設(shè)計(jì)思路,當(dāng)需要添加新的功能時(shí),只需要將新的功能模塊加入到系統(tǒng)中即可,這使得系統(tǒng)的擴(kuò)充性提高,充分體現(xiàn)了“軟件就是儀器"。

        3.1.1 數(shù)據(jù)采集模塊

        數(shù)據(jù)采集卡是應(yīng)力波采集系統(tǒng)的重要組成部分,本系統(tǒng)采用的是汕頭超聲CTS04-PC多通道采集卡。此采集卡是基于計(jì)算機(jī)標(biāo)準(zhǔn)PCI總線制作的一種工業(yè)超聲檢測設(shè)置,可安裝在臺(tái)式計(jì)算機(jī)或者工控機(jī)的PCI插槽中使用,該卡具有4個(gè)超聲工作通道,亦可根據(jù)實(shí)際檢測的需要多卡級(jí)連,構(gòu)成4-32或者更多通道的自動(dòng)化超聲探傷系統(tǒng),應(yīng)用于工業(yè)無損檢測的各種不同領(lǐng)域,尤其是多通道自動(dòng)采集、多通道超聲成像方面。

        LabVIEW驅(qū)動(dòng)程序庫中提供的驅(qū)動(dòng)程序僅面對(duì)NI公司生產(chǎn)的板卡和少數(shù)公司開發(fā)支持的LabVIEW平臺(tái)的板卡。本系統(tǒng)使用的CTS04-PC板卡屬于普通板卡,不能在LabVIEW環(huán)境下直接驅(qū)動(dòng)。

        目前,在LabVIEW語言開發(fā)環(huán)境下實(shí)現(xiàn)程序和普通采集卡交換數(shù)據(jù)的方式有端口直接操作、使用外部代碼節(jié)點(diǎn)CIN(code interface node)、調(diào)用動(dòng)態(tài)鏈接庫DLL(dynamic link library)等3種方式。本系統(tǒng)設(shè)計(jì)中采用DLL實(shí)現(xiàn)采集卡的驅(qū)動(dòng),而且一般廠家的普通采集卡都帶有DLL形式的驅(qū)動(dòng)程序。在LabVIEW編程語言中,可以通過調(diào)用函數(shù)庫節(jié)點(diǎn)CLN(call library function node)完成對(duì)DLL的調(diào)用。

        綜合DLL動(dòng)態(tài)鏈接庫的編寫、LabVIEW調(diào)用函數(shù)庫節(jié)點(diǎn)CLN對(duì)DLL的調(diào)用等技術(shù),編寫了數(shù)據(jù)采集模塊,程序框圖如圖4所示。

        在程序空閑狀態(tài)下,當(dāng)在虛擬面板上按下數(shù)據(jù)采集按鈕,在生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式下,生產(chǎn)者提供連續(xù)采集的命令、消費(fèi)者接收連續(xù)采集的命令后,圖4所示的程序開始運(yùn)行。其工作流程如圖5所示。

        當(dāng)獲取采集命令后,進(jìn)入數(shù)據(jù)采集模塊。首先通過SQL數(shù)據(jù)庫獲取控制面板上的參數(shù)。然后根據(jù)相應(yīng)的參數(shù)(采集卡號(hào)、通道號(hào)),輸出相應(yīng)采集卡、通道的波形數(shù)據(jù);最后再利用構(gòu)建波形模塊,以及先前得到的控制面板的參數(shù)(位移,范圍)構(gòu)建波形并通過波形圖在前面板上顯示。

        圖5 數(shù)據(jù)采集模塊的流程圖

        3.1.2 參數(shù)實(shí)時(shí)更新模塊

        在數(shù)據(jù)采集過程中,為了實(shí)時(shí)顯示不同參數(shù)下應(yīng)力波的波形,參數(shù)的實(shí)時(shí)更新變得尤為重要。在一些數(shù)據(jù)采集系統(tǒng)中,當(dāng)數(shù)據(jù)連續(xù)采集過程時(shí),參數(shù)通常不可以改變。當(dāng)采集不同參數(shù)下的波形時(shí),需要停止采集程序后設(shè)置,浪費(fèi)了時(shí)間。本設(shè)計(jì)系統(tǒng)通過SQL數(shù)據(jù)庫和事件結(jié)構(gòu)相結(jié)合的控制策略完成了連續(xù)采集過程中參數(shù)的實(shí)時(shí)更新功能,其程序框圖如圖6所示。

        在數(shù)據(jù)采集過程中,當(dāng)控制面板上十六個(gè)參數(shù)中任一參數(shù)改變時(shí),都會(huì)引起事件結(jié)構(gòu)動(dòng)作,進(jìn)而通過相應(yīng)的參數(shù)設(shè)置模塊設(shè)置采集卡內(nèi)的參數(shù)。如在數(shù)據(jù)采集過程中,當(dāng)前面板的卡號(hào)由原來的1號(hào)卡改變成2號(hào)卡,此時(shí)事件結(jié)構(gòu)中“‘控制面板,卡號(hào):值’改變”分支動(dòng)作。此后通過事件結(jié)構(gòu)中的新值和設(shè)置卡號(hào)模塊更新采集卡和控制面板的參數(shù)。

        圖6 參數(shù)實(shí)時(shí)更新程序框圖

        3.1.3 數(shù)據(jù)儲(chǔ)存模塊

        在數(shù)據(jù)連續(xù)采集過程中,對(duì)數(shù)據(jù)儲(chǔ)存有數(shù)據(jù)量大、儲(chǔ)存速度快等要求,一般的數(shù)據(jù)儲(chǔ)存策略難以滿足此類要求。NI公司開發(fā)的二進(jìn)制文件TDMS文件,具有高速、大存取和方便等多種優(yōu)勢,并與LabVIEW無縫支持。故本系統(tǒng)采用TDMS文件儲(chǔ)存策略,其程序框圖如圖7所示。

        圖7 數(shù)據(jù)儲(chǔ)存程序框圖

        首先通過TDMS打開.vi創(chuàng)建新的TDMS文件,其中通過路徑設(shè)置程序確定新創(chuàng)建的TDMS文件的存儲(chǔ)路徑。為了區(qū)分不同文件,使用文件命名模塊(自動(dòng)生成帶有時(shí)間標(biāo)識(shí)符的文本)定義TDMS文件的名稱。進(jìn)而通過TDMS寫入.vi把波形文件寫入,卡號(hào)和通道號(hào)的組合定義了TDMS文件的組命名。最后通過TDMS關(guān)閉.vi完成對(duì)數(shù)據(jù)的儲(chǔ)存。

        3.2 生產(chǎn)者消費(fèi)者模式在應(yīng)力波采集系統(tǒng)的實(shí)現(xiàn)

        主程序框圖如圖8所示。在循環(huán)開始之前,首先使用“獲取隊(duì)列引用”函數(shù)創(chuàng)建消息隊(duì)列,生產(chǎn)者使用“元素入隊(duì)列函數(shù)”向隊(duì)列中添加元素,消費(fèi)者使用“元素出隊(duì)列”函數(shù)從隊(duì)列中獲取元素并移除數(shù)據(jù)。

        圖8 主程序框圖

        在程序的空閑狀態(tài)下,當(dāng)點(diǎn)擊虛擬面板上單次采集按鈕,時(shí)間結(jié)構(gòu)中“單次采集值改變”分支動(dòng)作,枚舉類型的單次采集變量通過“元素入隊(duì)列”函數(shù)向數(shù)據(jù)采集隊(duì)列添加了‘單次采集’元素。同時(shí)在消費(fèi)者循環(huán)中,通過“元素出隊(duì)列函數(shù)”獲取了枚舉類型的‘單次采集’元素,然后通過條件結(jié)構(gòu)選擇單次采集條件分支,運(yùn)行單次采集模塊,從而完成對(duì)數(shù)據(jù)的顯示。

        在程序創(chuàng)建消息隊(duì)列后,通過以條件結(jié)構(gòu)為基礎(chǔ)的狀態(tài)機(jī)制完成對(duì)采集卡、控制面板、虛擬面板按鈕的初始化,進(jìn)而進(jìn)入條件結(jié)構(gòu)下的空閑狀態(tài),等待虛擬面板按鈕的響應(yīng)。在條件結(jié)構(gòu)的空閑分支內(nèi)為事件結(jié)構(gòu)的生產(chǎn)者模式。

        該設(shè)計(jì)模式允許消費(fèi)者以固有速度采集數(shù)據(jù)的同時(shí),生產(chǎn)者循環(huán)完成對(duì)用戶界面的響應(yīng)。此前介紹的實(shí)時(shí)參數(shù)更新模塊就是利用了生產(chǎn)者消費(fèi)者這一特點(diǎn)。

        當(dāng)需要增加軟件的功能時(shí),只需更改枚舉變量,在生產(chǎn)者循環(huán)中增加事件結(jié)構(gòu),在消費(fèi)者循環(huán)中增加條件結(jié)構(gòu),并在條件結(jié)構(gòu)中增加響應(yīng)的功能模塊。

        在程序運(yùn)行過程中,為了防止誤按或者錯(cuò)按按鈕,從而帶來不必要的損失。此系統(tǒng)采用布爾控件可見不可見的方法,實(shí)現(xiàn)對(duì)程序的自鎖或互鎖。

        4 系統(tǒng)運(yùn)行實(shí)驗(yàn)

        為了驗(yàn)證基于生產(chǎn)者消費(fèi)者設(shè)計(jì)模式的應(yīng)力波檢測系統(tǒng)的性能,對(duì)厚度為20 mm的鋁板進(jìn)行連續(xù)的數(shù)據(jù)采集實(shí)驗(yàn)。在采集過程中,進(jìn)行參數(shù)的實(shí)時(shí)更新和數(shù)據(jù)的儲(chǔ)存。其中采集卡的工作狀態(tài)是單發(fā)單收,參數(shù)設(shè)置為:幀壓縮比為1:1,增益30 dB,驗(yàn)波方式為射頻,波形顯示范圍為40 μs。

        運(yùn)行程序后,在前面板的狀態(tài)顯示區(qū)顯示采集卡1、2的運(yùn)行狀態(tài)(燈亮表示正在運(yùn)行),采集卡的數(shù)目和采集次數(shù)。在參數(shù)設(shè)置區(qū)域,可以對(duì)采集過程中的參數(shù)進(jìn)行設(shè)置(其中顯示的參數(shù)為初始化參數(shù))。在設(shè)備控制區(qū)域顯示著虛擬控制按鈕,其中按鈕根據(jù)程序的不同階段進(jìn)行不同的顯示。比如在程序的等待過程中,顯示實(shí)時(shí)采集、外部觸發(fā)采集、單次采集、停止、數(shù)據(jù)讀取按鈕。但當(dāng)點(diǎn)擊實(shí)時(shí)采集按鈕后,程序進(jìn)入實(shí)時(shí)采集,按鈕顯示為暫定、觸發(fā)保存和濾波。此方法很好地解決了程序運(yùn)行過程中設(shè)備控制的誤操作問題。

        連續(xù)采集的波形如圖9所示。其中第一個(gè)波包為基波,后面的波包依次為鋁板的底面回波。

        圖9 應(yīng)力波無損采集系統(tǒng)的前面板

        在連續(xù)采集過程中,進(jìn)行了參數(shù)實(shí)時(shí)更新功能和數(shù)據(jù)儲(chǔ)存功能的驗(yàn)證。實(shí)驗(yàn)結(jié)果表明:在實(shí)時(shí)采集過程中,可以實(shí)時(shí)地更新采集的參數(shù)和保存采集的數(shù)據(jù)。

        5 總結(jié)

        本文采用生產(chǎn)者-消費(fèi)者設(shè)計(jì)模式的控制策略設(shè)計(jì)了應(yīng)力波數(shù)據(jù)采集系統(tǒng),解決了傳統(tǒng)順序結(jié)構(gòu)存在的程序循環(huán)周期長、執(zhí)行效率低、增加功能困難等問題。在數(shù)據(jù)儲(chǔ)存方面應(yīng)用了NI公司開發(fā)的二進(jìn)制文件TDMS文件,具有快速、儲(chǔ)存量大、方便等優(yōu)勢,為以后數(shù)據(jù)的分析處理帶來便利。并使用SQL數(shù)據(jù)庫和事件結(jié)構(gòu)的相結(jié)合的方法,在連續(xù)采集過程中實(shí)現(xiàn)參數(shù)的實(shí)時(shí)更新。本文的研究為應(yīng)力波無損檢測系統(tǒng)操作的傻瓜化、數(shù)據(jù)分析和處理的智能化奠定了基礎(chǔ)。

        [1] 施克仁.無損檢測新技術(shù)[M].北京:清華大學(xué)出版社,2007.

        [2] 羅雄彪,陳鐵群.超聲無損檢測的發(fā)展趨勢[J].無損探傷,2004, 8(3):1-4.

        [3] 沈功田.中國無損檢測與評(píng)價(jià)技術(shù)的進(jìn)展[A].第17屆世界無損檢測會(huì)議專題報(bào)告[C].上海,2008:787-793.

        [4] 李 鐵,劉時(shí)風(fēng),李路明.基于LabVIEW的虛擬儀器技術(shù)在無損檢測中的應(yīng)用[J].無損檢測,2001:23(6):240-242, 248.

        [5] National Instruments Corporation. LabVIEW Analysis Concepts[Z].US,National Instruments Corporation,2004.

        [6] National Instruments Corporation. NI Vision for LabVIEW User Manual[Z].US,National Instruments Corporation,2005.

        [7] Jeffrey Travis,JimKring. LabVIEW for Everyone [M].New Jersey:Prentice Hall PTR,2008.

        [8] 馬宏偉,王華玲,李海寧.基于LabVIEW的超聲檢測虛擬儀器開發(fā)[J].儀器儀表學(xué)報(bào),2006,27(s3):1785-1787.

        [9] 陳 鵬,蔡強(qiáng)富,劉美全,等.基于LabVIEW的電磁超聲數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2013,21(3):816-818.

        [10] 王 珅,黃松嶺,趙 偉.基于虛擬儀器技術(shù)的電磁超聲數(shù)據(jù)采集和分析軟件設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(5):37-39.

        [11] 耿曉琪,張欽宇.基于LabVIEW超聲信號(hào)的數(shù)據(jù)采集系統(tǒng)[J].微計(jì)算機(jī)信息,2008,24(10-1):141-143.

        [12] 李羽翠,姚運(yùn)萍.基于LabVIEW的心電采集分析系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2015,7:174-176.

        [13] 唐進(jìn)元,李 松,邵 文.基于LabVIEW生產(chǎn)者-消費(fèi)者模式的齒輪傳動(dòng)振動(dòng)測試系統(tǒng)[J].機(jī)械傳動(dòng),2011,35(1):5-7.

        [14] 雷晏瑤,李 智.基于生產(chǎn)者/消費(fèi)者的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用技術(shù),2011,38(9):39-43.

        [15] 王 健,胥燕軍,王偉平,等.基于生產(chǎn)者/消費(fèi)者模式的鋼軌輪廓采集系統(tǒng)[J].中國鐵路,2014,74-76.

        [16] 王維喜,李 智.基于生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式的連續(xù)音頻信號(hào)采集系統(tǒng)[J].現(xiàn)代電子技術(shù),2009(7): 129-132.

        Design of Stress Wave Information Acquisition System Based on Producer/Consumer Design Pattern

        Liu Suzhen1, Wu Yanjun1, Zhang Chuang1, Yang Qingxin2

        (1.Province-Ministry Joint Key Laboratory of Electromagnetic Field and Electrical Apparatus Reliability, Hebei University of Technology, Tianjin 300130; China; 2.Key Laboratory of Advanced Electrical Engineering and Energy Technology, Tianjin Polytechnic University, Tianjin 300387, China)

        The stress wave information acquisition system which bases on the virtual instrument software development platform of LabVIEW 14.0 and combines some strategies, including producer/consumer design pattern control strategy, TDMS binary file storage strategy and the real-time updating strategy with the combination between SQL database and event structure, is designed. This system realizes real time stress wave information acquisition, storing, displaying, and other functions. The combination of three control strategies overcomes the problems which the long execution cycle and low efficiency in traditional sequential structure and realizes fast, large capacity storage in the process of real time acquistion. At the same time, it also implements the acquisition parameters updating in real time.The experimental results show that the stress wave acquisition system has advantages of fast response speed, high execution efficiency and so on.

        virtual instrument; date acquisition; producer/consumer design pattern; technical document management system(TDMS); SQL database; event structure

        2016-03-09;

        2016-04-25。

        國家自然科學(xué)基金資助項(xiàng)目(51307043);河北省自然科學(xué)基金資助項(xiàng)目(E2016202260)。

        劉素貞(1969-),女,河北大城人,博士,教授,博士生導(dǎo)師,主要從事工程電磁場與磁技術(shù)方向的研究。

        1671-4598(2016)09-0198-05

        10.16526/j.cnki.11-4762/tp.2016.09.056

        TP311.1

        A

        猜你喜歡
        消費(fèi)者檢測系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        消費(fèi)者網(wǎng)上購物六注意
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        知識(shí)付費(fèi)消費(fèi)者
        悄悄偷走消費(fèi)者的創(chuàng)意
        久久与欧美视频| 丰满少妇呻吟高潮经历| 丰满少妇被猛烈进入| 无码精品一区二区免费AV| 在线看片免费人成视久网不卡| 少妇被粗大猛进进出出| 精品亚洲一区二区三洲| 国产成人av在线免播放观看新| 久久久www成人免费无遮挡大片| 国产亚洲AV天天夜夜无码| 视频国产一区二区在线| 国产爆乳美女娇喘呻吟| 国产剧情麻豆女教师在线观看| 免费观看久久精品日本视频| 一区二区三区亚洲免费| 高h喷水荡肉爽文np肉色学校| 国产第一页屁屁影院| 日韩少妇无码一区二区免费视频 | 极品 在线 视频 大陆 国产| 欧美精品高清在线xxxx| 乳乱中文字幕熟女熟妇| 国产综合精品一区二区三区| 精精国产xxxx视频在线播放| 乱人伦中文字幕成人网站在线| 青春草在线视频精品| 国产免费人成视频在线观看| 色欲综合一区二区三区| 亚洲一区爱区精品无码| 伊人影院在线观看不卡| 国产毛片精品av一区二区| 国产午夜在线视频观看| 免费超爽大片黄| 国产一区免费观看| 国产成版人性视频免费版| 乱码窝窝久久国产无人精品| 中文字幕精品一二三四五六七八| 久草热这里只有精品在线| 亚洲精品一区二区成人精品网站| 国产亚洲精品精品精品| 欧美黄色免费看| 亚洲激情一区二区三区视频|