《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Qt的PLC板級工裝測試方法研究與實(shí)現(xiàn)
基于Qt的PLC板級工裝測試方法研究與實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第1期
楊志明,傅一帆,閔曉霜,趙德政
華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083
摘要: PLC板級工裝測試系統(tǒng)主要對N系列全國產(chǎn)化PLC單板模塊的硬件連通性及其基本功能進(jìn)行測試,為簡單硬件設(shè)計(jì)及問題查找定位提供軟件支持與驗(yàn)證。一般的板級工裝測試產(chǎn)品,不同板卡測試環(huán)境不同,操作復(fù)雜,且大部分是手動測試,人力物力成本太高。提供一種基于Qt的跨平臺PLC板級工裝測試方法與系統(tǒng),是對PLC單板模塊功能及接口的自動化測試系統(tǒng)。實(shí)際測試表明,該系統(tǒng)可以大幅度提高測試效率,節(jié)約測試成本。
中圖分類號: TP311.1
文獻(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.

Research and implementation of PLC board-level testing method based on Qt
Yang Zhiming,F(xiàn)u Yifan,Min Xiaoshuang,Zhao Dezheng
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: Programmable Logic Controller(PLC) board-level tooling test system, designed to test the single-board hardware connectivity and basic functions of N series PLC which was localized,it provided software support and verification for simple hardware design and problem locating. General board-level tooling test products whose testing environment was different for each board, even the manual operation was complicated that lead to human and material costs are too high. This paper provided a cross-platform PLC board-level tooling test method and system based on Qt, which was a automated test system for single-board PLC module function and interface. The results show that the system can increase efficiency and cut the cost greatly.
Key words : circuit board tooling test;testing method;PLC;Qt

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)的外部輸入輸出。

jsj2-t1.gif

1.1 模塊劃分

    按照板級工裝測試軟件需求,軟件所需要實(shí)現(xiàn)的功能劃分為8個模塊,模塊劃分及模塊功能概述如表1所示。

jsj2-b1.gif

1.2 模塊交互關(guān)系

    板級工裝測試軟件各模塊之間的交互關(guān)系如圖2所示。

jsj2-t2.gif

1.3 系統(tǒng)處理流程圖

    系統(tǒng)主要處理流程如圖3所示。

jsj2-t3.gif

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)系示意圖。

jsj2-t4.gif

    按圖4所示連接搭建好測試環(huán)境后,從上位機(jī)上打開板級工裝測試軟件.exe程序。按照流程圖3進(jìn)行測試,得到如圖5的測試結(jié)果畫面。其中,綠色(圖5中灰色圓形區(qū)域)表示測試通過,紅色(圖5測試全部通過,無紅色顯示)表示測試不通過。

jsj2-t5.gif

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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。