文濤+左東廣+李站良
摘 要: 為解決某型武器系統(tǒng)測(cè)試過(guò)程中方法繁瑣、檢測(cè)結(jié)果不夠直觀的問(wèn)題,在分析測(cè)試需求的基礎(chǔ)上,提出了基于PC104嵌入式計(jì)算機(jī)的測(cè)試方案,搭建了自動(dòng)化測(cè)試系統(tǒng)硬件環(huán)境,并在Visual Studio 2010開(kāi)發(fā)環(huán)境下,采用模塊化與多線程處理方式實(shí)現(xiàn)了測(cè)試系統(tǒng)的交互式測(cè)試。對(duì)部分原理電路進(jìn)行了分析,詳細(xì)介紹了軟件編程中數(shù)據(jù)庫(kù)、報(bào)表打印等關(guān)鍵技術(shù)。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡(jiǎn)潔、操作簡(jiǎn)單,有效地保障了部隊(duì)的作戰(zhàn)和訓(xùn)練任務(wù)。
關(guān)鍵字: PC104; 自動(dòng)化測(cè)試; Visual Studio; C#
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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),測(cè)試系統(tǒng)出現(xiàn)了以總線技術(shù)為基礎(chǔ)的自動(dòng)化測(cè)試系統(tǒng)[1]。目前,PXI、EISA、PC104等總線被廣泛應(yīng)用在自動(dòng)化測(cè)試系統(tǒng)中[2],PC104因?yàn)槠潴w積小、成本低、兼容性好等優(yōu)點(diǎn),被廣泛地應(yīng)用于商業(yè)、工業(yè)、航空以及軍事等眾多領(lǐng)域[3]。
目前,我國(guó)的武器系統(tǒng)正處在快速發(fā)展的新階段,而保障其發(fā)揮優(yōu)越性能的地測(cè)設(shè)備發(fā)展卻相對(duì)滯后。某型武器綜合測(cè)試系統(tǒng)自動(dòng)化程度還不是很高,且采用PC機(jī)進(jìn)行測(cè)試,整個(gè)測(cè)試系統(tǒng)體積龐大,嚴(yán)重影響了部隊(duì)的應(yīng)急作戰(zhàn)能力。因此,本文針對(duì)測(cè)試需求,構(gòu)建了基于PC104總線的嵌入式系統(tǒng)結(jié)構(gòu),并利用Microsoft Windows XP系統(tǒng)平臺(tái),在Visual Studio 2010開(kāi)發(fā)環(huán)境和.NET框架下,設(shè)計(jì)了自動(dòng)化測(cè)試系統(tǒng),該系統(tǒng)能夠多種信號(hào)并發(fā)采集,且滿足實(shí)時(shí)性和精度的要求。
1 系統(tǒng)硬件總體設(shè)計(jì)
測(cè)試系統(tǒng)以基于PC104規(guī)范的工業(yè)控制計(jì)算機(jī)為核心[4],選擇符合系統(tǒng)精度要求的兼容采集卡并設(shè)計(jì)信號(hào)調(diào)理電路,構(gòu)成自動(dòng)化測(cè)試平臺(tái)。該測(cè)試系統(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ū)動(dòng)器及PS/2鍵盤、鼠標(biāo)接口。它采用工業(yè)級(jí)器件,運(yùn)用防靜電及抗干擾電路,保證了系統(tǒng)的穩(wěn)定性和可靠性。
A/D轉(zhuǎn)化模塊采用西安億浩電子科技有限公司生產(chǎn)的EAD1612,其具有較高的共模抑制比和輸入阻抗,完全兼容PC104總線的微主控制器。A/D單端通道為16路,差分通道為8路,輸入信號(hào)量程有(±5 V,±10 V,0~20 V)三檔,轉(zhuǎn)換分辨率為12位。由于采集卡共模抑制比很大,所以本系統(tǒng)選用了差分8路通道,很好地減小了誤差。
觸摸屏有2條線與主板相連接,一條與顯示接口連接;另一條通過(guò)USB接口與觸摸屏控制器相連進(jìn)行觸摸控制。觸摸屏控制器采用支持4,8線式的觸控屏幕的USB接口的PenMount5126觸摸屏控制板,它的驅(qū)動(dòng)程序支持全部的Microsoft操作系統(tǒng)平臺(tái),具有非常好的兼容性和高度穩(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 信號(hào)調(diào)理電路設(shè)計(jì)
綜合測(cè)試系統(tǒng)主要完成對(duì)數(shù)據(jù)的采集,一般由傳感器、信號(hào)調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測(cè)量轉(zhuǎn)換成電信號(hào),然而,其所產(chǎn)生的電信號(hào)通常不能直接輸入微機(jī),必須經(jīng)過(guò)調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號(hào)調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號(hào)幅值變換、隔離、模擬濾波等。
2.1 電壓信號(hào)調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號(hào)調(diào)理電路的引入對(duì)測(cè)量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級(jí),在信號(hào)的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過(guò)調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號(hào),會(huì)受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對(duì)被測(cè)信號(hào)存在著嚴(yán)重的干擾,在很大程度上影響著測(cè)試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對(duì)系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來(lái)除去測(cè)量信號(hào)中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測(cè)試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會(huì)受到來(lái)自電源線的50 Hz噪聲干擾。因此,信號(hào)調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號(hào)調(diào)理電路原理圖如圖2所示。
圖2 電壓信號(hào)調(diào)理電路
2.2 電流信號(hào)調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號(hào)轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的數(shù)字信號(hào)需要先把電流信號(hào)轉(zhuǎn)化為電壓信號(hào)。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號(hào)采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開(kāi)關(guān)量信號(hào)抗干擾問(wèn)題
在測(cè)試系統(tǒng)中,需要使用繼電器對(duì)一些開(kāi)關(guān)進(jìn)行控制,而開(kāi)關(guān)量具有數(shù)字電路中的開(kāi)關(guān)性質(zhì),因此,將開(kāi)關(guān)量信號(hào)經(jīng)過(guò)光電耦合電路后被采集卡采集,可以防止干擾信號(hào)進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動(dòng)化測(cè)試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開(kāi)發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測(cè)試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測(cè)試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測(cè)試前,系統(tǒng)自動(dòng)對(duì)工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號(hào),將采集值與理論基準(zhǔn)值進(jìn)行對(duì)比,并判斷各功能部件是否工作正常,其測(cè)試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲(chǔ)、查詢和打印功能。
圖4 軟件測(cè)試流程圖
圖5 測(cè)試系統(tǒng)主界面
表1 測(cè)試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動(dòng)化測(cè)試系統(tǒng)對(duì)實(shí)時(shí)性要求比較高,需要在同一時(shí)間對(duì)多路電壓進(jìn)行監(jiān)測(cè),而多線程技術(shù)可以滿足測(cè)試的實(shí)時(shí)性。C#語(yǔ)言中,對(duì)線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過(guò)使用Thread類,可以對(duì)線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對(duì)象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開(kāi)啟線程
td.start();
private void Measure1()
{
//調(diào)用動(dòng)態(tài)鏈接庫(kù)采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測(cè)試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的定時(shí)采集。Timer控件概述見(jiàn)表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫(kù)程序設(shè)計(jì)
在測(cè)試完成后,往往需要對(duì)測(cè)試數(shù)據(jù)和測(cè)試結(jié)果進(jìn)行存儲(chǔ),以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫(kù)是存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),可以很方便地對(duì)數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫(kù)。在C#語(yǔ)言中,可以通過(guò)編寫SQL語(yǔ)句來(lái)查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開(kāi)發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺(tái)上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫(kù)一起工作,可創(chuàng)建測(cè)試數(shù)據(jù)和測(cè)試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過(guò)多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語(yǔ)
本文介紹了一種基于PC104總線技術(shù)的綜合測(cè)試系統(tǒng),采用了工控機(jī)、信號(hào)采集卡和I/O模塊相結(jié)合的方式,通過(guò)搭建硬件平臺(tái)和軟件平臺(tái)的方式,實(shí)現(xiàn)了對(duì)多路信號(hào)的實(shí)時(shí)采集、處理、存儲(chǔ)等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡(jiǎn)潔、操作簡(jiǎn)單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動(dòng)測(cè)試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動(dòng)系統(tǒng)自動(dòng)測(cè)試設(shè)備設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹(shù)檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動(dòng)投彈器檢測(cè)系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號(hào)調(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 信號(hào)調(diào)理電路設(shè)計(jì)
綜合測(cè)試系統(tǒng)主要完成對(duì)數(shù)據(jù)的采集,一般由傳感器、信號(hào)調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測(cè)量轉(zhuǎn)換成電信號(hào),然而,其所產(chǎn)生的電信號(hào)通常不能直接輸入微機(jī),必須經(jīng)過(guò)調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號(hào)調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號(hào)幅值變換、隔離、模擬濾波等。
2.1 電壓信號(hào)調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號(hào)調(diào)理電路的引入對(duì)測(cè)量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級(jí),在信號(hào)的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過(guò)調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號(hào),會(huì)受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對(duì)被測(cè)信號(hào)存在著嚴(yán)重的干擾,在很大程度上影響著測(cè)試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對(duì)系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來(lái)除去測(cè)量信號(hào)中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測(cè)試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會(huì)受到來(lái)自電源線的50 Hz噪聲干擾。因此,信號(hào)調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號(hào)調(diào)理電路原理圖如圖2所示。
圖2 電壓信號(hào)調(diào)理電路
2.2 電流信號(hào)調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號(hào)轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的數(shù)字信號(hào)需要先把電流信號(hào)轉(zhuǎn)化為電壓信號(hào)。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號(hào)采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開(kāi)關(guān)量信號(hào)抗干擾問(wèn)題
在測(cè)試系統(tǒng)中,需要使用繼電器對(duì)一些開(kāi)關(guān)進(jìn)行控制,而開(kāi)關(guān)量具有數(shù)字電路中的開(kāi)關(guān)性質(zhì),因此,將開(kāi)關(guān)量信號(hào)經(jīng)過(guò)光電耦合電路后被采集卡采集,可以防止干擾信號(hào)進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動(dòng)化測(cè)試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開(kāi)發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測(cè)試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測(cè)試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測(cè)試前,系統(tǒng)自動(dòng)對(duì)工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號(hào),將采集值與理論基準(zhǔn)值進(jìn)行對(duì)比,并判斷各功能部件是否工作正常,其測(cè)試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲(chǔ)、查詢和打印功能。
圖4 軟件測(cè)試流程圖
圖5 測(cè)試系統(tǒng)主界面
表1 測(cè)試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動(dòng)化測(cè)試系統(tǒng)對(duì)實(shí)時(shí)性要求比較高,需要在同一時(shí)間對(duì)多路電壓進(jìn)行監(jiān)測(cè),而多線程技術(shù)可以滿足測(cè)試的實(shí)時(shí)性。C#語(yǔ)言中,對(duì)線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過(guò)使用Thread類,可以對(duì)線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對(duì)象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開(kāi)啟線程
td.start();
private void Measure1()
{
//調(diào)用動(dòng)態(tài)鏈接庫(kù)采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測(cè)試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的定時(shí)采集。Timer控件概述見(jiàn)表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫(kù)程序設(shè)計(jì)
在測(cè)試完成后,往往需要對(duì)測(cè)試數(shù)據(jù)和測(cè)試結(jié)果進(jìn)行存儲(chǔ),以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫(kù)是存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),可以很方便地對(duì)數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫(kù)。在C#語(yǔ)言中,可以通過(guò)編寫SQL語(yǔ)句來(lái)查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開(kāi)發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺(tái)上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫(kù)一起工作,可創(chuàng)建測(cè)試數(shù)據(jù)和測(cè)試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過(guò)多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語(yǔ)
本文介紹了一種基于PC104總線技術(shù)的綜合測(cè)試系統(tǒng),采用了工控機(jī)、信號(hào)采集卡和I/O模塊相結(jié)合的方式,通過(guò)搭建硬件平臺(tái)和軟件平臺(tái)的方式,實(shí)現(xiàn)了對(duì)多路信號(hào)的實(shí)時(shí)采集、處理、存儲(chǔ)等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡(jiǎn)潔、操作簡(jiǎn)單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動(dòng)測(cè)試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動(dòng)系統(tǒng)自動(dòng)測(cè)試設(shè)備設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹(shù)檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動(dòng)投彈器檢測(cè)系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號(hào)調(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 信號(hào)調(diào)理電路設(shè)計(jì)
綜合測(cè)試系統(tǒng)主要完成對(duì)數(shù)據(jù)的采集,一般由傳感器、信號(hào)調(diào)理電路、A/D轉(zhuǎn)化電路等幾部分構(gòu)成[5]。其中,傳感器的作用是將被測(cè)量轉(zhuǎn)換成電信號(hào),然而,其所產(chǎn)生的電信號(hào)通常不能直接輸入微機(jī),必須經(jīng)過(guò)調(diào)理才能被數(shù)據(jù)采集設(shè)備可靠的采集。因此,信號(hào)調(diào)理電路是數(shù)據(jù)采集系統(tǒng)非常重要的組成部分,其電路一般包括信號(hào)幅值變換、隔離、模擬濾波等。
2.1 電壓信號(hào)調(diào)理電路設(shè)計(jì)
(1) 輸入電路設(shè)計(jì)
為了避免信號(hào)調(diào)理電路的引入對(duì)測(cè)量結(jié)果產(chǎn)生較大影響,往往需要調(diào)理電路中輸入阻抗足夠大。
(2) 幅值變換電路設(shè)計(jì)
EAD1612采集卡分辨率為12位,其采集精度可達(dá)到mW級(jí),在信號(hào)的軟件采集模塊中將采集范圍設(shè)置為-10~10 V。系統(tǒng)中的電壓幅值在28 V左右,需要經(jīng)過(guò)調(diào)理電路的降壓處理才可直接被采集卡采集。
(3) 濾波器的設(shè)計(jì)
一般情況下,經(jīng)傳感器轉(zhuǎn)換的電信號(hào),會(huì)受到傳感器以及電路本身的影響,而含有多種頻率的噪聲,噪聲對(duì)被測(cè)信號(hào)存在著嚴(yán)重的干擾,在很大程度上影響著測(cè)試的可靠度。所以,在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),必須考慮到噪聲對(duì)系統(tǒng)的影響,在硬件上設(shè)計(jì)濾波器來(lái)除去測(cè)量信號(hào)中的噪聲,增強(qiáng)系統(tǒng)的抗干擾能力。
在實(shí)際測(cè)試中,幾乎所有的數(shù)據(jù)采集系統(tǒng)都會(huì)受到來(lái)自電源線的50 Hz噪聲干擾。因此,信號(hào)調(diào)理模塊需要包含低通濾波器,最大限度地剔除50 Hz噪聲。本文采用二階有源低通濾波器。電壓信號(hào)調(diào)理電路原理圖如圖2所示。
圖2 電壓信號(hào)調(diào)理電路
2.2 電流信號(hào)調(diào)理電路設(shè)計(jì)
為了將模擬的電流信號(hào)轉(zhuǎn)化為計(jì)算機(jī)可識(shí)別的數(shù)字信號(hào)需要先把電流信號(hào)轉(zhuǎn)化為電壓信號(hào)。具體到本系統(tǒng),需要將大小為400 mA左右的電流信號(hào)采集到計(jì)算機(jī)中。所以,設(shè)計(jì)I/V轉(zhuǎn)換電路如圖 3所示。
圖3 I/V轉(zhuǎn)換電路
2.3 開(kāi)關(guān)量信號(hào)抗干擾問(wèn)題
在測(cè)試系統(tǒng)中,需要使用繼電器對(duì)一些開(kāi)關(guān)進(jìn)行控制,而開(kāi)關(guān)量具有數(shù)字電路中的開(kāi)關(guān)性質(zhì),因此,將開(kāi)關(guān)量信號(hào)經(jīng)過(guò)光電耦合電路后被采集卡采集,可以防止干擾信號(hào)進(jìn)入系統(tǒng)。
3 系統(tǒng)軟件總體設(shè)計(jì)
自動(dòng)化測(cè)試軟件是基于Windows XP操作系統(tǒng),在Visual Studio 2010開(kāi)發(fā)環(huán)境和.NET框架下編寫的面向?qū)ο蟮目梢暬瘧?yīng)用程序,其測(cè)試流程如圖 4所示。軟件采用模塊化設(shè)計(jì),綜合測(cè)試主界面如圖 5所示。
主要功能有:
(1) 進(jìn)行綜合測(cè)試前,系統(tǒng)自動(dòng)對(duì)工控機(jī)、板卡、觸摸屏等進(jìn)行自檢;
(2) 控制PC104工控機(jī)及板卡實(shí)時(shí)采集輸出信號(hào),將采集值與理論基準(zhǔn)值進(jìn)行對(duì)比,并判斷各功能部件是否工作正常,其測(cè)試數(shù)據(jù)表1所示。
(3) 實(shí)現(xiàn)數(shù)據(jù)的顯示、存儲(chǔ)、查詢和打印功能。
圖4 軟件測(cè)試流程圖
圖5 測(cè)試系統(tǒng)主界面
表1 測(cè)試數(shù)據(jù)
3.1 多線程程序設(shè)計(jì)
自動(dòng)化測(cè)試系統(tǒng)對(duì)實(shí)時(shí)性要求比較高,需要在同一時(shí)間對(duì)多路電壓進(jìn)行監(jiān)測(cè),而多線程技術(shù)可以滿足測(cè)試的實(shí)時(shí)性。C#語(yǔ)言中,對(duì)線程進(jìn)行操作時(shí),主要用到Thread類,該類位于System.Threading命名空間下。通過(guò)使用Thread類,可以對(duì)線程進(jìn)行創(chuàng)建、暫停、恢復(fù)等操作,設(shè)計(jì)程序如下:
//引用Thread類命名空間
using System.Threading;
//實(shí)例化線程對(duì)象
Thread td=new Thread(new ThreadStart(this.Measure1));
//開(kāi)啟線程
td.start();
private void Measure1()
{
//調(diào)用動(dòng)態(tài)鏈接庫(kù)采集數(shù)據(jù)
U1=dll.EAD1612_IORead(Index,Port);
}
3.2 數(shù)據(jù)定時(shí)采集
在測(cè)試系統(tǒng)中,合理數(shù)據(jù)采集的關(guān)鍵是是定時(shí)。在Windows窗體環(huán)境下,Timer控件可以定期引發(fā)事件,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的定時(shí)采集。Timer控件概述見(jiàn)表2。
表2 Timer控件概述
3.3 數(shù)據(jù)庫(kù)程序設(shè)計(jì)
在測(cè)試完成后,往往需要對(duì)測(cè)試數(shù)據(jù)和測(cè)試結(jié)果進(jìn)行存儲(chǔ),以便日后數(shù)據(jù)的查詢。而數(shù)據(jù)庫(kù)是存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),可以很方便地對(duì)數(shù)據(jù)進(jìn)行管理,本文中使用的是SQL Sever 2008數(shù)據(jù)庫(kù)。在C#語(yǔ)言中,可以通過(guò)編寫SQL語(yǔ)句來(lái)查詢、添加、更新和刪除數(shù)據(jù)。
3.4 報(bào)表打印程序設(shè)計(jì)
水晶報(bào)表(Crystal Reports)是內(nèi)置于Visual Studio開(kāi)發(fā)環(huán)境中的一種報(bào)表設(shè)計(jì)工具,它能夠在.NET平臺(tái)上創(chuàng)建復(fù)雜且專業(yè)的報(bào)表。本文中,將水晶報(bào)表協(xié)同數(shù)據(jù)庫(kù)一起工作,可創(chuàng)建測(cè)試數(shù)據(jù)和測(cè)試結(jié)果報(bào)表,而且設(shè)計(jì)好報(bào)表之后,可以通過(guò)多種形式輸出,例如Word、Excel等。Windows應(yīng)用程序中還提供了一組打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在輸出報(bào)表時(shí),可以直接使用這些控件控制打印文本的格式。
4 結(jié) 語(yǔ)
本文介紹了一種基于PC104總線技術(shù)的綜合測(cè)試系統(tǒng),采用了工控機(jī)、信號(hào)采集卡和I/O模塊相結(jié)合的方式,通過(guò)搭建硬件平臺(tái)和軟件平臺(tái)的方式,實(shí)現(xiàn)了對(duì)多路信號(hào)的實(shí)時(shí)采集、處理、存儲(chǔ)等功能。結(jié)果表明,該系統(tǒng)可靠性高、實(shí)時(shí)性好、界面簡(jiǎn)潔、操作簡(jiǎn)單。
參考文獻(xiàn)
[1] 秦紅磊, 路輝,郎榮玲.自動(dòng)測(cè)試系統(tǒng):硬件及軟件技術(shù)[M].北京:高等教育出版社,2007.
[2] 王毅,石志勇,王懷光,等.基于 PC104 總線的某隨動(dòng)系統(tǒng)自動(dòng)測(cè)試設(shè)備設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2011,30(7):43?45.
[3] 鄧衛(wèi)強(qiáng),卞樹(shù)檀,曾昌錦.PC/104 通用外圍接口電路設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2006,25(4):19?21.
[4] 王昊鵬,范惠林,齊鐸.基于 PC104 的電動(dòng)投彈器檢測(cè)系統(tǒng)電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(17):179?182.
[5] 黎瓊,溫泉徹,方大良.數(shù)據(jù)采集系統(tǒng)中通用信號(hào)調(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.