文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.170986
中文引用格式: 楊志明,,傅一帆,閔曉霜,,等. 基于Qt的PLC板級工裝測試方法研究與實現(xiàn)[J].電子技術(shù)應用,,2018,44(1):114-117.
英文引用格式: Yang Zhiming,,F(xiàn)u Yifan,Min Xiaoshuang,,et al. Research and implementation of PLC board-level testing method based on Qt[J]. Application of Electronic Technique,,2018,44(1):114-117.
0 引言
隨著“兩化融合”的深度發(fā)展,工業(yè)控制系統(tǒng)已經(jīng)成為國家關(guān)鍵基礎(chǔ)設施的重要組成部分,。數(shù)字電路板作為PLC(Programmable Logic Controller)的重要組成部分,,其質(zhì)量好壞直接關(guān)系到國家的戰(zhàn)略安全。因此,,對于PLC電路板的工裝測試方法進行研究,,保證電路板的質(zhì)量具有重要意義[1]。
隨著微電子技術(shù),、封裝技術(shù),、印制板技術(shù)的不斷發(fā)展,印制電路板密度變得越來越大,,復雜程度也越來越高,,傳統(tǒng)的“探針”測試方法[2]使用萬用表、示波器測試芯片已經(jīng)不能滿足要求,。目前有一些利用IDE工具[3](例如SPE)進行工裝測試,,這種方法存在需要人工參與、效率低,、不能實現(xiàn)自動化測試[4-5]等問題,。基于LabVIEW的自動化測試系統(tǒng)[6]成本較高,,而且對于PLC的電路板部分測試不能滿足要求,,所以開發(fā)一款成本低、操作簡單,、測試覆蓋率高的電路板自動化測試軟件很有必要[7-8],。
1 PLC板級工裝測試軟件總體設計
板級工裝測試軟件主要為目標板的測試程序下裝以及測試提供人機界面,發(fā)送測試指令至目標板并接收返回的測試結(jié)果,,為模塊的硬件連通性,、各器件的基本功能好壞以及故障查找定位提供軟件支持與驗證。
圖1描述了板級工裝測試系統(tǒng)的外部輸入輸出,。
1.1 模塊劃分
按照板級工裝測試軟件需求,,軟件所需要實現(xiàn)的功能劃分為8個模塊,模塊劃分及模塊功能概述如表1所示,。
1.2 模塊交互關(guān)系
板級工裝測試軟件各模塊之間的交互關(guān)系如圖2所示,。
1.3 系統(tǒng)處理流程圖
系統(tǒng)主要處理流程如圖3所示。
2 測試方法研究與選取
PLC電路板測試的測試項包括:串口測試,、網(wǎng)口測試,、SDRAM測試、Flash測試,、LED燈測試,、撥碼測試,、RTC時鐘測試、MAC_EEPROM測試,、ComX測試,、DI通道測試、DO通道測試,、A/D轉(zhuǎn)換測試,、D/A轉(zhuǎn)換測試等。以下對各個測試項的測試方法進行研究并選取最合適的測試方法,。
2.1 串口測試
串口測試分為3項,,分別對UART_1、USER,、OS 3個通道進行測試,,以下是3個通道的檢驗方法:將一根串口線一端連接在UART_1串口,另一端連在輔助測試模塊的串口1上,;將一根串口線一端連接在USER串口,,另一端連在輔助測試模塊的串口2上;再將一根串口線一端連接在OS串口,,另一端連在輔助測試模塊的串口3上,。輔助測試模塊將收到的待測串口的測試數(shù)據(jù)原樣返回給該串口,下位機接收數(shù)據(jù)后判斷返回數(shù)據(jù)是否與發(fā)送的數(shù)據(jù)相同,。如果相同,,則測試通過,如果不相同,,或者在限定的超時時間內(nèi)沒有接收到數(shù)據(jù),,則測試不通過。
2.2 網(wǎng)口測試
網(wǎng)口測試分為2項,,分別對ETH0和ETH1兩個通道進行測試,,以下是兩個通道的檢驗方法:將一根網(wǎng)線一端連接在ETH0,另一端連在輔助測試模塊的網(wǎng)口1上,;將另一根網(wǎng)線一端連接在ETH1,,另一端連在輔助測試模塊的網(wǎng)口2上。下位機首先初始化相應測試網(wǎng)口,,然后發(fā)送目的IP為輔助測試模塊網(wǎng)口IP的ARP請求包,,并等待輔助測試模塊發(fā)送的ARP返回包,,判斷在限定的超時時間內(nèi)是否接收到正確的ARP返回包,。
2.3 SDRAM測試
SDRAM[9]常見的故障[10]通常有以下幾種:固定開路故障(Stuck open fault)、狀態(tài)轉(zhuǎn)換故障(Transition fault),、數(shù)據(jù)保持故障(Data maintaining fault),、狀態(tài)耦合故障(Coup-
lingfault),。目前對于SDRAM的測試大多采用March-C算法[11],這種方法對以上故障具有很高的故障覆蓋率[12],,本文就采用這種方法,。值得注意的是,由于測試程序也運行在SDRAM上,,所以SDRAM測試起始地址預留1 M空間,。
2.4 Flash測試
Flash測試[13]分兩步來執(zhí)行,首先將Flash全擦除,,往Flash的每一個地址空間寫數(shù)據(jù),,然后再讀出來與寫入的數(shù)據(jù)比較,看是否相同,。如果測試地址空間的數(shù)據(jù)讀寫都正確,,則測試通過。
2.5 LED燈測試
LED燈亮滅由相應GPIO口控制,,測試時將相應GPIO口都配置為輸出,,采用流水亮滅的形式來進行測試,最終點亮所有燈,,觀察燈是否全亮,。
2.6 撥碼測試
撥碼數(shù)據(jù)通過GPIO口來采集,相應的GPIO配置為輸入,,通過撥動硬件撥碼來改變采集到的數(shù)據(jù),,然后通過通信口將數(shù)據(jù)發(fā)送到上位機,比對采集到的數(shù)據(jù)與硬件撥碼當前的碼值是否相同,。
2.7 RTC時鐘測試
RTC時鐘芯片通過I2C總線來連接,,首先需要初始化I2C相關(guān)寄存器,正確設置時鐘分頻值,。然后給時鐘芯片設置一個時間,,設置完成后芯片自動運行,同時開啟定時器,定時10 s后,,再從時鐘芯片中讀取時間,查看讀取的時間是否比設置時間多10 s,,以此判斷芯片走時是否正確。
2.8 ComX測試
Ethercat主站采用赫優(yōu)訊工業(yè)以太網(wǎng)模塊ComX 100CN-RE,,并下裝Ethercat Master主棧固件,,將ComX 100CN-RE模塊與CPU相連,實現(xiàn)Ethercat主站功能主任務,。由于ComX模塊中DPM結(jié)構(gòu)由模塊自己的操作系統(tǒng)RCX控制,,上電后自動維護,所以測試過程主要是通過讀取DPM中固定地址的一些常量值來驗證,。
2.9 MAC_EEPROM測試
MAC_EEPROM測試首先需要初始化MAC控制器芯片,,然后在EEPROM固定地址空間寫入一個MAC地址值,,然后再讀出來,如果相同則測試通過,。
2.10 DI通道測試
DI通道數(shù)據(jù)采集通過GPIO口控制,,開始測試前,給每通道(DI0~DI7)輸入不同的高低電平,,GPIO口采集到相應的數(shù)據(jù)后通過通信口將數(shù)據(jù)發(fā)送到上位機,,比對采集到的數(shù)據(jù)與實際各通道輸入的電平高低是否吻合。
2.11 DO通道測試
DO通道數(shù)據(jù)輸出通過GPIO口控制,,開始測試后,,上位機往下位機發(fā)送一個輸出值,下位機控制相應GPIO口控制各通道(DO0~DO7)輸出,,然后觀察DO通道電平指示燈,,比對數(shù)據(jù)與各通道測量值是否吻合。
2.12 A/D模數(shù)轉(zhuǎn)換測試
使用輔助測試模塊的高精度AI/AO檢測模塊,,對4路通道分別輸入4~20 mA恒定電流,,A/D芯片采集到相應數(shù)據(jù)后進行轉(zhuǎn)換,然后將轉(zhuǎn)換數(shù)據(jù)通過串口發(fā)送給下位機,,下位機計算采集誤差在±0.3%內(nèi)則測試通過,。
2.13 D/A數(shù)模轉(zhuǎn)換測試
通過上位機設定4路通道對外輸出的電流值(4~20 mA),然后轉(zhuǎn)換為相應的數(shù)字量數(shù)據(jù)并發(fā)送到下位機,,下位機使用這個數(shù)據(jù)來設置D/A芯片,,然后使用輔助測試模塊的高精度AI/AO檢測模塊測量每路信號輸出的電流值,通過串口返回給下位機,,判斷是否符合要求,,誤差在±0.1%內(nèi)。
3 基于Qt的PLC板級工裝測試軟件實現(xiàn)
以CPU模塊為例介紹板級工裝測試軟件的測試過程,,圖4是CPU模塊的測試連接關(guān)系示意圖,。
按圖4所示連接搭建好測試環(huán)境后,從上位機上打開板級工裝測試軟件.exe程序,。按照流程圖3進行測試,,得到如圖5的測試結(jié)果畫面。其中,,綠色(圖5中灰色圓形區(qū)域)表示測試通過,,紅色(圖5測試全部通過,無紅色顯示)表示測試不通過,。
4 結(jié)語
本文通過對PLC電路板上各器件的測試方法進行研究,,并依據(jù)選取的測試方法設計了一種基于Qt的跨平臺板級工裝測試軟件。經(jīng)過實際驗證,使用該軟件對PLC電路板進行測試,,測試覆蓋率較高、測試時間短,、故障定位準確率高,。并且該軟件相對以往的測試工裝操作更加簡單方便,生產(chǎn)人員只要經(jīng)過簡單培訓,,就可以熟練使用本軟件,,無需專業(yè)技術(shù)人員幫助就可以完成測試工作。本設計為開發(fā)電路板的工裝測試軟件提供了參考,,可廣泛用于電路板工裝測試檢驗環(huán)節(jié),,對于提高產(chǎn)品質(zhì)量與測試效率、節(jié)約人力物力成本具有很大促進作用,。
參考文獻
[1] 尤東妹,,徐靜.基于自動測試系統(tǒng)的數(shù)字電路板測試與故障診斷[J].SILICON VALLEY,2013(5):91-92.
[2] 劉杰,,崔成旺.印刷電路板的功能檢測[J].煤炭技術(shù),,2012(4):76-77.
[3] 朱振軍,林明,,宋月麗.基于邊界掃描技術(shù)的板級測試分析[J].電子設計工程,,2012,20(9):127-129.
[4] 霍曉磊,,康霞,,譚業(yè)雙.電路板自動測試技術(shù)研究[J].測試技術(shù)學報,2013,,27(5):411-414.
[5] 徐健茹.電路板通用自動測試系統(tǒng)設計與技術(shù)研究[D].西安:西北工業(yè)大學,,2001.
[6] 王曉亮,謝朝輝,,楊紅官.基于LabVIEW和FPGA的存儲器測試系統(tǒng)設計[J],計算機測量與控制,,2012,20(7):33-35.
[7] 王秀霞,,冉黎林,,郭磊.基于故障診斷技術(shù)的電路板測試設備設計[J].計算機工程與應用,2015,,51:295-299.
[8] 孫秀江.PCBA故障診斷系統(tǒng)的研究與開發(fā)[D].哈爾濱:哈爾濱工業(yè)大學,,2006.
[9] 趙雪蓮,楊新濤.SDRAM的測試方法研究與實現(xiàn)[J].國外電子測量技術(shù),,2008,,27(5):12-15.
[10] 雷靜.存儲器測試方法的研究與測試程序的實現(xiàn)[D].成都:電子科技大學.2009.
[11] 于文考,高成,,張棟.基于March-C算法的單片機存儲器測試[J].現(xiàn)代電子技術(shù),,2010(6):19-21.
[12] 杜康保,,王烈洋,魏愛香.基于SOPC的SDRAM測試技術(shù)研究[J].電子科技,,2014(24):6-8.
[13] 柳玉波.SoC嵌入式Flash的內(nèi)建自測試方法的研究與實現(xiàn)[D].成都:電子科技大學,,2010.