張 勇
(天津電子信息職業技術學院,天津 300350)
隨著工業自動化的快速發展,不斷地促進經濟的快速發展,提高了生產效率,提升了經濟效益,但傳統的工業自動化在物聯網、大數據、數字化等新形勢下正面臨嚴峻考驗。因此,基于虛擬儀器技術的自動化測試,在智能制造發展的大好時機下得到了快速發展。該虛擬儀器可以快速建立起測試與控制平臺,同時攻破了傳統測試設備不能更換硬件功能的難題,能夠很好地結合模塊化設備,完成各種測試需求,為下一代工業自動化在工業互聯網產業打下了良好的基礎。
本系統采用LabVIEW作為軟件開發平臺,應用狀態機的控制方式對整個系統進行控制,使整個測試系統的性能更優異,通過PXI總線的模塊化儀器,使系統可靠性、擴展性更強。
本系統應用虛擬儀器技術使測試系統的功能進行軟件化,拓展了該測試系統硬件不能擴展的需求,使測量系統發生了質的改變,同時應用PXI總線的模塊化儀器使整個測量系統性能更優異、擴展性更強。在前面板設計中,應用了LabVIEW的動態程序控制技術,當實現不同的功能時,就將相應的VI調入內存,通過動態調入VI,可以使運行的VI程序達到最優化,進而減少內存的使用,提高整個測試系統的性能。在程序框圖設計中,應用隊列技術將數據放入到隊列中,采用多線程、多任務方式同時進行管理,這樣不僅增強了程序的可讀性,降低編程復雜性,而且也方便維護。在生成報表設計中,采用了Activex技術,labview作為客戶端通過Excel提供的Activex自動化對象在labview中操作Excel。此軟件極大地提高了工作效率,在實際當中取得了很好的效果。
由于本高精度傳感器自動化測試系統要實現44路高精度測量,且要保證具有一定的同步性,因此整個硬件系統是基于PXI平臺架構,由高精度數字表卡4071和掃描開關2530B等模塊化儀器組成,高精度數字表卡4071采集來自44路鉑電阻PT100的電阻信號,并產生觸發信號,通知掃描開關2530B切換到掃描列表的下一項,在采集周期內,由掃描開關2530B快速切換44個通道進行采集,采集完成后產生觸發信號再通知高精度數字表卡4071繼續采集測量。
由于本測試系統采用的是高精度的數字表卡4071,為了保證整體性能,需要在硬件和上層軟件之間建立起高速通道,因此總線的選擇就至關重要,不僅能夠快速地傳輸數據,還決定著測試系統的穩定性,所以本高精度測試系統硬件還需進行以下工作。
在本測量系統中,是以數字萬用表/掃描開關為主的高精度自動化測試系統,時延相對這種單點操作較為重要。由于本系統是基于數據流形式的LabVIEW平臺進行開發,所以帶寬對于數據流應用同樣較為重要。因此選擇一個正確的總線,對于系統的性能至關重要。
基于PC機/PXI的虛擬儀器系統,能很好地解決以上兩個問題,在PXI背板上保留了PCI電氣總線,并設置了各類插槽,使各類儀器具有模塊化的特性,根據設計的功能插入不同的功能模塊,同時進行Eurocard機械封裝,使PXI成為一個具有不同信號組合的平臺架構,也使它繼承了PCI的電氣信號特性,具有非常高的數據傳輸能力,數據處理速度達到從132Mbyte/s到528Mbyte/s的傳輸能力。基于PXI總線的系統由PXI機箱、系統控制處理器、PXI背板和數個外設模塊組成,使其在可靠性、穩定性和抗干擾方面得到大幅提升。
在本PC機/PXI的虛擬儀器系統中,對于整個性能來說另一個重要指標是模塊化儀器的選擇,在本PXI機箱中設置不同的插槽,用于放置不同的模塊化儀器,這些儀器可以在同一個機箱內使用相同的設備電源和控制器,而對于分立儀器設備需要在每一個設備中都配置同樣的設備,這就大大地增加了產品的成本和外圍尺寸,也降低了產品的可靠性。同時,在PXI機箱中控制器使用的都是G赫茲PC處理器,其測量速度吞吐量是傳統儀器的十到百倍,這就使模塊化儀器具有高帶寬、低時延的總線特性,可快速地實現從模塊化儀器到共享處理器的連接。
而對于本系統來說,由模塊化儀器PXI 2530B開關卡配置成64×1的2線制測量,配合7位M半模塊化儀器4071實現兩線制測量44路鉑電阻,并產生觸發信號通過和4071萬用表的互相觸發,實現多路測試,如圖1。

