周菊 曹希龍 黃光慈 李慧慧
本文介紹了一種工業(yè)生產通用自動測試系統的架構組成和系統實現,該測試系統上位機基于.NET開發(fā),面向測試流程,應用基于STM32的嵌入式系統作為信號處理控制器(下位機),進行信號采集和動作輸出,自動完成測試流程和數據管理。本文以攪拌主機產品的下線自動化測試為例,介紹了本測試系統在工業(yè)生產中的應用情況。
在工業(yè)生產中,自動化測試系統在產品的生產線測試和質量驗證有著廣泛的應用。由于自動測試技術的引入,不僅能提高測試效率,保證測試的準確性和可信度,減少由于人為原因造成的測量錯誤和誤差,降低生產和測試成本,而且還可以對測試數據和結果進行信息化管理。因此,無論在整機,元器件或者模塊化的指標和功能測試,老化及可靠性等測試中,自動測試技術都有著廣泛應用[1]。隨著現代工業(yè)的不斷發(fā)展,測量技術、總線技術、信號處理技術等新的測試技術應用于自動化測試系統中,大大提高產品的測試效率和產品可靠性。
本文的測試系統是一種工業(yè)生產中通用的自動化測試系統,測試系統上位機基于.net環(huán)境及SQL2005數據庫開發(fā),面向產品測試流程,實現自動化測試。本文以在攪拌主機生產線的產品調試應用為例,實現產品測試的自動檢測。
測試系統由計算機、信號處理系統、信號采集系統組成。如圖1所示。通過電流、溫度、轉速等傳感器采集被測產品的各種信號,傳感器信號通過信號處理系統進行運算放大等處理,由計算機通過系統軟件進行分析、管理。
圖1 自動測試系統架構
其中,計算機軟件實現測試流程的運行及測試過程的管理,實現測試流程的可編輯,以適應不同產品的測試需求,信號處理系統為嵌入式可編程控制器,計算機向信號處理系統下發(fā)操作指令,由控制器控制產品的各項動作(如電機啟停、電磁閥的開關等)。測試系統通過測試流程的各項執(zhí)行結果,判斷產品測試是否合格,并對測試過程參數與結果數據進行保存。
如圖2所示,測試系統采用ModbuRTU通訊協議,Modbus 協議是MODICON公司開發(fā)并推行的通信協議,該通訊方式已經成為工業(yè)自動化控制系統的標準通信協議。通過該協議,不同廠商生產的控制系統可以進行工業(yè)網絡互聯,從而實現各個系統的集散控制[2]。
Modbus通信使用主一從技術,即僅一個設備(主設備)能初始化傳輸(查詢),其它設備(從設備)根據主設備查詢提供的數據做出相應反應。主設備可單獨和從設備通信,也能以廣播方式和所有從設備通信。如果單獨通信,從設備返回一條消息作為回應,如圖3所示。如果是以廣播方式查詢的,則不作任何回應[3]。
圖3 Modbus主-從查詢方式
圖2 測試系統通訊結構
本測試系統中,計算機(上位機)作為主站,信號處理系統作為從站,通過應答方式單獨通訊。每次查詢-應答與下一次查詢-應答間隔50ms。
本文測試系統上位機軟件基于.NET平臺開發(fā)。.NET平臺由微軟公司推出,具有跨語言、跨平臺、跨系統能力。方便利用XML技術開發(fā)顯示及打印數據報表,還能使用GDI+設計各種圖形編輯器,適用于開發(fā)復雜的企業(yè)級應用程序。數據庫使用Microsoft SQL Server 2005,SQL2005是一個全面的數據庫平臺,使用集成的商業(yè)智能(BI)工具提供了企業(yè)級的數據管理,數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,
測試系統軟件面向測試流程開發(fā),測試流程通過編輯工具以XML形式保存于系統文件中。針對工業(yè)生產測試中的通用測試信號種類,系統軟件設計了通用的測試單元,其中通用測試單元如表1所示,實現統一的接口類型。測試單元的輸入輸出如圖4所示。根據測試流程,通過編輯工具添加測試單元,形成測試文件。
表1 上位機開發(fā)模塊-測試單元
軟件運行過程如圖5所示,加載測試文件后,按照測試單元的順序執(zhí)行各測試項,自動運行測試流程。并將測試結果保存于數據庫。
圖5 上位機系統運行流程
信號處理模塊采用基于STM32的嵌入式系統作為控制器,硬件電路包括開關量輸入輸出、模擬量輸入、RS485通訊接口、RS232通訊接口。其中開關量輸入輸出用于檢測和控制開關量動作,包括啟動按鈕、電機運行信號、轉速脈沖等。模擬量輸入用于檢測溫度、壓力、電流等模擬量信號。嵌入式控制器的程序采用Kei環(huán)境,用C語言編程。軟件主要由以下幾個模塊組成,如圖6所示。
圖6 信號處理模塊運行流程
其中,上電初始化部分用于配置STM32板載的器件,如時鐘、串口,ADC,GPIO口等,上電初始化只在每次上電的時候執(zhí)行一次。輸入掃描用于掃描被配置為上拉輸入的GPIO口狀態(tài),如果狀態(tài)改變,則認為有輸入信號。
邏輯處理部分則根據輸入信號和通過通訊接收到的上位機指令進行邏輯處理,比如是否啟動電機,是否開啟電磁閥等。
模擬量采集處理主要通過配置好的板載ADC采集傳感器的值,有電流傳感器、溫度傳感器、壓力傳感器等,經過采集、濾波、量化把傳感器輸出的4-20mA電流值轉化為實際的工程量。
通訊處理主要是通過RS485口基于MODBUS RTU協議 實現與上位機的通訊。接收上位機發(fā)送的命令,如電機啟動停止、電磁閥打開關閉等。向上位機發(fā)送設備的狀態(tài),如電機實時電流值、電機溫度、油溫、油壓,以及電機的啟動停止狀態(tài)等。
輸出刷新是根據程序中邏輯處理的結果,把需要的輸出映射到GPIO口配置為推挽輸出的端口上,根據端口電平狀態(tài)的變化控制外部設備動作。
以上程序塊除了上電初始化只在上電的時候執(zhí)行一次,其他程序則循環(huán)一直執(zhí)行。
本文以攪拌主機的下線測試應用為例,攪拌主機是混凝土攪拌站的核心零部件,產品檢測工序多,人工檢測需花費約1個小時,需要檢測主機門的動作連續(xù)性,急停功能,潤滑功能、主電機電流變化、溫差變化等情況,人工檢測不能保證其正確性。因為通過自動測試系統可對各參數實現精確可靠的測量,且可重復性得以保證。
根據測試流程編輯測試文件,以攪拌主機潤滑系統、急停功能檢測為例,測試流程如表2所示。添加對應的測試單元并設置單元屬性。
表2 攪拌主機潤滑系統、急停功能流程
運行測試系統,測試完成后自動打印測試結果如圖7和圖8所示。系統對測試過程參數自動保存。整個測試過程月30Min,并可對同一臺主機進行多次測試。
圖7 攪拌主機測試結果記錄
圖8 攪拌主機測試參數記錄
自動化測試越來越廣泛的應用于工業(yè)生產中,作為產品可靠性檢測的重要手段。不僅提高檢測效率,更是保障了測試的精確度和管理的正規(guī)化。本文所述的自動化測試系統,通過各種測量設備采集信號,上位機系統控制檢測流程,信號處理控制器輸出執(zhí)行動作,對測試產品性能進行檢測。已在實際生產得以推廣和應用,本系統的架構和檢測方式將對實際的應用有很大的指導意義。