国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

聲級計電性能自動檢定系統(tǒng)的設(shè)計與實現(xiàn)

2021-08-23 09:08葉俊浩桑帥軍
計算機測量與控制 2021年8期
關(guān)鍵詞:隊列串口消息

葉俊浩,王 英,桑帥軍

(1.浙江理工大學(xué) 機械與自動控制學(xué)院,杭州 310018;2.浙江省計量科學(xué)研究院,杭州 310018)

0 引言

聲級計作為測量和評估噪聲水平的最常見的儀器使用場所廣泛[1],在環(huán)境保護、勞動衛(wèi)生、科研教學(xué)和工業(yè)企業(yè)等領(lǐng)域都可以見到,其準確性直接影響了被測產(chǎn)品的噪聲顯示大小,工作場所噪聲是否合格,環(huán)境噪聲是否超過限定值,科研數(shù)據(jù)的可信度等[2]。

聲級計的檢定工作依據(jù)國家頒布的JJG 188-2017《聲級計檢定規(guī)程》進行[3],一般檢定聲級計所需要操作的儀器包括有聲校準器、標準傳聲器、測量放大器、正弦信號發(fā)生器、猝發(fā)音發(fā)生器、高精密級衰減器等,因為檢定標準器構(gòu)成復(fù)雜,配置型號、各環(huán)節(jié)精度不同,以致當(dāng)前國內(nèi)具有聲級計檢定能力的實驗室其聲級計的檢定大部分依然是手工檢定,檢定過程繁瑣,工作效率低。在人們對噪聲污染越來越重視的大環(huán)境下,送檢的聲級計日益增多,省級計量院檢定任務(wù)繁重,傳統(tǒng)的作業(yè)方式已經(jīng)很難應(yīng)付[4],因此迫切需要一套聲級計自動檢定系統(tǒng),以減輕檢定人員的工作量,提高檢定效率和準確度。

現(xiàn)有自動檢定方法例如有:萬江基于STM32單片機設(shè)計了多功能聲級計校準系統(tǒng)[5],限于單片機處理能力和儲存能力,檢定項目不完全,檢定對象有限;華南理工大學(xué)何卓斌設(shè)計的一套基于LabVIEW的聲級計檢定系統(tǒng)已經(jīng)做得較完備,雖然不需要檢測員在手動的操作信號發(fā)生器,但是還是需要人工進行讀數(shù)以及操作聲級計,檢測員用肉眼觀察很容易出現(xiàn)錯誤,該系統(tǒng)只是將繁瑣的按鍵簡化,并沒有真正的達到自動化[6];杭州愛華儀器有限公司錢利軍開發(fā)的一套聲級計頻率計權(quán)項目的檢定系統(tǒng)[7],雖然提高了檢定的效率,但僅能檢定頻率計權(quán)項目,還有很多其他檢定項目沒有覆蓋。云南國防區(qū)域計量站朱德壽[8]提出一種基于PULSE系統(tǒng)的聲級計檢定系統(tǒng),是目前自動化程度最高、檢測能力覆蓋聲級計種類最多的自動檢定系統(tǒng),但是該系統(tǒng)的價格非常的昂貴難以推廣應(yīng)用。

綜上所述,聲級計的自動檢定還遠遠不能達到計量部門的需求,本文擬基于虛擬儀器技術(shù)設(shè)計聲級計自動檢定系統(tǒng),使其完成標準設(shè)備和聲級計的自動控制和檢定數(shù)據(jù)采集、數(shù)據(jù)分析處理、合格判定、檢定數(shù)據(jù)記錄、檢定原始記錄報告自動生成等工作,提升聲級計自動檢定能力,提高聲級計計量效率,減少人為誤差。

1 系統(tǒng)組成和原理

1.1 系統(tǒng)組成

根據(jù)日常送檢聲級計數(shù)量的實際情況,本文檢定對象選用杭州愛華儀器有限公司AWA5661系列聲級計。系統(tǒng)硬件由工控計算機、標準信號源(KeySight33520B)、程控精密衰減器及待檢聲級計組成,主要硬件指標如表1所示。以多串口工控計算機為控制核心,采用數(shù)據(jù)總線結(jié)構(gòu),實現(xiàn)對標準儀器和待檢聲級計的同步控制。

表1 系統(tǒng)硬件指標

1.2 工作原理

