?

基于LabVIEW的傳感器智能測試與分析系統設計

2023-02-27 11:12李德川馬清峰
遼東學院學報(自然科學版) 2023年4期
關鍵詞:字符串數組控件

李德川,馬清峰,單 巍,黃 克

(淮北師范大學 物理與電子信息學院,安徽 淮北 235000)

作為信號轉換的基本單元,傳感器能夠利用敏感物質把各種非電量轉化為可讀取的電信號,實現物理量的表征。目前,傳感器已被廣泛地應用于工業、農業、交通和教育等領域,在信號檢測和智能儀表中發揮著重要作用[1-3]。

在傳感器實驗教學中,教學內容多以開放性的探索實驗為主,學生常常利用傳感電路測量某個物理量在某一范圍內的變化規律,采集的數據呈現出組數多、數據量大和數值不唯一等特點,導致數據計算結果具有多樣性。而教師在評判眾多實驗結果時,只能根據數據處理方法進行粗略評判,無法針對學生測試的實際數據提供具體的標準參考數值,從而可能產生誤判。因此,如何快速準確地分析每位學生測試數據的有效性是每一位任課教師需要解決的實際問題。為解決實驗數據組數多和數值大小不同等問題,需要一款能夠快速重現和分析實驗數據的處理系統,并且所設計系統能適用其系列下所有測量儀器。

在現有數據獲取的方式中,LabVIEW軟件具有可視化的人機交互采集模式,使用圖形化界面將軟件分析和硬件測試結果結合起來,廣泛用于水下溫鹽深數據探測[4]、溫度采集[5]、生化信號采集[6]、漏水檢測[7]和動態轉矩監測[8]等場景,在數據采集和處理方面具有快速、直觀和形象化的優點。但在現有研究中,采用LabVIEW設計的電路常常采集的都是單獨信號、連續信號或等間隔信號,而關于非等間隔信號采集電路的設計相對較少,也未發現LabVIEW在通用電壓傳感信號數據復測方面的應用。

為此,本文基于LabVIEW 2018設計了一款傳感器智能測試與分析系統。該系統利用圖形化編程開發平臺,調用杭州英聯YL610型現代檢測技術綜合實驗臺上的8路A/D轉換模塊,實現了非等間隔電壓信號的快速采集、分析和評價。在程序執行過程中,用戶可自由設定輸入量的大小,實時觀察測量進度,并能在測量結束后預覽全部測量數據、刪除誤差數據和查看數據分析結果。本文設計系統具有實驗進程清晰、檢測速度快和參數指標直觀等特點,可直接用于應變式、電感式、電容式和霍爾式等傳感器實驗中大量隨機電壓信號的快速復測、分析和驗證,為每一組測量數據提供可參考的傳感器靜態特性指標值。同時,該系統預留開發端口,可用于編程再開發,增加系統功能的適用性。

1 系統的整體設計

LabVIEW軟件是一個開放式平臺,允許用戶調用系統函數讀取通用設備I/O接口的數據,并結合圖形化人機交互界面,實現數據采集、分析和處理[9-11]。本文設計系統通過調用8路A/D轉換模塊(圖1中標記部分),實現了數據的采集與分析功能。系統開發流程如圖2所示。

由圖2可知,在數據采集過程中,軟件通過讀取計算機串口通道號、板卡通道地址和端口數據信號,組建特征字符串數據流,將該數據存入系統緩沖區。在數據處理過程中,利用“VISA”模塊獲取緩沖區的數據流,并截取其中的4位十六進制測量數據,將其轉化為相應的十進制數值,并進行實時顯示。最后,程序對有效數據進行處理,并將處理結果展示在XY曲線圖和數值顯示變量中,實現了采集、處理和分析的一體化設計。同時,在該設計方案中,也可采用通用的A/D轉換模塊替換本實驗平臺上的A/D模塊,實現通用數據采集系統的設計。

2 系統的軟件設計

系統軟件的開發主要分為2個部分:“前面板”布局的設計和“后面板”編程。在前面板的程序設計中,考慮數據采樣區、處理區和顯示功能區的布局,從簡潔、直觀和易操作等方面進行排版。在后面板的程序設計中,注重程序對模塊的讀取順序、存儲方式、字符串截取和響應時間,利用for循環、while循環和順序結構進行程序開發,設計出自變量可調的測試與分析系統。

