(中國洛陽電子信息裝備試驗(yàn)中心,河南 洛陽 471003)
信號(hào)接收機(jī)隨著使用時(shí)間的增加,由機(jī)械損傷以及電子元器件老化等因素引起的測試數(shù)據(jù)不準(zhǔn)確現(xiàn)象經(jīng)常發(fā)生。為保證信號(hào)接收機(jī)接收信號(hào)的準(zhǔn)確度和可靠性,需要對其開展測試校準(zhǔn)工作。常規(guī)的手動(dòng)校準(zhǔn)不僅耗時(shí)長、效率低,而且校準(zhǔn)工作自動(dòng)化水平低,難以滿足大工作量的測試校準(zhǔn)工作需求。
進(jìn)行以機(jī)架和疊加式的測試儀器操作存在體積大、運(yùn)輸繁重以及操作復(fù)雜等缺點(diǎn),開展測試校準(zhǔn)工作時(shí),便攜程度低,不便于多場地現(xiàn)場校準(zhǔn)。目前,隨著板卡式測試儀器應(yīng)用技術(shù)越來越成熟,以板卡儀器構(gòu)建測試平臺(tái)式的自動(dòng)測試系統(tǒng)研究也越來越多。板卡儀器中,PXI板卡儀器具有高性能、低價(jià)位和模塊化的特點(diǎn),廣泛應(yīng)用于試驗(yàn)、測量與數(shù)據(jù)采集等各種系統(tǒng)中,其良好的功能特性能夠滿足便攜式校準(zhǔn)系統(tǒng)的構(gòu)建需求[1-3]。
本文以PXI儀器平臺(tái)為硬件基礎(chǔ),設(shè)計(jì)了一種基于C#與SQL Server的信號(hào)接收機(jī)自動(dòng)校準(zhǔn)系統(tǒng)(以下簡稱“自動(dòng)校準(zhǔn)系統(tǒng)”)。對自動(dòng)校準(zhǔn)系統(tǒng)軟件進(jìn)行了詳細(xì)設(shè)計(jì),采用多線程技術(shù)設(shè)計(jì)系統(tǒng)程序,使用雙緩存技術(shù)繪制測試數(shù)據(jù)波形,將測試數(shù)據(jù)和儀器控制指令存儲(chǔ)在SQL Server數(shù)據(jù)庫中,最后采用報(bào)表自動(dòng)生成技術(shù)生成了測試報(bào)告。
自動(dòng)校準(zhǔn)系統(tǒng)由PXI校準(zhǔn)平臺(tái)和自動(dòng)校準(zhǔn)軟件構(gòu)成,硬件結(jié)構(gòu)如圖1所示。系統(tǒng)控制由PXI機(jī)箱中的嵌入式控制器板卡實(shí)現(xiàn),測試儀器由矢量信號(hào)源、音頻分析儀、信號(hào)分析儀、程控衰減器、程控開關(guān)、示波器等PXI板卡組成,選用的儀器模塊技術(shù)指標(biāo)均能滿足信號(hào)接收機(jī)測試校準(zhǔn)需求。
圖1 自動(dòng)校準(zhǔn)系統(tǒng)硬件結(jié)構(gòu)圖
為了有效檢測信號(hào)接收機(jī)的各項(xiàng)性能指標(biāo),需要控制測試儀器對信號(hào)進(jìn)行測量并對測量結(jié)果進(jìn)行實(shí)時(shí)顯示,以保證測試數(shù)據(jù)的準(zhǔn)確性。為此設(shè)計(jì)了自動(dòng)校準(zhǔn)系統(tǒng)軟件,系統(tǒng)軟件在VS2010平臺(tái)上采用C#編程語言進(jìn)行設(shè)計(jì),采用Windows界面設(shè)計(jì)風(fēng)格,具有良好的人機(jī)交互效果。
自動(dòng)校準(zhǔn)系統(tǒng)通過校準(zhǔn)軟件控制校準(zhǔn)平臺(tái)中的儀器模塊開展測試校準(zhǔn)工作,測試校準(zhǔn)過程必須滿足國家檢定規(guī)程的要求,具備信號(hào)接收機(jī)自動(dòng)校準(zhǔn)、測試數(shù)據(jù)顯示與存儲(chǔ)以及校準(zhǔn)報(bào)告自動(dòng)生成等基本功能。為完善自動(dòng)校準(zhǔn)系統(tǒng)功能,提高人機(jī)交互效率和校準(zhǔn)系統(tǒng)自動(dòng)化水平,增加了系統(tǒng)自檢和報(bào)警、校準(zhǔn)任務(wù)規(guī)劃、儀器模塊配置以及校準(zhǔn)參數(shù)配置等功能,使得校準(zhǔn)系統(tǒng)軟件操作更加規(guī)范化。
自動(dòng)校準(zhǔn)系統(tǒng)軟件通過測試電纜、總線等實(shí)現(xiàn)測量設(shè)備控制、數(shù)據(jù)分析與處理、故障分析、測量數(shù)據(jù)管理、數(shù)據(jù)動(dòng)態(tài)交換和用戶登陸等功能。它由用戶接口層、測試管理核心層、外圍服務(wù)層、測試驅(qū)動(dòng)層以及儀器設(shè)備層組成,總體架構(gòu)如圖2所示。
圖2 自動(dòng)校準(zhǔn)軟件總體架構(gòu)示意圖
其中用戶接口層作為人機(jī)界面完成與用戶間的交互,它包含校準(zhǔn)系統(tǒng)各個(gè)功能模塊的操作顯示;測試管理核心層提供通用測試平臺(tái)軟件的核心構(gòu)件;外圍服務(wù)層主要完成具體應(yīng)用的功能服務(wù);測試驅(qū)動(dòng)層作為測試程序與儀器設(shè)備等相關(guān)資源進(jìn)行通信的紐帶;儀器設(shè)備層直接面向各類測試資源。
按照國家檢定規(guī)程設(shè)計(jì)校準(zhǔn)系統(tǒng)軟件工作流程,具體工作流程如圖3所示。
圖3 自動(dòng)校準(zhǔn)系統(tǒng)軟件工作流程圖
具體流程如下:連接好信號(hào)接收機(jī)和PXI校準(zhǔn)平臺(tái),開機(jī)預(yù)熱并啟動(dòng)校準(zhǔn)軟件,操作儀器自檢模塊實(shí)現(xiàn)測試儀器模塊的初始化;選擇被測信號(hào)接收機(jī)需要進(jìn)行的校準(zhǔn)項(xiàng)目并配置勤務(wù)信息(包括校準(zhǔn)時(shí)間、人員、生產(chǎn)廠家等信息);確認(rèn)信號(hào)接收機(jī)工作狀態(tài)后點(diǎn)擊開始測試按鈕啟動(dòng)測試校準(zhǔn)程序,測試程序控制網(wǎng)絡(luò)開關(guān)的切換,實(shí)現(xiàn)測試儀器模塊的連接;執(zhí)行測試校準(zhǔn)程序后,判斷測試結(jié)果是否超差并生成原始記錄和校準(zhǔn)證書,完成整個(gè)測試校準(zhǔn)任務(wù)。
自動(dòng)校準(zhǔn)系統(tǒng)軟件設(shè)計(jì)時(shí),考慮到測試校準(zhǔn)程序運(yùn)行、測試數(shù)據(jù)波形實(shí)時(shí)顯示以及數(shù)據(jù)文件自動(dòng)生成等進(jìn)程需要同時(shí)進(jìn)行,采用多線程技術(shù)對系統(tǒng)程序進(jìn)行設(shè)計(jì)。設(shè)計(jì)校準(zhǔn)系統(tǒng)界面時(shí),在窗體中使用PictureBox控件顯示測試數(shù)據(jù)波形。由于C#設(shè)計(jì)窗體程序時(shí),操作UI控件(界面顯示控件)程序默認(rèn)為系統(tǒng)主線程,如果將測試校準(zhǔn)程序和測試數(shù)據(jù)波形繪制程序同時(shí)寫入系統(tǒng)主程序,根據(jù)程序運(yùn)行的時(shí)間順序,會(huì)出現(xiàn)波形繪制不連續(xù),不能實(shí)現(xiàn)實(shí)時(shí)顯示的問題。如果將測試校準(zhǔn)程序?qū)懭胫鞒绦蜻M(jìn)行測試操作,測試數(shù)據(jù)波形繪制程序作為子線程,由于波形繪制時(shí)涉及到PictureBox控件的操作,與UI線程產(chǎn)生沖突,會(huì)導(dǎo)致線程阻塞,產(chǎn)生系統(tǒng)假死現(xiàn)象。
為解決測試數(shù)據(jù)波形實(shí)時(shí)顯示以及UI控件程序控制相沖突的問題,設(shè)計(jì)多線程系統(tǒng)程序時(shí),將波形繪制程序?qū)懭胫骶€程中,實(shí)現(xiàn)波形顯示和操作界面控制,并將測試校準(zhǔn)程序作為次線程運(yùn)行。在進(jìn)行項(xiàng)目校準(zhǔn)時(shí),點(diǎn)擊儀器配置按鈕,系統(tǒng)成功識(shí)別儀器模塊并確認(rèn)鏈路連通后,提示“儀器模塊配置成功”,啟動(dòng)Timer定時(shí)器(刷新時(shí)間設(shè)置為50 ms)不間斷獲取儀器模塊測試數(shù)據(jù),實(shí)現(xiàn)測試數(shù)據(jù)的實(shí)時(shí)采集,并將測試數(shù)據(jù)傳送至波形繪制程序中,實(shí)現(xiàn)了數(shù)據(jù)波形實(shí)時(shí)刷新。點(diǎn)擊校準(zhǔn)開始按鈕啟動(dòng)測試校準(zhǔn)程序,系統(tǒng)給主、次線程隨機(jī)分配CPU時(shí)間片,運(yùn)行測試校準(zhǔn)程序時(shí),改變儀器模塊參數(shù)設(shè)置以獲得不同的測試數(shù)據(jù),在運(yùn)行主程序時(shí)對測試數(shù)據(jù)進(jìn)行顯示,可以保證測試數(shù)據(jù)的準(zhǔn)確性。
多線程測試程序設(shè)計(jì)實(shí)現(xiàn)如下:
#region 單擊儀器模塊配置控件,配置成功后進(jìn)行波形顯示
private void btn_BZ_Set_Click(object sender, EventArgs e)
{
……
ucPictureBox.DrawBackGround();
lbx_state.Items.Add(DateTime.Now + "標(biāo)準(zhǔn)設(shè)備配置完成!!!");
MessageBox.Show("請按照連接圖要求連接設(shè)備!!!");
timer2.Start();
ucPictureBox.TimerDraw.Start();
……
}
#endregion
#region 啟動(dòng)定時(shí)器timer2,將測試數(shù)據(jù)傳入波形繪制程序中
private void timer2_Tick(object sender, EventArgs e)
{
List
ucPictureBox.Data = data;
}
#endregion
#region 單擊校準(zhǔn)開始控件,啟動(dòng)校準(zhǔn)程序次線程
private void btn_Test_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(BeginTast));
t.Start();
tsb_TestBegain.Enabled = false;
btn_Test.Enabled = false;
}
#endregion
#region 開始校準(zhǔn)測試,遍歷校準(zhǔn)項(xiàng)目并開始相應(yīng)校準(zhǔn)項(xiàng)目測試
public void BeginTast()
{
DataRowView drv = lbx_canjian.SelectedItem as DataRowView;
DataRow dr = drv.Row;
itemname = dr[lbx_canjian.ValueMember].ToString().Trim();
……
switch (itemname)
{
case "01 工作頻率":
WorkingFrequency();
break;
……
}
}
#endregion
自動(dòng)校準(zhǔn)軟件設(shè)計(jì)了數(shù)據(jù)波形顯示模塊,用于顯示測試儀器模塊采集到的測試數(shù)據(jù)波形。設(shè)計(jì)測試數(shù)據(jù)波形繪制程序時(shí),使用Graphics.DrawLine()和Graphics.DrawString()等方法將測試數(shù)據(jù)繪制在PicturesBox上,并將繪制程序包裝在函數(shù)中,通過函數(shù)調(diào)用的形式實(shí)現(xiàn)波形繪制。采用這種波形繪制方法在進(jìn)行波形數(shù)據(jù)刷新時(shí),需要對已有數(shù)據(jù)波形進(jìn)行清除,重新繪制背景色后,然后再繪制新采集的測試數(shù)據(jù)。這種方法在繪制波形時(shí)發(fā)現(xiàn)了一些問題:一是重復(fù)的繪制與清除波形數(shù)據(jù),導(dǎo)致波形刷新緩慢,出現(xiàn)閃屏現(xiàn)象;二是波形數(shù)據(jù)量大的情況下,占用系統(tǒng)內(nèi)存大;三是在一定的屏幕刷新速率下,波形繪制與清除占用時(shí)間長,容易產(chǎn)生波形不完整現(xiàn)象。
測試波形繪制程序設(shè)計(jì)時(shí),采用Timer定時(shí)器以50 ms的時(shí)間間隔獲取測試數(shù)據(jù),也就意味著在50 ms時(shí)間內(nèi),必須完成PicturesBox上已有波形的清除與重新繪制,否則將會(huì)出現(xiàn)波形不完整和閃屏的現(xiàn)象。原因在于波形的清除與重新繪制時(shí)間過長,導(dǎo)致50 ms內(nèi)波形未繪制完成又開始獲取新的波形數(shù)據(jù)并繼續(xù)對舊波形進(jìn)行清除,始終無法完成一個(gè)完整的波形繪制,導(dǎo)致波形不完整。另外由于繪制波形時(shí),背景色和面板原始顏色存在明顯色差,在清除完背景色和舊波形后,由于重新繪制背景色和波形需要一定的時(shí)間,導(dǎo)致PicturesBox從背景色到面板原始色再到背景色存在一定的時(shí)間差,從人眼直觀的感覺就是產(chǎn)生了畫圖閃屏的現(xiàn)象。雙緩存技術(shù)可以有效解決畫圖時(shí)波形不完整和閃屏問題,它避開了直接在PicturesBox控件上繪制波形,采用虛擬畫布(內(nèi)存中的一塊區(qū)域)的方式實(shí)現(xiàn),所有的繪制操作均在虛擬畫布上完成,繪制完成后將畫布內(nèi)容粘貼到PicturesBox控件上[4-5]?;陔p緩存繪圖方法在單次繪圖時(shí)只涉及一次PicturesBox控件的操作,進(jìn)行波形刷新時(shí),也只需刷新一次PicturesBox控件,不需要對背景色和舊波形進(jìn)行清除處理,大大減少了波形繪制時(shí)間,提高了波形繪制效率,也解決了畫圖波形不完整和閃屏問題。
基于雙緩存的測試數(shù)據(jù)波形繪制程序設(shè)計(jì)如下:
private System.Windows.Forms.PictureBox picShow;//定義PictureBox
……
#region 波形繪制
public void DrawWave()
{
Bitmap tmp =(Bitmap) screen.Clone(); //構(gòu)建虛擬畫布,重畫時(shí)背景無需重新繪制
Graphics ppy_graph = Graphics.FromImage(tmp);//
……
for (int i = 0; i < n - 1; i++)//畫出一組功率值
{
ppy_graph.DrawLine(myPen3, x[i], y[i], x[i + 1], y[i + 1]);
}
……
for (int i = 0; i <= 10; i++)
{
ppy_graph.DrawString(reF - 10 * i + "dBm", new Font("Times New Roman", 8), new SolidBrush(Color.White), 25, 5 + 36 * i);
}
picShow.Image = tmp;//將虛擬畫布粘貼到PictureBox上,實(shí)現(xiàn)波形繪制
}
測試數(shù)據(jù)是指使用自動(dòng)校準(zhǔn)系統(tǒng)開展信號(hào)接收機(jī)測試校準(zhǔn)工作過程中涉及到的數(shù)據(jù)統(tǒng)稱,它包括被校接收機(jī)基本信息、校準(zhǔn)系統(tǒng)信息、勤務(wù)數(shù)據(jù)、信號(hào)通道誤差數(shù)據(jù)、校準(zhǔn)數(shù)據(jù)以及證書數(shù)據(jù)等。在測試數(shù)據(jù)存儲(chǔ)設(shè)計(jì)時(shí),采用SQL Server數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),基于數(shù)據(jù)庫的存儲(chǔ)技術(shù)具備完善的數(shù)據(jù)索引和修改機(jī)制,能夠?qū)崿F(xiàn)數(shù)據(jù)高效的存儲(chǔ),它采用嚴(yán)格的身份驗(yàn)證和加密控制方式,可以有效保證數(shù)據(jù)安全,另外數(shù)據(jù)庫存儲(chǔ)技術(shù)能夠?qū)崿F(xiàn)完整的事務(wù)和數(shù)據(jù)一致性控制,確保數(shù)據(jù)有效,維護(hù)數(shù)據(jù)完整性[6-8]?;跀?shù)據(jù)庫存儲(chǔ)技術(shù)的自動(dòng)校準(zhǔn)系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)架構(gòu)如圖4所示。
圖4 自動(dòng)校準(zhǔn)系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)架構(gòu)
程控指令庫是測量儀器的指令代碼、測量參數(shù)和檢定結(jié)果評判方法的集合。指令庫的存儲(chǔ)方式有兩種:一種是基于本地計(jì)算機(jī)的文件調(diào)用技術(shù),如XML、INI等文件形式存儲(chǔ);一種是基于數(shù)據(jù)庫訪問技術(shù),包括Access、SQL Server、Oracle等數(shù)據(jù)庫存儲(chǔ)方式。利用數(shù)據(jù)庫存儲(chǔ)技術(shù)的優(yōu)點(diǎn),檢定系統(tǒng)采用SQL Server數(shù)據(jù)庫存儲(chǔ)指令庫,實(shí)現(xiàn)儀器程控指令和儀器控制過程分離,即編制自動(dòng)測試程序時(shí),將控制過程編碼置于校準(zhǔn)系統(tǒng)程序中,而用于控制儀器的程控指令代碼、測量參數(shù)和校準(zhǔn)結(jié)果評判方法存儲(chǔ)在程序之外。
校準(zhǔn)系統(tǒng)對指令庫的訪問貫穿于整個(gè)校準(zhǔn)過程的始終。指令庫訪問流程圖5所示。
圖5 指令庫訪問流程圖
自動(dòng)校準(zhǔn)系統(tǒng)中,測試報(bào)告包括檢定證書和原始記錄報(bào)告,依據(jù)檢定規(guī)程要求,生成測試報(bào)告是校準(zhǔn)工作的最后一步。進(jìn)行測試報(bào)告生成時(shí),采用自動(dòng)生成方法,點(diǎn)擊報(bào)告生成按鈕自動(dòng)將SQL Server數(shù)據(jù)庫中測試數(shù)據(jù)自動(dòng)加載到報(bào)告模板中,實(shí)現(xiàn)報(bào)告生成。
報(bào)告自動(dòng)生成程序?qū)崿F(xiàn)主要分為報(bào)告模板設(shè)計(jì)和報(bào)告程序生成設(shè)計(jì)兩部分。進(jìn)行報(bào)告模板設(shè)計(jì)時(shí),使用Word文檔繪制報(bào)告表格模板,在需要更新報(bào)告基本數(shù)據(jù)(包括校準(zhǔn)時(shí)間、校準(zhǔn)人員、溫濕度等信息)的表格中使用文本域控件TextField進(jìn)行數(shù)據(jù)表示,在需要插入校準(zhǔn)項(xiàng)目測試數(shù)據(jù)的位置設(shè)置域,便于將數(shù)據(jù)庫中查詢到的數(shù)據(jù)插入報(bào)告中。
進(jìn)行報(bào)告自動(dòng)生成程序設(shè)計(jì)時(shí),采用功能強(qiáng)大的Spire.Doc組件實(shí)現(xiàn)。Spire.Doc組件是一個(gè)專業(yè)的Word.NET庫,能夠在C#平臺(tái)上實(shí)現(xiàn)Word文檔的創(chuàng)建、讀取、編輯、轉(zhuǎn)換和打印等操作,它支持絕大多數(shù)Word元素,包括頁面、小節(jié)、頁眉、頁腳、腳注、列表、文本、字段、書簽、圖片以及背景等,而且它在創(chuàng)建多頁面Word文檔效果非常好,可以說是生成多頁面測試報(bào)告的完美選擇。使用Spire.Doc組件進(jìn)行程序?qū)崿F(xiàn)時(shí),先使用Document()方法創(chuàng)建生成測試報(bào)告模板文檔,遍歷文檔中TextField文本域控件并賦值(值從數(shù)據(jù)庫中查詢勤務(wù)信息獲得),查詢域獲取插入測試數(shù)據(jù)的位置,使用Table.Addtable()方法在該位置插入表格,查詢數(shù)據(jù)庫校準(zhǔn)項(xiàng)目測試數(shù)據(jù)并依次寫入表格中,測試數(shù)據(jù)寫入完成后,使用Document.SaveToFile()方法將測試報(bào)告保存到指定位置。
在搭建信號(hào)接收機(jī)自動(dòng)校準(zhǔn)硬件平臺(tái)的基礎(chǔ)上,綜合運(yùn)用校準(zhǔn)軟件對某型信號(hào)接收機(jī)開展測試校準(zhǔn)工作,以檢驗(yàn)自動(dòng)校準(zhǔn)系統(tǒng)的性能,測試效果如圖6所示。
圖6 信號(hào)接收機(jī)自動(dòng)校準(zhǔn)效果圖
性能檢驗(yàn)采用對比實(shí)驗(yàn)的方式進(jìn)行,同一技術(shù)人員分別采用自動(dòng)校準(zhǔn)系統(tǒng)自動(dòng)操作和臺(tái)式儀器疊加手動(dòng)操作的形式開展測試校準(zhǔn)工作。由于測試數(shù)據(jù)的準(zhǔn)確性取決于測試方法、儀器性能指標(biāo)和操作人員技術(shù)水平?jīng)Q定,在進(jìn)行對比實(shí)驗(yàn)時(shí),操作人員嚴(yán)格按照校準(zhǔn)規(guī)程進(jìn)行儀器操作,同時(shí)校準(zhǔn)規(guī)程規(guī)定的測試方法也被寫入校準(zhǔn)程序中,降低了測試方法和操作人員技術(shù)水平對測試數(shù)據(jù)準(zhǔn)確度的影響。并且PXI儀器模塊和臺(tái)式儀器性能指標(biāo)均滿足信號(hào)接收機(jī)的測試校準(zhǔn)需求,對比實(shí)驗(yàn)時(shí)不考慮將測試數(shù)據(jù)準(zhǔn)確度納入對比范圍,主要考查兩者在時(shí)間成本上的差異。
采用自動(dòng)校準(zhǔn)系統(tǒng)軟件開展測試校準(zhǔn)工作,主要包括校準(zhǔn)項(xiàng)目配置、勤務(wù)信息配置、儀器參數(shù)配置、校準(zhǔn)以及報(bào)告生成共5個(gè)步驟,而采用臺(tái)式儀器疊加的手動(dòng)測試校準(zhǔn)工作主要包括測試校準(zhǔn)、數(shù)據(jù)收集、數(shù)據(jù)評定和報(bào)表生成四個(gè)步驟,兩者對比實(shí)驗(yàn)效果如表1所示。
表1 對比實(shí)驗(yàn)效果表
可以看出兩者在時(shí)間成本上存在很大差異,采用自動(dòng)校準(zhǔn)方法耗時(shí)主要集中在校準(zhǔn)工作準(zhǔn)備階段,包括手動(dòng)錄入勤務(wù)信息和儀器參數(shù)配置信息,但針對同一型號(hào)信號(hào)接收機(jī),一次儀器參數(shù)配置可以供后續(xù)測試校準(zhǔn)使用,加上人工錄入信息的時(shí)間,校準(zhǔn)信號(hào)接收機(jī)全部項(xiàng)目總共消耗大約30分鐘時(shí)間。而手動(dòng)校準(zhǔn)方法在校準(zhǔn)項(xiàng)目測試和報(bào)表生成上耗時(shí)較多,同一校準(zhǔn)項(xiàng)目涉及多個(gè)測試頻點(diǎn),技術(shù)人員在重復(fù)操作儀器參數(shù)設(shè)置花費(fèi)時(shí)間較大,同時(shí)人工記錄數(shù)據(jù)并根據(jù)數(shù)據(jù)生成原始記錄和校準(zhǔn)證書也需要花費(fèi)一定的時(shí)間,計(jì)算下來大約花費(fèi)200分鐘,基本上校準(zhǔn)一臺(tái)信號(hào)接收機(jī)要花費(fèi)一上午時(shí)間。相比之下,采用自動(dòng)校準(zhǔn)的方法可以節(jié)省85%的時(shí)間成本,大大提高了測試校準(zhǔn)效率,降低了由人工操作帶來的失誤,同時(shí)采用基于PXI的硬件結(jié)構(gòu)也大大增強(qiáng)了校準(zhǔn)系統(tǒng)的便攜性。
針對信號(hào)接收機(jī)手動(dòng)校準(zhǔn)存在耗時(shí)長、效率低等問題,采用PXI儀器模塊構(gòu)建了自動(dòng)校準(zhǔn)系統(tǒng)硬件平臺(tái),并使用C#編程語言對自動(dòng)校準(zhǔn)系統(tǒng)軟件進(jìn)行設(shè)計(jì)。軟件設(shè)計(jì)時(shí),采用多線程技術(shù)設(shè)計(jì)測試校準(zhǔn)程序,提高了測試校準(zhǔn)效率;基于雙緩存技術(shù)繪制測試數(shù)據(jù)波形,解決了波形顯示閃屏的問題;采用SQL Server數(shù)據(jù)庫存儲(chǔ)測試數(shù)據(jù)和儀器控制指令,實(shí)現(xiàn)高效數(shù)據(jù)存儲(chǔ)和管理;運(yùn)用測試報(bào)告自動(dòng)生成技術(shù)實(shí)現(xiàn)校準(zhǔn)證書和原始記錄的自動(dòng)生成。該自動(dòng)校準(zhǔn)系統(tǒng)設(shè)計(jì)對提高信號(hào)接收機(jī)校準(zhǔn)工作自動(dòng)化水平,增強(qiáng)設(shè)備計(jì)量保障能力具有較強(qiáng)的應(yīng)用價(jià)值。