聲級計自動檢定的實現(xiàn)需要滿足兩個條件:1)控制標準信號源輸出標準待檢信號幅值、頻率以及波形的自動調(diào)節(jié),但限于標準信號源幅值動態(tài)范圍限制,需要增加精密衰減器以滿足對聲級計部分檢定項目的需求;2)聲級計的控制和響應(yīng)的讀取。

如圖1所示,程控精密衰減器與標準信號源(KeySight33520B)以及待檢聲級計通過BNC電纜相連接,再分別通過數(shù)據(jù)傳輸線連接至工控計算機實現(xiàn)通訊。

圖1 硬件連接示意圖

自動檢定系統(tǒng)通過串口按照聲級計檢定規(guī)程要求對標準設(shè)備觸發(fā)以產(chǎn)生待檢定標準信號,通過BNC電纜把標準信號發(fā)送到聲級計。聲級計接收到信號后,等到示數(shù)穩(wěn)定以后將數(shù)據(jù)通過串口發(fā)送回自動檢定系統(tǒng)。自動檢定系統(tǒng)在接收到返回數(shù)據(jù)以后先對數(shù)據(jù)進行解碼,再依據(jù)規(guī)程中的要求進行分析、處理和顯示,重復(fù)上述操作,直到獲得最后一個檢定結(jié)果。系統(tǒng)同共包含了聲級計檢定的六個項目分別為頻率計權(quán)(電信號)、自噪聲、級線性、時間計權(quán)、1 kHz處的頻率計權(quán)、單個猝發(fā)音響應(yīng),共計40多個檢定點。

2 系統(tǒng)軟件

聲級計自動檢定系統(tǒng)的實現(xiàn)除了硬件之間的連接通訊,更重要的是軟件功能的實現(xiàn)。LabVIEW作為一款圖形化的編程軟件[9],與一般的文本編程語言有很大的區(qū)別,內(nèi)部集成了大量簡易且功能強大的工具包,是計量測試領(lǐng)域的有力開發(fā)工具,能夠很好地完成儀器控制以及數(shù)據(jù)采集,實現(xiàn)檢定規(guī)程所規(guī)定的檢定流程[10]。

2.1 系統(tǒng)軟件總體設(shè)計

系統(tǒng)軟件主要分為3層,最上層為主程序,中間層為功能模塊,底部驅(qū)動層為儀器控制驅(qū)動、消息隊列傳輸驅(qū)動[8]。整體程序結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)軟件總體結(jié)構(gòu)示意圖

1)初始化設(shè)置模塊,主要實現(xiàn)各儀器串口配置、待檢聲級計基本信息和檢定地點環(huán)境條件錄入、檢定項目的選擇等。

2)數(shù)據(jù)處理顯示模塊,主要實現(xiàn)聲級計反饋數(shù)據(jù)的誤差判斷以及數(shù)據(jù)在系統(tǒng)主界面的顯示。

3)數(shù)據(jù)采集模塊,主要是對信號發(fā)生器、程控精密衰減器、聲級計的控制,以復(fù)現(xiàn)檢定規(guī)程中各個檢定項目的流程。

4)報告生成模塊,主要實現(xiàn)檢定結(jié)果寫入Excel原始數(shù)據(jù)記錄報告中。

程序運行的流程如圖3所示,程序開始運行后先配置好通訊串口,然后發(fā)送命令測試儀器設(shè)備與工控計算機之間的通訊是否正常,等待測試通訊正常以后開始按照檢定規(guī)程規(guī)定的檢定項目逐個進行檢定,與此同時,每檢定完一個項目對數(shù)據(jù)進行處理分析,判斷是否合格,顯示在程序主界面上。在所有檢定項目完成以后,若存在不合格的項目,工作人員可以選擇重新檢測該項目,以提高系統(tǒng)的容錯率,最后保存數(shù)據(jù)生成檢定報告。

圖3 系統(tǒng)軟件流程圖

2.2 主程序

編寫完成軟件界面如圖4所示,在系統(tǒng)運行前,檢定人員先在程序前面板上配置好儀器設(shè)備的通訊串口,輸入聲級計的基本信息以及實驗室環(huán)境條件。然后選擇所需要檢定的項目,點擊開始檢定按鈕,系統(tǒng)開始檢定,此時開始檢定按鈕和保存按鈕會被禁用,防止檢定人員誤觸。每檢定完一個項目,結(jié)果會顯示在右側(cè)表格中并且判斷該結(jié)果是否合格,便于檢定人員查看。

