• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向多種總線測(cè)試設(shè)備的軟件設(shè)計(jì)

      2015-04-12 00:00:00林立杰耿濤
      現(xiàn)代電子技術(shù) 2015年3期

      摘 要: 介紹了一種面向多種總線測(cè)試設(shè)備的軟件設(shè)計(jì),通過(guò)GPIB、TCP網(wǎng)絡(luò)、RS 485串口等總線編程技術(shù),采用多線程編程方法實(shí)現(xiàn)對(duì)GPIB?IEEE488.2接口測(cè)量設(shè)備、網(wǎng)絡(luò)接口示波器以及串口測(cè)量設(shè)備的分時(shí)通信,最終實(shí)現(xiàn)數(shù)據(jù)采集的目的。

      關(guān)鍵字: 總線接口; 數(shù)據(jù)采集; 多線程; 分時(shí)通信

      中圖分類號(hào): TN06?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)03?0085?02

      Software design for multiple bus testing devices

      LIN Li?jie, GENG Tao

      (Institute of Electronic Engineering, China Academy of Engineering Physics, Mianyang 621900, China)

      Abstract: The software design for multiple bus testing devices is introduced in this paper. By using GPIB, TCP network and RS485 serial bus program technology, the time?share communication with GBIB?IEEE488.2 interface measuring equipment, network interface oscilloscope and serial port measuring equipment was realized by means of the multithread programming method. The design goal of data acquisition was realized ultimately.

      Keywords: bus interface; data acquisition; multithread; time?share communication

      具有面向多總線設(shè)備測(cè)試功能的檢測(cè)設(shè)備是一個(gè)串行化處理設(shè)備,該設(shè)備采用了GPIB、TCP網(wǎng)絡(luò)、RS 485等總線通信技術(shù),可分時(shí)控制GPIB測(cè)量?jī)x器、網(wǎng)絡(luò)示波器、串口測(cè)試設(shè)備等多種測(cè)量設(shè)備進(jìn)行數(shù)據(jù)測(cè)量,然后從各設(shè)備回讀采集數(shù)據(jù)進(jìn)行數(shù)據(jù)處理;該軟件基于Windows XP系統(tǒng)操作,采用VC++、SP6開(kāi)發(fā)工具進(jìn)行軟件開(kāi)發(fā),采用BCGControlBar Pro作為界面庫(kù)、采用ProEssentials控件作為圖形繪制庫(kù),最終可完成設(shè)備檢測(cè)、數(shù)據(jù)采集、數(shù)據(jù)通信、波形顯示、報(bào)表打印等功能。

      1 硬件結(jié)構(gòu)

      該測(cè)試系統(tǒng)采用一臺(tái)工控機(jī)作為測(cè)試控制主機(jī),工控機(jī)具有網(wǎng)絡(luò)端口、GPIB板卡、RS 485串口卡以及繼電器板卡。按照測(cè)試工作流程,依次與GPIB測(cè)量?jī)x器、網(wǎng)絡(luò)示波器、串口測(cè)試設(shè)備等進(jìn)行通信,分時(shí)控制這些設(shè)備進(jìn)行數(shù)據(jù)采集和測(cè)試,然后從這些不同總線設(shè)備獲得測(cè)試數(shù)據(jù)后進(jìn)行數(shù)據(jù)處理和分析達(dá)到測(cè)試目的,其硬件主要結(jié)構(gòu)如圖1所示。

      2 軟件結(jié)構(gòu)

      軟件采用C/C++語(yǔ)言編程,軟件總體結(jié)構(gòu)如圖2所示。軟件主要功能包括:設(shè)備自檢、設(shè)備參數(shù)設(shè)置、自動(dòng)測(cè)試控制、波形顯示及數(shù)據(jù)處理、參數(shù)回放及打印等功能。設(shè)備自檢部分主要完成繼電器板卡及通道自檢、GPIB板卡端口及設(shè)備通信自檢、與網(wǎng)絡(luò)示波器通信自檢以及串口端口自檢等功能;設(shè)備參數(shù)配置主要完成測(cè)試記錄(測(cè)試設(shè)備編號(hào)、測(cè)試項(xiàng)目、操作人、測(cè)試時(shí)間等項(xiàng)目)填寫、按照不同試驗(yàn)項(xiàng)目選擇不同的測(cè)試項(xiàng)目、預(yù)先設(shè)定測(cè)試項(xiàng)目閾值用于作合格判據(jù);自動(dòng)測(cè)試控制程序部分采用了多線程設(shè)計(jì)技術(shù),將測(cè)試流程里的測(cè)試項(xiàng)目作為串行處理測(cè)試節(jié)點(diǎn),按照測(cè)試流程分時(shí)完成各測(cè)試節(jié)點(diǎn)的通信測(cè)試;波形顯示及數(shù)據(jù)處理部分將讀回的示波器波形進(jìn)行顯示,將讀回的數(shù)據(jù)進(jìn)行處理獲得最大值、最小值和均值,將每次測(cè)試記錄填寫到由CBCGPGridCtrl派生的Grid控件表格,最后輸出數(shù)據(jù)到報(bào)表中;參數(shù)回放部分與Grid控件聯(lián)系緊密,參數(shù)回讀后數(shù)據(jù)顯示在Grid控件表格,通過(guò)點(diǎn)選Grid控件中的每次測(cè)試記錄,將對(duì)應(yīng)的每次測(cè)試存儲(chǔ)記錄包括波形和數(shù)據(jù)進(jìn)行回放,并能通過(guò)報(bào)表進(jìn)行參數(shù)打印。

      3 關(guān)鍵編程技術(shù)

      3.1 讀GPIB設(shè)備編程技術(shù)

      通過(guò)GPIB總線接口設(shè)備可以對(duì)快速測(cè)量信號(hào)或高壓信號(hào)進(jìn)行測(cè)試,這里采用數(shù)字萬(wàn)用表3410A通過(guò)GPIB總線接口設(shè)備完成測(cè)量任務(wù),測(cè)試系統(tǒng)軟件首先申明GPIB端口地址等屬性,打開(kāi)相應(yīng)端口地址后,通過(guò)自檢GPIB?IEEE 488.2通信接口查詢找到對(duì)應(yīng)的GPIB設(shè)備。在自動(dòng)測(cè)試流程線程,當(dāng)程序運(yùn)行到GPIB參數(shù)讀取測(cè)試節(jié)點(diǎn)時(shí),測(cè)試系統(tǒng)軟件將測(cè)試數(shù)據(jù)從GPIB測(cè)試設(shè)備讀回,通過(guò)Windows窗口消息機(jī)制返回到窗口界面顯示測(cè)量數(shù)值。

      3.2 讀網(wǎng)絡(luò)示波器編程技術(shù)

      通過(guò)示波器設(shè)備可以直接對(duì)測(cè)量信號(hào)進(jìn)行精細(xì)化測(cè)量,可以達(dá)到納秒級(jí)的測(cè)量精度,測(cè)試設(shè)備采用泰克DPO4054B示波器進(jìn)行測(cè)量。軟件設(shè)計(jì)時(shí)在頭文件中包括了Visa.h頭文件,在庫(kù)鏈接中鏈接了Visa32.lib庫(kù)文件,同時(shí)結(jié)合Agilent IOlibary接口庫(kù)軟件,運(yùn)用Visa編程技術(shù),查找到TCP網(wǎng)絡(luò)示波器后打開(kāi)示波器進(jìn)行通信。軟件啟動(dòng)后通過(guò)自檢網(wǎng)絡(luò)查詢找到對(duì)應(yīng)的示波器設(shè)備,在自動(dòng)測(cè)試流程線程,當(dāng)程序運(yùn)行到示波器參數(shù)讀取測(cè)試節(jié)點(diǎn)時(shí),測(cè)試系統(tǒng)軟件將測(cè)試數(shù)據(jù)從示波器讀回,隨后運(yùn)用一定的算法處理數(shù)據(jù),可以獲得示波器無(wú)法直接測(cè)量的數(shù)據(jù)值。

      3.3 RS 485總線串口編程技術(shù)

      軟件串口編程技術(shù)比較成熟,通常設(shè)計(jì)方法為應(yīng)用程序開(kāi)啟即打開(kāi)所有串口,在應(yīng)用程序退出時(shí)關(guān)閉所有串口,不推薦在應(yīng)用程序內(nèi)不停打開(kāi)或關(guān)閉串口,這樣存在與硬件兼容性的風(fēng)險(xiǎn),也不容易排除故障。

      本應(yīng)用程序在設(shè)備自檢打開(kāi)端口后,在自動(dòng)測(cè)試流程線程,當(dāng)程序運(yùn)行到串口設(shè)備參數(shù)讀取測(cè)試節(jié)點(diǎn)時(shí),通過(guò)讀/寫串口端口完成數(shù)據(jù)讀/寫。

      3.4 界面設(shè)計(jì)編程技術(shù)

      采用BCGControlBar界面庫(kù)設(shè)計(jì)軟件總體界面,軟件顯示采用OutLook模式,左側(cè)一列顯示主窗口操作按鈕,按鈕操作允許對(duì)設(shè)備進(jìn)行自檢;在測(cè)試界面和報(bào)表顯示界面進(jìn)行切換;進(jìn)行參數(shù)設(shè)置及參數(shù)回讀操作。

      軟件居中采用ProEssentials繪圖軟件控件設(shè)計(jì)波形曲線窗口,既可用于測(cè)量時(shí)顯示波形曲線,又可在參數(shù)回讀時(shí)顯示波形曲線。

      軟件右側(cè)采用基于CBCGPGridCtrl類派生基類生成的參數(shù)報(bào)表,可以用于顯示每次實(shí)驗(yàn)數(shù)據(jù)。每做完一次試驗(yàn)則在報(bào)表顯示一列數(shù)據(jù),記錄一次試驗(yàn)波形數(shù)據(jù),方便使用者在一個(gè)時(shí)間段觀察試驗(yàn)記錄。

      4 軟件可靠性設(shè)計(jì)

      測(cè)試系統(tǒng)軟件設(shè)計(jì)中采用了一定的可靠性設(shè)計(jì)方法保證測(cè)試設(shè)備的軟件健壯性,首先在軟件啟動(dòng)的自檢階段確保與所有端口設(shè)備連接正常并通信正常,確保后續(xù)自動(dòng)測(cè)試流程前軟硬件通信正確無(wú)誤;軟件采用Windows消息機(jī)制,避免線程內(nèi)對(duì)Windows窗體進(jìn)行操作;對(duì)返回的波形數(shù)據(jù)軟件采用一定點(diǎn)數(shù)的平滑濾波處理技術(shù),防止讀回的數(shù)據(jù)異常影響軟件邊界。

      5 結(jié) 論

      經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,該測(cè)試系統(tǒng)軟件可以很好地完成連續(xù)性試驗(yàn)任務(wù),能很好的適用于實(shí)時(shí)性要求不高但需要連續(xù)測(cè)試記錄的試驗(yàn)場(chǎng)合。證明采用多線程分時(shí)控制技術(shù)可以很好地將多種總線接口測(cè)量設(shè)備結(jié)合在一起測(cè)量不同類型的信號(hào),從而達(dá)到一個(gè)測(cè)試系統(tǒng)完成多種測(cè)量任務(wù)的目的。

      參考文獻(xiàn)

      [1] LRINRVKRT R C. Visual C++ bible [M]. 北京:電子工業(yè)出版,1999.

      [2] 徐曉剛,高兆法,王秀娟.Visual C++ 6.0入門與提高[M].北京:清華大學(xué)出版社,1999.

      [3] 林立杰.基于RS 422接口的備份測(cè)試系統(tǒng)設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2008(8):23?26.

      [4] 涂詩(shī)美.一種飛行器地面測(cè)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)自動(dòng)測(cè)量與控制,2000(3):39?42.

      [5] 李筱雅,尚麗娜,張芹芹.1553總線測(cè)試仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(10):53?56.

      [6] 趙宇翔,樊曉光,王徐華.基于總線ICD測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2010,33(8):87?89.

      荣昌县| 长海县| 利津县| 屯门区| 金塔县| 广南县| 囊谦县| 马边| 金沙县| 大方县| 义马市| 绥阳县| 昌平区| 佳木斯市| 广昌县| 安平县| 龙井市| 崇文区| 临夏县| 林芝县| 陆丰市| 南溪县| 兴文县| 利川市| 横山县| 老河口市| 延边| 图木舒克市| 忻州市| 青铜峡市| 东乡县| 宁阳县| 布尔津县| 屏山县| 马龙县| 沭阳县| 保定市| 湖口县| 深水埗区| 温泉县| 石渠县|