圖1 系統硬件模塊化儀器工作原理
在整個系統中,采用了模塊化儀器進行硬件系統的搭建,相對于傳統儀器來說,這種基于軟件化的模塊化儀器更具有靈活性,方便系統功能的擴展和二次開發。由于傳統儀器功能固化,而模塊化儀器可以自由地添加新的功能和屬性,賦予用戶更多的自主權,使自動化測試更加完善,更加智能。因此如果需要對測試系統重新進行配置,來滿足多種不同任務的需要時,可以配置不同的板卡,這樣使整個系統可以根據需求的變化調整原系統,靈活性更強。
由于上層軟件要控制模塊化儀器,就必須保證它們之間能夠進行通信。目前投入市場的儀器設備,都會由設備制造商提供儀器驅動程序,他們將這些底層語言編制的指令封裝程子VI的形式來進行調用,只保留輸入輸出及參數設置,在使用時配置好相應參數,就可以輕松地實現儀器的功能。
本高精度測試系統的測量程序中采用的是高精度數字表4071儀器驅動程序的子VI,這樣就可以設置所需要的功能,本4071采集模塊最高精度可設置成7位半精度,由于本項目產品的精度要求不是太高,所以本項目設置為5位半精度;同樣對掃描開關2530B也調用了驅動程序,并對掃描開關的觸發方式、循環方式、掃描清單進行了設置,矩陣配置采用64×1(2線),掃描清單通道設置為ch0:43->com0,同時為了保證高精度分別在4071和2530B的采集流采用毫米級定時器,在進入生產者消費者循環后采用時間計時器進行毫秒同步計時,由于使用了封裝好的驅動程序,可快速方便地搭建軟件和硬件之間的聯系,提高了工作效率。
本測試系統軟件總體主要對前面板和程序框圖進行了設計。當實現不同的功能時,就將相應的VI調入內存,通過動態調入VI,可以使運行的VI程序達到最優化,進而減少內存的使用,提高整個測試系統的性能。同時,整體架構采用的是狀態機的控制方式,對整個測試系統進行控制,可有效地避免輪詢導致的CPU浪費,而在數據采集子VI中,為了避免數據重復和丟失,應用隊列技術將數據放入到隊列中,采用多線程、多任務方式同時進行管理,保證了數據的準確性。
在前面板設計中,對每個控件設置事件響應類型,保證在調用該VI時能將需要的VI進行運行,其他VI不放入內存,這樣就實現了動態控制VI,由于在調用目標VI時,沒有把全部的VI都調入內存,使軟件占有內存大大減少,提高了軟件的系統性能。
為了提高傳感器測試的自動化程度,在創建可靠性的環境試驗中,先讓測試軟件進行自動巡檢,當檢測的溫度持續在設定范圍內10分鐘時,方可進行產品測試。在數據采集子VI中,數據采集主界面可將設置的所有信息進行顯示,同時波形圖表可對產品的試驗過程進行直觀地監控,如圖2。

圖2 數據采集顯示界面
同時為了直接顯示被測的溫度信息,對鉑電阻傳感器的信號進行了二次轉化,利用PT100鉑電阻分度表中的溫度和阻值對應關系,并根據本產品實驗的溫度范圍從-70℃到300℃內進行線性細分插值,并封裝成子VI,在進行報表輸出時,直接進行調用轉化,方可直接輸出溫度值,為了保證該測試系統對其他類型傳感器的通用性,對PT500和PT1000兩種類型的傳感器,也在實驗溫度范圍內進行了線性細分插值和封裝,保證了測量精度和測試產品的廣泛性。
該軟件運行步驟如下:
1.按下開始運行按鈕后,程序按選擇順序自上而下的執行測試程序。
2.在參數配置過程中,按照要求進行配置,完成后自動關閉。
3.若環境試驗條件達到了試驗的要求時,可直接進行數據采集,若沒有達到時,可讓測試系統進行自動巡檢,當達到要求時會有聲光報警提醒使用人進行下一步工作。
4.點擊完成后開始進行產品測試。
在整個系統程序框圖中,采用狀態機的控制方式,通過生產者——消費者模式,應用隊列技術將數據放入到隊列中,采用多線程、多任務方式同時進行管理,這樣不僅增強了程序的可讀性,降低編程復雜性,而且可以方便維護,使程序框圖更加清晰,同時可以避免大量的重復編程,如圖3。

