文濤+左東廣+李站良
摘 要: 為解決某型武器系統(tǒng)測試過程中方法繁瑣、檢測結(jié)果不夠直觀的問題,在分析測試需求的基礎(chǔ)上,提出了基于PC104嵌入式計(jì)算機(jī)的測試方案,搭建了自動化測試系統(tǒng)硬件環(huán)境,并在Visual Studio 2010開發(fā)環(huán)境下,采用模塊化與多線程處理方式實(shí)現(xiàn)了測試系統(tǒng)的交互式測試。對部分原理電路進(jìn)行了分析,詳細(xì)介紹了軟件編程中數(shù)據(jù)庫、報(bào)表打印等關(guān)鍵技術(shù)。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡潔、操作簡單,有效地保障了部隊(duì)的作戰(zhàn)和訓(xùn)練任務(wù)。
關(guān)鍵字: PC104; 自動化測試; Visual Studio; C#
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)18?0072?03
Research of a comprehensive test system based on PC104 bus
WEN Tao, ZUO Dong?guang, LI Zhan?liang
(Second Artillery Engineering University, Xian 710025, China)
Abstract:In order to solve the problems that a weapon testing method is tedious and the results are not intuitive, a testing scheme based on PC104 embedded computer is proposed on the basis of the testing demand analysis. The hardware environment of an automation testing system was built. The interactive testing was completed by modular and thread processing mode in Visual Studio 2010 development environment. In this paper, part of the circuit is analyzed, and the key technologies of database and report printing in software program are introduced in details. The application result indicates that the system works reliable, and has advantages of high real time performance, succinct interface and simple operation. It safeguarded the combat and training mission effectively.
Keywords: PC104; automatic testing; Visual Studio; C#
0 引 言
隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的突飛猛進(jìn),測試系統(tǒng)出現(xiàn)了以總線技術(shù)為基礎(chǔ)的自動化測試系統(tǒng)[1]。目前,PXI、EISA、PC104等總線被廣泛應(yīng)用在自動化測試系統(tǒng)中[2],PC104因?yàn)槠潴w積小、成本低、兼容性好等優(yōu)點(diǎn),被廣泛地應(yīng)用于商業(yè)、工業(yè)、航空以及軍事等眾多領(lǐng)域[3]。
目前,我國的武器系統(tǒng)正處在快速發(fā)展的新階段,而保障其發(fā)揮優(yōu)越性能的地測設(shè)備發(fā)展卻相對滯后。某型武器綜合測試系統(tǒng)自動化程度還不是很高,且采用PC機(jī)進(jìn)行測試,整個(gè)測試系統(tǒng)體積龐大,嚴(yán)重影響了部隊(duì)的應(yīng)急作戰(zhàn)能力。因此,本文針對測試需求,構(gòu)建了基于PC104總線的嵌入式系統(tǒng)結(jié)構(gòu),并利用Microsoft Windows XP系統(tǒng)平臺,在Visual Studio 2010開發(fā)環(huán)境和.NET框架下,設(shè)計(jì)了自動化測試系統(tǒng),該系統(tǒng)能夠多種信號并發(fā)采集,且滿足實(shí)時(shí)性和精度的要求。
1 系統(tǒng)硬件總體設(shè)計(jì)
測試系統(tǒng)以基于PC104規(guī)范的工業(yè)控制計(jì)算機(jī)為核心[4],選擇符合系統(tǒng)精度要求的兼容采集卡并設(shè)計(jì)信號調(diào)理電路,構(gòu)成自動化測試平臺。該測試系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)原理框圖
PC104工控機(jī)采用AMD高性能、高集成、低功耗嵌入式專用CPU,主頻可達(dá)800 MHz,在主板上固化有256 MB DDR2內(nèi)存,有雙向并口、4個(gè)串口、2個(gè)USB口、IDE硬盤驅(qū)動器及PS/2鍵盤、鼠標(biāo)接口。它采用工業(yè)級器件,運(yùn)用防靜電及抗干擾電路,保證了系統(tǒng)的穩(wěn)定性和可靠性。
A/D轉(zhuǎn)化模塊采用西安億浩電子科技有限公司生產(chǎn)的EAD1612,其具有較高的共模抑制比和輸入阻抗,完全兼容PC104總線的微主控制器。A/D單端通道為16路,差分通道為8路,輸入信號量程有(±5 V,±10 V,0~20 V)三檔,轉(zhuǎn)換分辨率為12位。由于采集卡共模抑制比很大,所以本系統(tǒng)選用了差分8路通道,很好地減小了誤差。
觸摸屏有2條線與主板相連接,一條與顯示接口連接;另一條通過USB接口與觸摸屏控制器相連進(jìn)行觸摸控制。觸摸屏控制器采用支持4,8線式的觸控屏幕的USB接口的PenMount5126觸摸屏控制板,它的驅(qū)動程序支持全部的Microsoft操作系統(tǒng)平臺,具有非常好的兼容性和高度穩(wěn)定性。
I/O模塊采用EIO48,EIO48是基于PC104系統(tǒng)的3通道定時(shí)計(jì)數(shù)器48位DIO模塊,帶3個(gè)中斷源。在本系統(tǒng)中它主要應(yīng)用于數(shù)字量輸入/輸出。
打印機(jī)選用HP1008型激光打印機(jī),其數(shù)據(jù)接口與PC104的USB口連接進(jìn)行數(shù)據(jù)通信。
2 信號調(diào)理電路設(shè)計(jì)
綜合測試系統(tǒng)主要完成對數(shù)據(jù)的采集,一般由傳感器、信號調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測量轉(zhuǎn)換成電信號,然而,其所產(chǎn)生的電信號通常不能直接輸入微機(jī),必須經(jīng)過調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號幅值變換、隔離、模擬濾波等。
2.1 電壓信號調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號調(diào)理電路的引入對測量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級,在信號的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號,會受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對被測信號存在著嚴(yán)重的干擾,在很大程度上影響著測試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來除去測量信號中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會受到來自電源線的50 Hz噪聲干擾。因此,信號調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號調(diào)理電路原理圖如圖2所示。
圖2 電壓信號調(diào)理電路
2.2 電流信號調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號轉(zhuǎn)化為計(jì)算機(jī)可識別的數(shù)字信號需要先把電流信號轉(zhuǎn)化為電壓信號。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開關(guān)量信號抗干擾問題
在測試系統(tǒng)中,需要使用繼電器對一些開關(guān)進(jìn)行控制,而開關(guān)量具有數(shù)字電路中的開關(guān)性質(zhì),因此,將開關(guān)量信號經(jīng)過光電耦合電路后被采集卡采集,可以防止干擾信號進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動化測試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測試前,系統(tǒng)自動對工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號,將采集值與理論基準(zhǔn)值進(jìn)行對比,并判斷各功能部件是否工作正常,其測試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲、查詢和打印功能。
圖4 軟件測試流程圖
圖5 測試系統(tǒng)主界面
表1 測試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動化測試系統(tǒng)對實(shí)時(shí)性要求比較高,需要在同一時(shí)間對多路電壓進(jìn)行監(jiān)測,而多線程技術(shù)可以滿足測試的實(shí)時(shí)性。C#語言中,對線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過使用Thread類,可以對線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開啟線程
td.start();
private void Measure1()
{
//調(diào)用動態(tài)鏈接庫采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對數(shù)據(jù)的定時(shí)采集。Timer控件概述見表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫程序設(shè)計(jì)
在測試完成后,往往需要對測試數(shù)據(jù)和測試結(jié)果進(jìn)行存儲,以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫是存儲和管理數(shù)據(jù)的倉庫,可以很方便地對數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫。在C#語言中,可以通過編寫SQL語句來查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫一起工作,可創(chuàng)建測試數(shù)據(jù)和測試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語
本文介紹了一種基于PC104總線技術(shù)的綜合測試系統(tǒng),采用了工控機(jī)、信號采集卡和I/O模塊相結(jié)合的方式,通過搭建硬件平臺和軟件平臺的方式,實(shí)現(xiàn)了對多路信號的實(shí)時(shí)采集、處理、存儲等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡潔、操作簡單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動測試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動系統(tǒng)自動測試設(shè)備設(shè)計(jì)[J].國外電子測量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國外電子測量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動投彈器檢測系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號調(diào)理電路的分析[J].湛江師范學(xué)院學(xué)報(bào),2006,27(3):130?133.
[6] 王俊生,蔡文瀾,馬宏緒.基于Linux的PC104總線與CAN總線通信設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(23):152?154.
2 信號調(diào)理電路設(shè)計(jì)
綜合測試系統(tǒng)主要完成對數(shù)據(jù)的采集,一般由傳感器、信號調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測量轉(zhuǎn)換成電信號,然而,其所產(chǎn)生的電信號通常不能直接輸入微機(jī),必須經(jīng)過調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號幅值變換、隔離、模擬濾波等。
2.1 電壓信號調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號調(diào)理電路的引入對測量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級,在信號的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號,會受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對被測信號存在著嚴(yán)重的干擾,在很大程度上影響著測試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來除去測量信號中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會受到來自電源線的50 Hz噪聲干擾。因此,信號調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號調(diào)理電路原理圖如圖2所示。
圖2 電壓信號調(diào)理電路
2.2 電流信號調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號轉(zhuǎn)化為計(jì)算機(jī)可識別的數(shù)字信號需要先把電流信號轉(zhuǎn)化為電壓信號。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開關(guān)量信號抗干擾問題
在測試系統(tǒng)中,需要使用繼電器對一些開關(guān)進(jìn)行控制,而開關(guān)量具有數(shù)字電路中的開關(guān)性質(zhì),因此,將開關(guān)量信號經(jīng)過光電耦合電路后被采集卡采集,可以防止干擾信號進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動化測試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測試前,系統(tǒng)自動對工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號,將采集值與理論基準(zhǔn)值進(jìn)行對比,并判斷各功能部件是否工作正常,其測試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲、查詢和打印功能。
圖4 軟件測試流程圖
圖5 測試系統(tǒng)主界面
表1 測試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動化測試系統(tǒng)對實(shí)時(shí)性要求比較高,需要在同一時(shí)間對多路電壓進(jìn)行監(jiān)測,而多線程技術(shù)可以滿足測試的實(shí)時(shí)性。C#語言中,對線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過使用Thread類,可以對線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開啟線程
td.start();
private void Measure1()
{
//調(diào)用動態(tài)鏈接庫采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對數(shù)據(jù)的定時(shí)采集。Timer控件概述見表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫程序設(shè)計(jì)
在測試完成后,往往需要對測試數(shù)據(jù)和測試結(jié)果進(jìn)行存儲,以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫是存儲和管理數(shù)據(jù)的倉庫,可以很方便地對數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫。在C#語言中,可以通過編寫SQL語句來查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫一起工作,可創(chuàng)建測試數(shù)據(jù)和測試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語
本文介紹了一種基于PC104總線技術(shù)的綜合測試系統(tǒng),采用了工控機(jī)、信號采集卡和I/O模塊相結(jié)合的方式,通過搭建硬件平臺和軟件平臺的方式,實(shí)現(xiàn)了對多路信號的實(shí)時(shí)采集、處理、存儲等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡潔、操作簡單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動測試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動系統(tǒng)自動測試設(shè)備設(shè)計(jì)[J].國外電子測量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國外電子測量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動投彈器檢測系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號調(diào)理電路的分析[J].湛江師范學(xué)院學(xué)報(bào),2006,27(3):130?133.
[6] 王俊生,蔡文瀾,馬宏緒.基于Linux的PC104總線與CAN總線通信設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(23):152?154.
2 信號調(diào)理電路設(shè)計(jì)
綜合測試系統(tǒng)主要完成對數(shù)據(jù)的采集,一般由傳感器、信號調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測量轉(zhuǎn)換成電信號,然而,其所產(chǎn)生的電信號通常不能直接輸入微機(jī),必須經(jīng)過調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號幅值變換、隔離、模擬濾波等。
2.1 電壓信號調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號調(diào)理電路的引入對測量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級,在信號的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號,會受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對被測信號存在著嚴(yán)重的干擾,在很大程度上影響著測試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來除去測量信號中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會受到來自電源線的50 Hz噪聲干擾。因此,信號調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號調(diào)理電路原理圖如圖2所示。
圖2 電壓信號調(diào)理電路
2.2 電流信號調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號轉(zhuǎn)化為計(jì)算機(jī)可識別的數(shù)字信號需要先把電流信號轉(zhuǎn)化為電壓信號。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開關(guān)量信號抗干擾問題
在測試系統(tǒng)中,需要使用繼電器對一些開關(guān)進(jìn)行控制,而開關(guān)量具有數(shù)字電路中的開關(guān)性質(zhì),因此,將開關(guān)量信號經(jīng)過光電耦合電路后被采集卡采集,可以防止干擾信號進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動化測試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測試前,系統(tǒng)自動對工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號,將采集值與理論基準(zhǔn)值進(jìn)行對比,并判斷各功能部件是否工作正常,其測試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲、查詢和打印功能。
圖4 軟件測試流程圖
圖5 測試系統(tǒng)主界面
表1 測試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動化測試系統(tǒng)對實(shí)時(shí)性要求比較高,需要在同一時(shí)間對多路電壓進(jìn)行監(jiān)測,而多線程技術(shù)可以滿足測試的實(shí)時(shí)性。C#語言中,對線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過使用Thread類,可以對線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開啟線程
td.start();
private void Measure1()
{
//調(diào)用動態(tài)鏈接庫采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對數(shù)據(jù)的定時(shí)采集。Timer控件概述見表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫程序設(shè)計(jì)
在測試完成后,往往需要對測試數(shù)據(jù)和測試結(jié)果進(jìn)行存儲,以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫是存儲和管理數(shù)據(jù)的倉庫,可以很方便地對數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫。在C#語言中,可以通過編寫SQL語句來查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫一起工作,可創(chuàng)建測試數(shù)據(jù)和測試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語
本文介紹了一種基于PC104總線技術(shù)的綜合測試系統(tǒng),采用了工控機(jī)、信號采集卡和I/O模塊相結(jié)合的方式,通過搭建硬件平臺和軟件平臺的方式,實(shí)現(xiàn)了對多路信號的實(shí)時(shí)采集、處理、存儲等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡潔、操作簡單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動測試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動系統(tǒng)自動測試設(shè)備設(shè)計(jì)[J].國外電子測量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國外電子測量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動投彈器檢測系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號調(diào)理電路的分析[J].湛江師范學(xué)院學(xué)報(bào),2006,27(3):130?133.
[6] 王俊生,蔡文瀾,馬宏緒.基于Linux的PC104總線與CAN總線通信設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(23):152?154.