圖4 軟件主界面

本系統(tǒng)主要實現(xiàn)數(shù)據(jù)采集、處理、顯示以及保存等自動化控制流程,是典型的面向過程的設(shè)計,但是各個過程運行并不同步,為提高運行效率,系統(tǒng)主程序采用異步多循環(huán)的“生產(chǎn)者/消費者”設(shè)計模式,通過消息隊列(Message Queue)作為數(shù)據(jù)緩沖區(qū)[11],將采集、處理、顯示及保存分開處理,消息隊列完成模塊之間的數(shù)據(jù)交互,使各個模塊之間的耦合降低,減少模塊之間的依賴,以提高程序的執(zhí)行效率。

主程序如圖5所示。主要包括以下5個循環(huán):

圖5 主程序框圖

1)UI事件處理,消息的“生產(chǎn)者”,是捕捉用戶在前面板按鈕動作事件生成消息的事件處理循環(huán),并將生成的消息寫入消息隊列。

2)消息處理循環(huán),從事件處理循環(huán)接收處理消息并通過消息隊列發(fā)送響應(yīng)消息至其他的消息處理循環(huán)(MHL)。

3)采集數(shù)據(jù)循環(huán),連續(xù)響應(yīng)數(shù)據(jù)的MHL,采集到響應(yīng)數(shù)據(jù)解碼處理以后寫入消息隊列,分別發(fā)送至記錄數(shù)據(jù)循環(huán)以及顯示數(shù)據(jù)循環(huán)。

4)記錄數(shù)據(jù)循環(huán),連續(xù)記錄響應(yīng)數(shù)據(jù)的MHL,從消息隊列中獲取響應(yīng)數(shù)據(jù)并記錄。

5)顯示數(shù)據(jù)循環(huán),用采集數(shù)據(jù)顯示的MHL。從消息隊列獲取到響應(yīng)數(shù)據(jù),分析判斷是否超差后顯示在程序主界面上。

各個循環(huán)通過消息隊列傳遞消息,保證各自的獨立性以及消息的連續(xù)性,有效的防止了用戶指令和數(shù)據(jù)的丟失,保證在程序運行過程中數(shù)據(jù)的同步性與完整性。

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

數(shù)據(jù)采集模塊主要是通過對標準信號源、程控精密衰減器和待檢聲級計的控制復(fù)現(xiàn)聲級計檢定規(guī)程中的流程。

系統(tǒng)按照聲級計檢定規(guī)程所要求的6個檢定項目分別建立獨立的功能模塊,通過隊列狀態(tài)機實現(xiàn)。根據(jù)檢定規(guī)程,不同的檢定項目對聲級計的模式、初始顯示聲壓級以及輸入信號的幅值、頻率、波形都有不同的要求,在檢定開始時先要將聲級計調(diào)至相應(yīng)的模式,然后調(diào)節(jié)輸入信號使聲級計達到所要求的聲壓級后開始檢定,重復(fù)上述步驟,逐一測試各個檢定點,直至所有檢定點都完成。圖6為檢定單個項目的基本流程,例如單個猝發(fā)音響應(yīng)項目一個檢定點的流程為“先用標準信號源產(chǎn)生一個4 kHz的正弦信號,使程控精密衰減器衰減器衰減幅度調(diào)節(jié)為0 dB;調(diào)節(jié)輸入信號幅值使待檢聲級計顯示聲壓級為測量上限以下3 dB,然后標準信號源發(fā)出4 kHz的猝發(fā)音信號,將聲級計設(shè)定至相應(yīng)檔位,讀取聲級計響應(yīng)數(shù)據(jù),取這個變化過程中的最大值與相應(yīng)穩(wěn)態(tài)正弦信號的顯示聲級的差值即為單個猝發(fā)音響應(yīng)的結(jié)果?!?/p>

圖6 單個檢定項目運行流程圖

2.4 報告生成模塊

