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