圖3 狀態機控制結構框圖
本系統軟件部分,在狀態機的架構下,采用的是事件控件,觸發源來自前面板上的控件按鈕,如果用戶點擊相應按鈕時,該控件按鈕的程序框圖中的VI就可以根據事件結構自帶的控件引用,來建立該控件的Label.Text屬性,并獲取控件的中文名稱,接線來用Open VI Refernece函數來獲取該控件的引用,再利用屬性節點Exec.State得到目前軟件的工作狀態,若軟件處于Idle狀態(即不運行狀態),則使用Run VI屬性運行該VI,最后利用Subpanel實現動態加載界面。
對于本系統來說數據采集周期為人為設置,可以設置的很高,這就要求普通的數據流方式顯然不行,為了保證程序在數據采集過程中不出現數據重復和丟失的現象,保證數據的準確性。本軟件在狀態機的架構下設置了隊列程序,將數據采集和數據分析放入到不同的循環中,當數據采集的時間周期和數據分析的數據周期不同時,就將采集的數據放入到隊列中進行排隊,防止數據的溢出,若隊列中沒有數據,則數據分析程序就進入等待狀態,通過此隊列技術的應用,保證了數據采集的真實可靠,防止了數據的重復和丟失,如圖4所示。

圖4 隊列程序框圖
在測試系統的軟件編制過程中,整體采用項目樹來進行管理的,由于除了有非常多的子VI,還有一些表格文檔,為了修改其中某項信息,相關能夠進行同步更新,必須建立起他們之間的依賴關系,防止出現前后不匹配問題,同時在項目管理中,可以將所有程序文檔打包進行發布,在沒有LABview運行平臺的計算機中,使用起來非常方便。
LabVIEW本身沒有數據庫子VI,這就要求必須通過外部程序接口來調用,進而對Excel進行訪問管理。
ActiveX是由微軟公司提出的一種建立在OLE標準之上的規范和公共框架,通過ActiveX技術,可以將一些其他的軟件組裝到應用程序或者服務程序中去,并在客戶端執行,由于在LabVIEW中無法直接操作Microsoft Excel,因此,可以把它當成一個ActiveX Automation服務器,把LabVIEW應用程序當成客戶端,通過ActiveX去控制Microsoft Excel的屬性,對它的屬性節點和調用節點進行操作,從而完成生成報表、打印報表的功能。
在報表程序模塊中,現在Microsoft Excel編制好符合要求的報表形式,之后通過ActiveX技術實現Excel與LabVIEW進行通訊,將采集好的數據傳遞給Excel,并通過調用節點放置在預先規定好的位置,最后再設置Excel屬性格式,釋放資源,完成報表的打印輸出。通過這種方式,ActiveX Automation服務器等待LabVIEW應用程序客戶端向它發出命令,然后根據客戶端的命令進行執行某項功能或接收來自客戶端的數據,即LabVIEW客戶端通過ActiveX Automation服務器向Microsoft Excel發出數據填寫的請求,接下來由Microsoft Excel響應客戶端的請求,并接收采集的有效數據,進而逐步更新報表內容,來實現報表的生成,圖5是本測試軟件的報表程序框圖。

圖5 本測試軟件的報表程序框圖
高精度傳感器自動化測試系統的設計。在當今快速發展的社會中,隨著工業互聯網的不斷發展,工業自動化測試在各行各業中都得到了廣泛應用,提高了生產效率,加快了經濟發展,但同時對自動化測量精度和功能的要求也越來越高。基于虛擬儀器和PXI技術的測試系統打破了傳統測試系統硬件固化的限制,實現了測試系統定制化、軟件化和模塊化,同時客戶可以在本測試系統架構上進行二次開發添加或刪減部分功能,獲取想要的數據,使測試更為智能。
本項目分別完成了對某航空單位的飛機風擋玻璃測試和C919項目中MGQ-62溫度傳感器的測試,通過了環篩通電監測和0n-off循環目擊實驗驗證,由于采用自動采集,智能監控及聲光報警設置,方便了監管部門的過程監督,由于采用了隊列技術,也保證了產品數據的準確性,防止出現虛假數據的情況,在實際的應用中,得到了客戶的滿意和相關單位的認可。