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