陳瑞瓊,劉婭,李孝輝
?
基于SR620的遠程時間頻率測量系統(tǒng)設(shè)計與實現(xiàn)
陳瑞瓊1,2,3,劉婭1,2,李孝輝1,2
(1. 中國科學(xué)院國家授時中心,西安 710600;2. 中國科學(xué)院時間頻率基準重點實驗室,西安 710600; 3. 中國科學(xué)院大學(xué),北京 100039)
隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,遠程測量系統(tǒng)得到越來越多的應(yīng)用。為了更便于使用頻譜儀、時間間隔計數(shù)器、時間間隔分析儀等測量儀器,以時間間隔計數(shù)器SR620為例,基于虛擬儀器LabWindows/CVI開發(fā)平臺,設(shè)計并實現(xiàn)了一種實時遠程時間頻率測量系統(tǒng)。該基于SR620的遠程時間頻率時間測量系統(tǒng)能對儀器狀態(tài)實時遠程控制與監(jiān)視,并能獲取、存儲測量數(shù)據(jù),并利用虛擬儀器的優(yōu)勢實時圖形化顯示測量數(shù)據(jù)變化趨勢,具有較高的實際應(yīng)用價值。
時間間隔;遠程控制;實時;虛擬儀器
隨著虛擬儀器技術(shù)、網(wǎng)絡(luò)通訊技術(shù)的顯著進步以及Internet的迅速普及,將網(wǎng)絡(luò)技術(shù)應(yīng)用到虛擬儀器,使信號采集、傳輸和處理分析一體化,已經(jīng)成為一種趨勢[1]。在儀器測量領(lǐng)域,人們不僅要求測量更加精確、穩(wěn)定,還希望可以實現(xiàn)測量實時化、自動化和網(wǎng)絡(luò)化等。而遠程測量系統(tǒng)可以滿足用戶的這些需求,它能夠?qū)崿F(xiàn)集成自動化系統(tǒng),具有良好的開放性,特別是在測控系統(tǒng)中,用戶可以在遠端通過網(wǎng)絡(luò)實現(xiàn)實時控制和監(jiān)視測量儀器,減少人為因素對測量的干擾,用戶也可以在任意時間地點獲取儀器的狀態(tài)信息和測量結(jié)果,因此,遠程測量系統(tǒng)成為當(dāng)前測量控制領(lǐng)域的研究熱點。
本文以SR620時間間隔計數(shù)器為研究對象,分析基于SR620時間間隔計數(shù)器的遠程時間頻率測量系統(tǒng)所要實現(xiàn)的功能和結(jié)構(gòu)特點,基于LabWindows/CVI2010開發(fā)平臺并結(jié)合虛擬儀器技術(shù)實現(xiàn)對SR620測量數(shù)據(jù)的采集、存儲和顯示等,實現(xiàn)了對設(shè)備的遠程控制與狀態(tài)監(jiān)視。
與傳統(tǒng)的儀器測量相比較,網(wǎng)絡(luò)化儀器通過遠程測量系統(tǒng)不僅可以實現(xiàn)儀器本身所具備的各種功能,而且可以根據(jù)用戶需求對功能進行擴充,即可實現(xiàn)對儀器狀態(tài)實時遠程控制與監(jiān)視,并能獲取、存儲、分析測量數(shù)據(jù),利用虛擬儀器的優(yōu)勢實時圖形化顯示測量數(shù)據(jù)變化趨勢,而且網(wǎng)絡(luò)化儀器克服了傳統(tǒng)測量對時間和空間的限制,實現(xiàn)資源共享,無需人員值守,從而減少人為因素對測量結(jié)果的影響。
時間間隔計數(shù)器SR620自身操作的局限性體現(xiàn)在以下4方面:
1)時間間隔計數(shù)器SR620只能在本地操作;
2)由于該計數(shù)器自身無存儲記憶功能,只能顯示最新的一條數(shù)據(jù),無法對數(shù)據(jù)進行存儲和歷史查詢;
3)無法直接實現(xiàn)對待測信號長期性能的觀測;
4)不能對測量數(shù)據(jù)進行實時圖形化顯示。
因此,針對以上情況,需要在SR620自身功能的基礎(chǔ)上,搭建實時化、自動化、圖形化、網(wǎng)絡(luò)化的高精度測量系統(tǒng)。該系統(tǒng)對SR620的功能主要在以下4方面進行擴展:
1)遠程控制儀器,操作人員不需要在本地進行操作,可以通過網(wǎng)絡(luò)進行遠程訪問、監(jiān)視和控制;
2)數(shù)據(jù)管理能力的擴展:將數(shù)據(jù)顯示功能擴展為存儲、處理和查詢等功能,使得用戶可以靈活地處理原始測量數(shù)據(jù)[2];
3)圖形化顯示數(shù)據(jù)的功能擴展:對于實時查詢的數(shù)據(jù),將其實時圖形化顯示,更直觀地反映測量結(jié)果;
4)操作界面擴展:該軟件提供了更為友好的操作界面和菜單式操作,使操作更加人性化,用戶可以很方便地在操作面板上進行所需的各項測量。
本文設(shè)計了一套基于時間間隔計數(shù)器SR620的遠程時間頻率測量系統(tǒng),實現(xiàn)了對SR620的遠程控制與監(jiān)視。遠程測量系統(tǒng)可以有效降低組建監(jiān)控軟件的費用,實現(xiàn)資源共享,通過遠程進行測控和數(shù)據(jù)采集處理,提高了控制效率,減少了測試人員的工作量。系統(tǒng)設(shè)計采用National Instrument公司的LabWindows/CVI2010集成開發(fā)環(huán)境[3]。LabWindows/CVI是NI公司利用虛擬儀器技術(shù)開發(fā)的32位以C語言為基礎(chǔ)的面向計算機測控領(lǐng)域的虛擬儀器開發(fā)平臺,它提供了各種靈巧的界面生成、編程、調(diào)試工具,因此可以極大地簡化編程的工作量[4],實現(xiàn)數(shù)據(jù)采集、控制、顯示、處理一體化,具有通用性強、便于移植的優(yōu)勢,并能大大縮短開發(fā)周期、節(jié)約開發(fā)成本。
遠程時間頻率測量系統(tǒng)工作原理如圖1所示,由于時間間隔計數(shù)器SR620的通信方式為RS232串口通信,其最遠傳輸距離為15m,所以不能遠距離傳輸數(shù)據(jù),無法滿足遠程監(jiān)控需求,故需將其直接與本地計算機相連接,進而通過遠程計算機控制設(shè)備。遠程監(jiān)控機是通過網(wǎng)口進行通信,當(dāng)運行遠程監(jiān)控軟件,并建立連接后,在本地監(jiān)控軟件會收到遠程監(jiān)控發(fā)送的連接請求,然后本地監(jiān)控軟件返回消息給遠程監(jiān)控軟件,從而建立握手協(xié)議,此時,遠程監(jiān)控通過網(wǎng)口系統(tǒng)將各種操作命令通過本地計算機發(fā)送給被控設(shè)備,從而實現(xiàn)了對設(shè)備的遠程控制。
圖1 系統(tǒng)工作原理圖
測量系統(tǒng)的結(jié)構(gòu)主要包括時間間隔計數(shù)器SR620和通訊網(wǎng)絡(luò)及本地計算機和遠程計算機。其中,被控設(shè)備SR620負責(zé)測量待測信號,對SR620的遠程控制主要是在遠程計算機上進行的,利用本地計算機可以近距離地對SR620進行控制與監(jiān)視并對測量結(jié)果進行處理,它還可作為中間傳輸設(shè)備負責(zé)遠程計算機與被控設(shè)備的數(shù)據(jù)傳輸。而通訊網(wǎng)絡(luò)負責(zé)創(chuàng)建本地PC機與遠程PC機之間的通信,完成對測量模塊的遠程控制和數(shù)據(jù)采集任務(wù)。
基于SR620的遠程時間間隔測量系統(tǒng)的軟件主要由2部分組成:本地監(jiān)控軟件和遠程監(jiān)控軟件。遠程監(jiān)控軟件具備本地監(jiān)控軟件的所有功能,兩者都可以實現(xiàn)對儀器狀態(tài)的實時監(jiān)視與控制,區(qū)別在于本地監(jiān)控軟件需要執(zhí)行近距離對儀器的控制,而遠程監(jiān)控軟件不受距離限制,可以通過網(wǎng)絡(luò)對儀器進行遠程訪問、監(jiān)視與控制。當(dāng)運行遠程監(jiān)控軟件并且進行連接后,本地監(jiān)控軟件會收到遠程監(jiān)控發(fā)送的連接請求而建立握手連接,進而實現(xiàn)對設(shè)備的遠程控制。
該監(jiān)控軟件的輸入數(shù)據(jù)是從SR620的數(shù)據(jù)端口或者狀態(tài)端口采集的數(shù)據(jù),軟件對采集到的數(shù)據(jù)進行完好性監(jiān)測、分類、處理,同時,可將采集的原始數(shù)據(jù)和測量結(jié)果保存在指定的文件中,方便事后查詢,以供進一步分析和評估信號質(zhì)量。系統(tǒng)軟件功能模塊組成框圖如圖2所示,系統(tǒng)軟件流程圖如圖3所示,系統(tǒng)軟件主界面如圖4所示。下面對各模塊分別做詳細的說明。
圖2 系統(tǒng)軟件功能模塊組成框圖
圖3 系統(tǒng)軟件流程圖
1)參數(shù)配置模塊:在通信之前應(yīng)根據(jù)被控設(shè)備的實際情況選擇相應(yīng)的串口號、波特率、檢驗位、數(shù)據(jù)位、停止位、通信端口號等參數(shù),方可進行連接(僅在本地監(jiān)控軟件中適用)。
圖4 系統(tǒng)軟件主界面
2)接收區(qū)設(shè)置模塊:該模塊主要用來對接收到的數(shù)據(jù)進行存儲設(shè)置,點擊“本地存儲測量數(shù)據(jù)”可以本地存儲當(dāng)前測量數(shù)據(jù),系統(tǒng)自動從當(dāng)前時間開始,將測量數(shù)據(jù)依次寫入文件,當(dāng)存入數(shù)據(jù)的時間超過24h后,系統(tǒng)自動新建一個以當(dāng)前時間命名的文本,繼續(xù)存入數(shù)據(jù),依次類推,直到點擊“取消存儲”,方可停止存儲數(shù)據(jù),同樣點擊“存儲測量圖形”按鈕可以根據(jù)用戶需要選擇不同格式的圖形文件。另外對于測量數(shù)據(jù),系統(tǒng)不僅可以采用以上的手動操作本地保存,在運行過程中系統(tǒng)也將其自動保存到數(shù)據(jù)庫中以便隨時查詢調(diào)用,系統(tǒng)采用MYSQL數(shù)據(jù)庫存儲,點擊“清除顯示”可以清除接收區(qū)中的數(shù)據(jù)。
3)儀器測量屬性模塊:可以根據(jù)當(dāng)前測量需要對儀器測量屬性進行設(shè)置,選擇不同的測量模式,Arming模式中根據(jù)所選的測量模式加載相匹配的選項,例如選擇測量模式為Time模式,則Arming模式中只加載±time,+time,exttrig±time,exttrig+time,extgate/+time/hldf 5種模式。 另外還可以對采樣點大小、輸出數(shù)據(jù)(如平均值、Allan方差、標(biāo)準方差、最大值、最小值等)、是否外觸發(fā)及外參考時標(biāo)進行設(shè)置。
4)輸出數(shù)據(jù)內(nèi)容模塊:點擊各個按鈕將相應(yīng)的查詢命令發(fā)送到緩沖區(qū),并實時將數(shù)據(jù)顯示在接收數(shù)據(jù)區(qū),如平均值、Allan方差、標(biāo)準方差、最大值、最小值、當(dāng)前觸發(fā)電平等。在查詢數(shù)據(jù)的同時已經(jīng)將所查詢的數(shù)據(jù)存儲在數(shù)據(jù)庫中對應(yīng)的各個表中,此外點擊各個按鈕時已經(jīng)將命令寫入發(fā)送數(shù)據(jù)區(qū),可以根據(jù)實際情況設(shè)置發(fā)送命令的時間間隔,默認為1s。另外點擊“查詢數(shù)據(jù)庫”按鈕,可以彈出數(shù)據(jù)庫查詢界面,在起始時間和終止時間分別輸入所要查詢的時間段,起始時間應(yīng)小于終止時間,否則彈出錯誤提示框,然后點擊所要查詢的數(shù)據(jù)內(nèi)容,即可在表中顯示對應(yīng)的數(shù)據(jù),如需保存,點擊保存數(shù)據(jù),即可將所查詢數(shù)據(jù)存儲到指定文件中。
5)接收數(shù)據(jù)區(qū):顯示當(dāng)前測量數(shù)據(jù),并在文本框中顯示當(dāng)前所測量的數(shù)據(jù)內(nèi)容,為了方便以后查詢,在每個測量數(shù)據(jù)之前加上當(dāng)前的時間和序號。
6)圖形顯示區(qū):對當(dāng)前緩沖區(qū)中的數(shù)據(jù)進行圖形化顯示,使用Strip Chart控件,可以實現(xiàn)繪制一條或多條動態(tài)曲線,并且能夠及時更新,故選用此控件繪圖,根據(jù)測量數(shù)據(jù)的不同,文本框中的單位會有所改變,在測量Allan方差時,將顯示采樣間隔。
7)狀態(tài)顯示模塊:根據(jù)儀器的測量屬性設(shè)置,及時顯示并更新當(dāng)前的測量狀態(tài)。當(dāng)執(zhí)行遠程操作時,可以將遠程監(jiān)控軟件的測量狀態(tài)發(fā)送給本地監(jiān)控軟件,使其狀態(tài)顯示與遠程測量系統(tǒng)保持一致。
8)后臺模塊:后臺模塊負責(zé)實現(xiàn)遠程監(jiān)控軟件和本地監(jiān)控軟件之間的通信,當(dāng)運行遠程監(jiān)控軟件,并且連接成功后,在本地監(jiān)控軟件會收到遠程監(jiān)控發(fā)送的連接請求,然后本地監(jiān)控軟件將消息返回給遠程監(jiān)控軟件,從而建立握手連接,進而實現(xiàn)了對設(shè)備的遠程控制。
該系統(tǒng)采用LabWindows/CVI作為軟件平臺來編寫程序,用ODBC方式實現(xiàn)對數(shù)據(jù)庫的訪問,并將LabWindows/CVI SQL工具包作為客戶端應(yīng)用程序開發(fā)工具。CVI_SQL是一個專用的數(shù)據(jù)庫訪問工具包,在使用它之前,首先需要在Windows操作系統(tǒng)中的ODBC數(shù)據(jù)源中創(chuàng)建一個DSN(data source name)。連接就建立在DSN基礎(chǔ)之上,然后選擇DSN所對應(yīng)的數(shù)據(jù)類型,該系統(tǒng)軟件采用的是MYSQL數(shù)據(jù)庫,因此與ODBC相關(guān)聯(lián)的即為MYSQL ODBC 5.1 Driver[5]。
對數(shù)據(jù)庫操作的具體實現(xiàn)過程中,首先要建立一個數(shù)據(jù)源,選擇新建數(shù)據(jù)源所使用的數(shù)據(jù)庫驅(qū)動程序(如MYSQL ODBC 5.1 Driver),然后對其進行配置并測試,如果測試通過,即成功建立連接。申請連接句柄,調(diào)用DBConnect函數(shù)與數(shù)據(jù)源連接:
hdbc=DBConnect(“DSN=SRDB”);
hdbc為與數(shù)據(jù)源建立連接所提供的有效連接句柄。
再使用DBActivateSQL命令激活SQL數(shù)據(jù)庫狀態(tài),如語句:hstmt=DBActivateSQL(hdbc,“SELECT *FROM mean”);
定義hstmt為數(shù)據(jù)庫狀態(tài)句柄。
最后利用LabWindows/CVI工具包中的SQL命令(如CREATE TABLE,SELECT等)執(zhí)行操作,在執(zhí)行的同時,必須將選中的數(shù)據(jù)表中的某個記錄和程序中的變量綁定在一起,再使用fetch取值函數(shù)取出選中條目。
在應(yīng)用程序語句完成命令后應(yīng)解除SQL數(shù)據(jù)庫狀態(tài)以釋放系統(tǒng)資源。使用DBDeactivateSQL(hstmt)函數(shù)解除數(shù)據(jù)庫狀態(tài),如語句:
resCode=DBDeactivateSQL(hstmt);
在對數(shù)據(jù)庫操作執(zhí)行完畢后,斷開與數(shù)據(jù)庫服務(wù)器的連接并釋放系統(tǒng)資源。應(yīng)用程序?qū)?shù)據(jù)庫操作完成后應(yīng)及時調(diào)用DBDisconnect函數(shù)關(guān)閉它與數(shù)據(jù)源的連接。
該軟件采用以上技術(shù)實現(xiàn)對數(shù)據(jù)庫的訪問,進一步拓展了系統(tǒng)的實際應(yīng)用,使得軟件運行速度得到提高。
基于以上分析,對系統(tǒng)的實際運行效果進行了驗證。在測量設(shè)備運行正常,建立網(wǎng)絡(luò)通訊后,得到如圖5所示的遠程監(jiān)控軟件運行顯示,其中本地顯示內(nèi)容與遠程顯示內(nèi)容是實時保持同步更新的。然后將系統(tǒng)軟件設(shè)置在正常通信狀態(tài)下進行測試,對于不同測量模式,不同時間間隔,不同采樣點分別進行組合,主要測試在長時間的連續(xù)運行狀態(tài)下,根據(jù)用戶所做的操作觀察數(shù)據(jù)顯示、存儲及圖形化顯示、命令發(fā)送等各項功能是否發(fā)揮正常。并查看系統(tǒng)的CPU占用率是否穩(wěn)定,最后通過測試對系統(tǒng)的部分功能進行優(yōu)化,根據(jù)用戶的需求,該系統(tǒng)運行時占用系統(tǒng)資源小于20%,與采用單線程實現(xiàn)的軟件相比,具有較大的優(yōu)勢,并且采用單線程長期運行可能導(dǎo)致系統(tǒng)癱瘓,可靠性較差,而該系統(tǒng)經(jīng)過長期反復(fù)的測試運行,軟件可以實現(xiàn)長期無故障運行。
圖5 遠程監(jiān)控軟件運行顯示
本文針對已有時間間隔計數(shù)器SR620,基于LabWindows/CVI開發(fā)環(huán)境搭建了一套遠程時間頻率測量系統(tǒng),整個設(shè)計以軟件編程為主,充分發(fā)揮了LabWindows/CVI軟件各類庫資源豐富、界面編制靈活、數(shù)據(jù)處理能力強的特點。該測量系統(tǒng)實現(xiàn)了對儀器遠程實時控制與監(jiān)視,對于采集數(shù)據(jù)可以有效地顯示、存儲、查詢、圖形化顯示等,目前,該軟件已經(jīng)被成功運用,運行情況良好,避免了人為干擾因素的發(fā)生,大大降低了系統(tǒng)的不確定度,并且具有良好的穩(wěn)定性和可移植性,基本滿足了用戶的工作需要,實現(xiàn)了實時化、自動化、網(wǎng)絡(luò)化、圖形化測量。
[1] 李敏智. 基于Labwindows/CVI的數(shù)據(jù)采集與監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D]. 武漢: 武漢理工大學(xué),2009.
[2] 李雨薇, 劉婭, 李孝輝, 等. 基于TSC MMS的遠控精密測頻系統(tǒng)設(shè)計[J]. 宇航計測技術(shù),2011, 31(5): 24-29.
[3] 王建新, 隋美麗. Labwindows/CVI虛擬儀器測試技術(shù)及工程應(yīng)用[M]. 北京: 化學(xué)工業(yè)出版社,2011.
[4] 劉婭, 李孝輝, 張慧君. 基于LabWindows/CVI的儀器測試軟件設(shè)計[J]. 微計算機應(yīng)用,2007, 28(8): 134-137.
[5] 祝名桔, 魏彥玉. 基于CVI_SQL和ODBC訪問的測試軟件開發(fā)[C]//第七屆工業(yè)儀表與自動化學(xué)術(shù)會議. 上海: 中國儀器儀表學(xué)會, 2006.
Design and implementation of a remote time-frequency measurement system based on SR620
CHEN Rui-qiong1,2,3, LIU Ya1,2, LI Xiao-hui1,2
(1. National Time Service Center, Chinese Academy of Sciences, Xi′an 710600, China;2. Key Laboratory of Time and Frequency Primary Standards, National Time Service Center, Chinese Academy of Sciences, Xi′an 710600, China;3. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)
The remote measurement systems have been used more and more extensively along with the rapid development of computer-network technology. In order to use the measurement instruments such as spectrum analyzer, time interval counter and time interval analyzers more conveniently, taking the time interval counter SR620 as an example, we designed and realized a real-time remote time-frequent measurement system based on the platform of virtual instrument LabWindows/CVI. The remote time-frequent measurement system based on SR620 can remotely monitor and control the instruments in real time, acquire and store the measured data, and a real-time graphical display of the measured data trend is also achieved with the virtual instrument′s advantage. The system is of higher practical value.
time interval; remote monitor; real time; virtual instrument
TM935.1
A
1674-0637(2013)03-0134-07
2012-12-26
國家重大科研儀器設(shè)備研制專項資助項目(61001076);國家自然科學(xué)基金青年科學(xué)基金資助項目(61001076)
陳瑞瓊,女,碩士研究生,主要從事虛擬儀器測控技術(shù)研究。