借助LabVIEW的Report Generation工具包,將檢點地點環(huán)境條件等檢定基本信息和檢定結(jié)果錄入原始數(shù)據(jù)記錄報告Excel模板中。調(diào)用Excel的一般流程為新建報表,數(shù)據(jù)寫入報表,保存報表至文件,處置報表。在工作人員在前面板點擊“保存”鍵以后,數(shù)據(jù)采集循環(huán)通過消息隊列將檢定結(jié)果以數(shù)組的形式傳輸至該模塊,圖7為檢定數(shù)據(jù)寫入報表過程,將檢定數(shù)據(jù)數(shù)組的值索引出來后通過隊列狀態(tài)機分別寫入模板中所指定的單元格。

圖7 數(shù)據(jù)寫入報表部分程序框圖

2.5 驅(qū)動層

2.5.1 儀器控制驅(qū)動

儀器設(shè)備的驅(qū)動有以下兩種:

1)標準信號源和待檢聲級計的控制基于LabVIEW中的VISA(virtual instruments software architecture)庫函數(shù)。通過VISA用戶能與大多數(shù)儀器總線連接,無論底層是何種硬件接口,用戶只需要面對統(tǒng)一的編程接口VISA。

程序中所使用的VISA函數(shù)是:VISA配置串口、VISA寫入、VISA讀取和VISA關(guān)閉。應(yīng)用VISA寫入函數(shù)將控制標準信號源、待檢聲級計的指令通過串口發(fā)送至儀器設(shè)備,設(shè)備接收命令后解析,然后做出相應(yīng)的響應(yīng);應(yīng)用VISA讀取函數(shù)將聲級計響應(yīng)數(shù)據(jù)通過RS232串口發(fā)送至系統(tǒng),VISA讀取函數(shù)調(diào)用時需要設(shè)置好讀取緩沖區(qū)的字節(jié)數(shù),不確定儀器返回多少字節(jié)的數(shù)據(jù)時,在讀取過程可能會引發(fā)數(shù)據(jù)過量溢出或者超時等待,導(dǎo)致程序出錯,因此在讀取前加入“Bytes at Port”串口屬性節(jié)點,這個屬性節(jié)點能夠讀取當(dāng)前串口緩沖區(qū)有多少字節(jié)數(shù),然后將它的輸出端連接到VISA讀取函數(shù)的“讀取字節(jié)數(shù)”這個輸入端上,這樣緩沖區(qū)有多少個字節(jié)的數(shù)據(jù)就讀回多少,不會有數(shù)據(jù)溢出和超時等待。圖6為讀取一個聲級計響應(yīng)數(shù)據(jù)的基本程序,經(jīng)過測試,在寫入讀取指令后,需加一個100 ms的延時,給聲級計一個響應(yīng)時間,再讀取響應(yīng)數(shù)據(jù),以保證讀取無誤。完成讀取后調(diào)用VISA關(guān)閉函數(shù),釋放通訊的串口資源。通過聲級計響應(yīng)讀取VI讀取聲級計的響應(yīng)之后,由正則表達式對響應(yīng)數(shù)據(jù)解碼,提取所需要的數(shù)據(jù),入消息隊列,等待進一步的處理。

2)程控精密衰減器的控制程序由VC語言編寫,生成動態(tài)鏈接庫(DLL,dynamic link library)通過LabVIEW中的Ac-tiveX接口調(diào)用。動態(tài)鏈接庫DLL中包含了兩塊內(nèi)容:一是DllGetClassObject,Dll-CanUnloadNow, DllRegisterServer,Dll-UnregisterServer四個函數(shù)完成一個進程內(nèi)的COM(component object model)組件,實現(xiàn)與工控計算機的連接通訊;二是工控計算機控制程控精密衰減器內(nèi)部數(shù)字IO控制卡,切換電阻網(wǎng)絡(luò)以改變函數(shù)信號幅值衰減幅度的方法。

在工控計算機注冊好DllRegisterS-erver后,應(yīng)用ActiveX接口調(diào)用動態(tài)鏈接庫中封裝好的方法[12]。圖8為LabVIEW調(diào)用動態(tài)鏈接庫的基本程序,先打開自動化引用寫入動態(tài)鏈接庫的引用句柄,接著調(diào)用動態(tài)鏈接庫中的方法,最后關(guān)閉自動化引用,釋放ActiveX接口資源。

圖8 調(diào)用動態(tài)鏈接庫基本程序

2.5.2 消息隊列傳輸驅(qū)動