2.1 數據采集前面板的設計

數據采集前面板為人機交互界面,如圖3所示。

由圖3可知,該界面主要由硬件參數設置、數據展示和結果分析3個模塊組成。在硬件參數模塊設計中,“通道選擇”和“波特率”可以分別通過“創建VISA資源名稱”和“數值輸入控件”完成。通道選擇部分可以實時檢測計算機接口,并通過下拉方式呈現串口標識供用戶選擇。在板卡模塊設計中,采用“字符串控件”作為“下位機板卡地址”和“通道號”變量的輸入端,用于指定數據采集。在實時參數顯示模塊的設計中,通過創建“字符串顯示控件”變量,實時顯示數據的測量進程。在自變量數組的設計中,系統選用“數值輸入數組”控件創建自變量,使設計系統能夠復測出不同輸入下的傳感數值。同時,測試數據和分析結果可以直接顯示在“數組顯示控件”、“字符串顯示控件”和“XY圖”上,簡潔直觀。

2.2 通道選擇與端口配置

通道選擇與端口配置如圖4所示。

由圖4可知,首先,利用“格式化寫入字符串”控件將下位機板卡地址和A/D通道號寫入特定字符串,“連接字符串”控件將通道號和特定字符組成完整的數據字符串,實現傳感端口的信息采集。再利用VISA Configure Serial Port串口配置控件,將通訊通道號、波特率和數據信息寫入寄存器,實現端口的配置和數據的寫入。該串口配置控件可通過前面板/儀器I/O/VISA選項下的“VISA配置串口”獲取。

2.3 數據讀取與轉換

數據讀取與轉換如圖5所示。

由圖5可知,將屬性節點中的字符串數據讀出需要利用截取和轉換模塊,得到表征傳感數值的字符串。首先,“屬性節點”將當前串口緩沖區中的字節數傳給“VISA讀取”,讀取當前含有數據的字符串;其次,選用“截取字符串”函數,設置偏移量為7,數據長度為4,得到表征測量數據的十六進制字符串;最后,利用“十六進制字符串至數值轉換”函數,將十六進制字符串轉換為十進制數值量。

本文設計系統調用的是杭州英聯YL610實訓平臺中的8路A/D模塊,其電壓范圍為0~5 V,分辨力為10位二進制數,A/D轉換后的數字量X對應的電壓值為Y。電壓值Y的表達公式為

(1)

2.4 批量非等時間間隔的數據采集

批量非等時間間隔的數據采集設計如圖6所示。

從圖6可知,批量非等時間間隔的數據采集程序主要由循環結構和平鋪式順序結構構成。在平鋪式順序結構中,由于A/D模塊轉換數據時需要一定的時間,因此,需要在數據的寫入模塊和讀取模塊中間設置一次系統延遲,以等待模塊響應。在單個數據的測量時,可以通過順序結構的端口讀取和數據轉換來完成。當需要對多個數據進行采集時,則需要重復執行采集過程。因此,針對采樣需求,設置for循環結構,實現對數據的連續采樣。然而,由于傳感數據測量和實驗過程并不是瞬時完成的,且相鄰采樣時間長短不一,因而不能直接用for循環和定時延遲的方式連續執行,而是需要在2次循環中設置不定時長的中斷暫停,為用戶提供自由的外部操作時間。待用戶實驗準備完成后,才能進行下一步操作。常見的循環暫停主要是通過使用狀態機的形式來完成[12-14],但這些方式需要額外設置函數節點,增加程序的復雜性,而定時函數模塊只能用于設置固定的程序暫停時間??紤]到等待時間的不確定性,本研究采用在下一次循環前增加“確認對話框”的形式執行采集確認,在保持程序簡潔的情況下,實現采樣的不定時暫停。

2.5 數據分析與處理

在數據批量分析和處理中,利用“Line Fit”函數模塊、數組模塊和循環結構生成數據的擬合直線,用于校準數據和擬合直線間的數值差異。2類數據通過“簇數組”綁定后以“XY圖”的形式直接顯示在前面板的人機交互界面上,實現數據的可視化展示。在“Line Fit”函數中,選擇最小二乘法處理數據,得到擬合精度較高的傳感器指標參數。數據求解過程如下:

(2)

(3)

聯立公式(2)和公式(3)可得

