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