消息隊列是本系統(tǒng)各個模塊之間數(shù)據(jù)傳遞的核心方式。系統(tǒng)中包含有多個隊列,包括用戶前面板事件消息發(fā)送消息至“事件處理循環(huán)的隊列;事件處理循環(huán)發(fā)送消息至采集數(shù)據(jù)循環(huán)與記錄數(shù)據(jù)循環(huán)的隊列;采集數(shù)據(jù)循環(huán)發(fā)送消息至數(shù)據(jù)記錄循環(huán)與顯示數(shù)據(jù)循環(huán)的隊列。

自動檢定系統(tǒng)創(chuàng)建一個消息隊列的方式如圖9所示,分別對每個隊列的數(shù)據(jù)類型進行定義,本系統(tǒng)有字符串和數(shù)組兩種類型的隊列,用一個空的字符串或者數(shù)組連接至“元素數(shù)據(jù)類型”端即可定義消息隊列數(shù)據(jù)類型。在創(chuàng)建完隊列之后,在“隊列輸出端”創(chuàng)建引用,各個循環(huán)通過消息隊列引用句柄訪問特定的隊列完成消息入隊列與消息出隊列的動作。消息隊列是整個系統(tǒng)的“血管”,實現(xiàn)了在多個VI之間或者同一VI種不同線程之間任務(wù)交互執(zhí)行和數(shù)據(jù)交換。

圖9 消息隊列創(chuàng)建

3 實驗結(jié)果與分析

系統(tǒng)是將原有標準儀器的控制和數(shù)據(jù)讀取、分析處理由手動變成自動,從檢定原理上看并不會影響檢定結(jié)果的不確定度。

為了驗證,對送檢的AWA5661型聲級計進行檢定實驗比較,分別用自動檢定系統(tǒng)和人工檢定進行10次檢定,記錄各個檢定項目的結(jié)果,其中單個猝發(fā)音響應(yīng)的測量平均值如表2所示,結(jié)果差別不大,具有良好的一致性。計算出兩個方式各自的A類不確定度,如表3所示,檢定規(guī)程所要求的最大A類不定度為0.30。

表2 單個猝發(fā)音響應(yīng)項目自動檢定與人工檢定結(jié)果平均值對比

表3 單個猝發(fā)音響應(yīng)項目自動檢定與人工檢定結(jié)果不確定度對比

實驗結(jié)果表明,使用自動檢定系統(tǒng)對聲級計進行檢定,測量不確定度符合檢定規(guī)程中所要求的,且和人工檢定基本一致;同時自動檢定系統(tǒng)減少了人工讀數(shù)時所產(chǎn)生的的誤差,使工作人員擺脫繁瑣的按鍵操作,且在檢定過程中對結(jié)果進行分析處理,減少了后期數(shù)據(jù)處理的時間。通過本系統(tǒng)檢定一臺聲級計的時間平均為10 min,而人工檢定一臺聲級計平均需要30 min,效率提高了3倍。

4 結(jié)束語

目前本系統(tǒng)已經(jīng)投入應(yīng)用,在AWA5661系列聲級計電性能檢定實踐中穩(wěn)定、可靠,這套系統(tǒng)可以完成聲級計6項復(fù)雜的檢定項目,減少在人工讀數(shù)時產(chǎn)生的誤差,且可以使檢定人員脫離繁瑣的儀器按鍵操作和分析處理檢定結(jié)果的工作,保證檢定工作的準確性和時效性,極大提高了檢定效率。

后續(xù)工作可以基于此擴展聲級計聲性能自動檢定功能;增加不同廠家不同型號的聲級計檢定能力;發(fā)揮計算機大數(shù)據(jù)存儲與處理優(yōu)勢,基于被檢聲級計的歷史檢定數(shù)據(jù),提煉聲級計關(guān)鍵技術(shù)指標,為聲級計生命周期維護,為聲級計的技術(shù)進步以及計量校準更新提供參考。

猜你喜歡
隊列串口消息
隊列隊形體育教案
隊列里的小秘密
基于API函數(shù)庫實現(xiàn)串口數(shù)據(jù)通信的分析與設(shè)計
基于多隊列切換的SDN擁塞控制*
基于EM9000工控板高性能雙串口通信模型設(shè)計與實現(xiàn)
一張圖看5G消息
在隊列里
晚步見道旁花開
MCS—51單片機中的多串口通訊技術(shù)的應(yīng)用
基于VC串口通信的實現(xiàn)