(4)

(5)

利用公式(1-4)可得到測量數據的擬合直線的斜率K,該值即為傳感器的靈敏度。同時,把計算得到的K和b生成擬合直線。通過“創建數組”和“索引數組”進行數值綁定,生成能同時顯示“測量值”和“擬合直線”的XY曲線圖。在傳感器性能指標參數線性度的求解中,將“Line Fit”函數產生的殘差組建殘差數組,然后利用“數組最大值和最小值”函數取出最大殘差,利用公式(6)求出傳感器的線性度。線性度δL的表達公式為

(6)

式中:△Ymax為測量值和擬合直線間的最大殘差,YF·S為傳感器的量程。

數據批量分析和處理過程如圖7所示。

由圖7(a)可知,本文對條件結構為真時的誤差數據利用“平鋪式順序結構”進行了刪除處理。首先執行數據預覽,以識別數據中是否有粗大誤差數據。然后利用條件結構,通過判斷對話框選擇是否進入“刪除無效數據”的分支語句。當發現測量數據中存在誤差數據時,可輸入數據在該數組中的索引位置直接刪除。當有多個誤差數據時,While循環可依次刪除其他誤差數據,并把剩余數據按原順序保存在數組中。當所有誤差數據刪除后,可選擇對話框中的“數據不需要刪除”按鈕,進入有效數據處理環節。由圖7(b)可知,利用數組分析組件可以實現傳感器線性度參數、靈敏度參數和擬合直線的計算和顯示。

3 系統測試與分析

測試前,需要預先選擇數據的通訊端口、波特率、板卡地址和通道號,并輸入待驗證的自變量x,然后運行程序進行系統測試。系統測試和分析的過程如圖8所示。

由圖8(a)可知,試驗人員可通過對話框實施確認,實現按需采集數據;由圖8(b)可知,需要刪除的數據為數組中的元素x4(100, 2.397 46),在數據修正模塊輸入需要刪除的元素索引,實現了無效數據的刪除;由圖8(c)可知,當元素刪除后,數組X和Y中無效數據消失,而且對應的XY坐標圖上的數據已實時更新,待確認無誤差數據后,選擇“數據不需要刪除”按鈕,進入數據的分析階段;圖8(d),顯示了數據處理結果和相應的傳感器指標參數。通過對實驗數據中無效數據的刪除和有效數據的線性擬合,實現了數據的可視化快速評判。

為驗證本文設計系統的數據精準度和測量誤差,將設計系統和UT56數字萬用表對同一信號進行采集。其中,UT56數字萬用表選用的是20 V量程,分辨力為1 mV,準確度為±(0.1%讀數+3字數),數據對比分析結果見表1。

表1 數據對比分析結果 單位:V

由表1可知,本文設計系統的測量數值與商用萬用表基本保持一致,測量誤差在0.003 V以內,且能保持相對穩定,其精度能夠滿足正常的教學測試要求,可以廣泛應用于電壓信號的采集和分析。

4 結語

本文基于LabVIEW軟件,利用綜合實訓平臺上的A/D轉換模塊,設計了傳感器智能測試與分析系統。該系統提供8路A/D轉換口供用戶自由選擇,可自動檢測電腦端的USB接口,允許用戶對任意自變量下的信號進行實時采集,并可通過修改前面板中數據變量的“數值類的屬性”設定線性度參數和靈敏度參數等浮點型變量的顯示“位數”,實現了對顯示數據有效位數的四舍五入,具有廣泛的適用性。該系統具有數據采集、數據預覽、無效數據刪除和數據分析等功能,可用于應變式、電容式、電感式、熱電式和霍爾式等傳感器教學過程中電壓信號的采集與分析。同時,測試進度和傳感器參數可直觀顯示,有助于教師快速評判學生測試數據的質量,提高教師工作效率。

猜你喜歡
字符串數組控件
JAVA稀疏矩陣算法
基于文本挖掘的語詞典研究
JAVA玩轉數學之二維數組排序
關于.net控件數組的探討
Excel數組公式在林業多條件求和中的應用
尋找勾股數組的歷程
ASP.NET服務器端驗證控件的使用
一種新的基于對稱性的字符串相似性處理算法
依據字符串匹配的中文分詞模型研究
一種針對Java中字符串的內存管理方案
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合