陳素穎,戰(zhàn)明川,龍鋒利,葉衛(wèi)東
(1.中國(guó)科學(xué)院高能物理研究所,北京 100049;2.北京航空航天大學(xué),北京 100191)
北京正負(fù)電子對(duì)撞機(jī)(BEPCⅡ)有近500套磁鐵電源,需要一套快速檢測(cè)系統(tǒng)(以下稱(chēng)檢測(cè)系統(tǒng)),以便快速查找磁鐵電源引起加速器束流的不穩(wěn)定因素和分析丟束的原因。加速器磁鐵電源是為加速器各類(lèi)型電磁鐵供電的系統(tǒng),調(diào)節(jié)磁鐵電源的電流,可改變磁鐵的電磁場(chǎng),從而控制粒子運(yùn)動(dòng)的軌道。由于BEPCⅡ電源設(shè)備數(shù)量較大,位置亦較分散,因此,檢測(cè)系統(tǒng)采用分布式結(jié)構(gòu),每個(gè)本地單元能獨(dú)立運(yùn)行,同時(shí)也可作為移動(dòng)平臺(tái),用于其他系統(tǒng)或設(shè)備的測(cè)試。目前,BEPCⅡ正在使用的磁鐵電源檢測(cè)系統(tǒng)[1]由具有8通道輸入端的ADS1210數(shù)據(jù)采集集成電路與CAN網(wǎng)絡(luò)節(jié)點(diǎn)的控制電路構(gòu)成。該系統(tǒng)中的單片機(jī)通過(guò)CAN網(wǎng)絡(luò)接受PC機(jī)發(fā)送的指令,以進(jìn)行選通通道和將采集數(shù)據(jù)傳送至PC機(jī)。雖然ADS1210的模數(shù)轉(zhuǎn)換精度高、轉(zhuǎn)換速度快,但受系統(tǒng)工作方式的限制,每通道采樣率小于1Hz,所有電源檢測(cè)一遍需5min,無(wú)法滿(mǎn)足對(duì)儲(chǔ)存環(huán)電源進(jìn)行長(zhǎng)期、快速的在線(xiàn)測(cè)量和實(shí)時(shí)檢測(cè)的要求。在加速器運(yùn)行過(guò)程中,一旦出現(xiàn)不明原因的丟束,則無(wú)法捕捉到因電源引起的瞬間跳變。因此,本文建立磁鐵電源電流值的快速檢測(cè)系統(tǒng),將所有通道的回采數(shù)據(jù)實(shí)時(shí)寫(xiě)入數(shù)據(jù)庫(kù),從而有利于進(jìn)行后期數(shù)據(jù)分析,確認(rèn)磁鐵電源電流值是否存在電流值跳變問(wèn)題。
BEPCⅡ磁鐵電源控制系統(tǒng)承擔(dān)著控制電源開(kāi)關(guān)機(jī)、調(diào)節(jié)及監(jiān)測(cè)參量變化的任務(wù),由于該系統(tǒng)采樣率較低,捕捉不到磁鐵電源電流的瞬間跳變,因此本工作研制BEPCⅡ磁鐵電源快速檢測(cè)系統(tǒng)來(lái)快速查找磁鐵電源引起的束流不穩(wěn)定因素。BEPCⅡ磁鐵電源快速檢測(cè)系統(tǒng)的結(jié)構(gòu)如圖1所示,其主要包括電流傳感器、隔離放大器、信號(hào)調(diào)理模塊、數(shù)據(jù)采集卡、PXI控制器等部分,每個(gè)PXI系統(tǒng)均可作為服務(wù)器與客戶(hù)端進(jìn)行數(shù)據(jù)交換,軟件采用Labview和SQL語(yǔ)言編寫(xiě)。由于本工作研究的磁鐵電源電流穩(wěn)定度較高,根據(jù)傳感器的類(lèi)型及磁鐵電源的輸出電流,選用穩(wěn)定度達(dá)2ppm的Hitec高精度傳感器[2],通過(guò)檢測(cè)系統(tǒng)快速檢測(cè)電源傳感器輸出的電壓信號(hào),并與中央控制室送給磁鐵電源的給定信號(hào)對(duì)比,以分析磁鐵電源的工作狀況和判斷束流丟失的原因。
圖1 磁鐵電源檢測(cè)系統(tǒng)結(jié)構(gòu)
檢測(cè)系統(tǒng)最小分辨率為18bit;最大采樣率為500kHz;信號(hào)通道數(shù)為497;8h穩(wěn)定度≤0.005%;非線(xiàn)性度≤0.01%;采樣范圍≤±10V。
由于磁鐵電源所處的位置較分散,為減少長(zhǎng)線(xiàn)傳輸造成的干擾,采用5套PXI[3]系統(tǒng)同時(shí)進(jìn)行檢測(cè),系統(tǒng)在BEPCⅡ運(yùn)行期間最快可在0.33ms內(nèi)采集一遍所有的磁鐵電源電流值,可迅速排查電源穩(wěn)定度問(wèn)題。
程序流程圖如圖2所示。前端采集以每通道1Hz的速率不間斷檢測(cè)所有磁鐵電源的電流穩(wěn)定度。根據(jù)實(shí)時(shí)顯示的電源電流穩(wěn)定度和束流的狀況判斷電源是否存在問(wèn)題,再對(duì)其進(jìn)行每通道30Hz的快速采集,采集過(guò)程中產(chǎn)生的大量數(shù)據(jù)通過(guò)TCP/IP傳輸至中央控制室客戶(hù)端計(jì)算機(jī),TCP包括如下函數(shù)節(jié)點(diǎn):Connec-tion函數(shù),用于建立客戶(hù)機(jī)和服務(wù)器之間通訊的連接;Transmission函數(shù),用于在客戶(hù)機(jī)和服務(wù)器之間傳輸數(shù)據(jù);Conversion函數(shù),用于計(jì)算機(jī)IP地址和計(jì)算機(jī)名稱(chēng)之間的切換。TCP函數(shù)節(jié)點(diǎn)工作過(guò)程如圖3所示。
圖2 磁鐵電源檢測(cè)系統(tǒng)流程圖
圖3 TCP函數(shù)節(jié)點(diǎn)工作過(guò)程
在中央控制室計(jì)算機(jī)與5個(gè)前端PXI子站的通訊中,設(shè)定PXI端為服務(wù)器端,中央控制室端為客戶(hù)端。運(yùn)行時(shí)服務(wù)器端不斷偵聽(tīng),當(dāng)有客戶(hù)端連接時(shí)則建立連接[4],然后收取和發(fā)送數(shù)據(jù)形成通訊,客戶(hù)端程序運(yùn)行后與服務(wù)器端進(jìn)行試探連接,若未連接上,程序則重復(fù)連接或報(bào)超時(shí),若連接上,則進(jìn)行收發(fā)數(shù)據(jù)處理。
Labview編寫(xiě)的程序中,數(shù)據(jù)傳遞的方式分為直接數(shù)據(jù)流、本地變量和屬性節(jié)點(diǎn),直接數(shù)據(jù)流傳遞速度最快,本地變量或?qū)傩怨?jié)點(diǎn)的方式無(wú)需與程序前面板的控制器/指示器直接連線(xiàn)就可用來(lái)傳遞控制器/指示器中的數(shù)值。3種數(shù)據(jù)傳遞方式雖均可傳遞數(shù)值,但工作方式不同,建立本地變量是對(duì)控制器/指示器中的數(shù)據(jù)進(jìn)行復(fù)制,因此占用內(nèi)存,當(dāng)為數(shù)組建立多個(gè)本地變量時(shí),會(huì)占用大量的內(nèi)存。屬性節(jié)點(diǎn)進(jìn)行讀數(shù)據(jù)或?qū)憯?shù)據(jù)時(shí)是對(duì)控制器/指示器中的數(shù)據(jù)進(jìn)行查詢(xún)或置入,不會(huì)占用內(nèi)存。由于本地變量是對(duì)內(nèi)存操作,所以運(yùn)行速度很快。相對(duì)于本地變量,屬性節(jié)點(diǎn)的效率很低,更占用CPU的資源。在快速檢測(cè)系統(tǒng)的軟件實(shí)現(xiàn)中盡可能地使用直接數(shù)據(jù)流,減少使用屬性節(jié)點(diǎn),可使系統(tǒng)運(yùn)行的響應(yīng)速度更快。
MySQL是一開(kāi)放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)[5],具備體積小、速度快的優(yōu)點(diǎn),支持多線(xiàn)程,充分利用CPU資源,支持大型的數(shù)據(jù)庫(kù),可處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。MySQL既能作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能作為一個(gè)庫(kù)而嵌入到其他的軟件中。本文對(duì)MySQL進(jìn)行如下優(yōu)化。
1)Datatime為8字節(jié),與時(shí)區(qū)無(wú)關(guān),缺省值是NULL,而Timestamp為4字節(jié),與時(shí)區(qū)有關(guān),缺省插入值是當(dāng)前時(shí)間。
2)MySQL用于處理連接和釋放連接的效率較高。因此,編寫(xiě)查詢(xún)程序時(shí)將復(fù)雜的查詢(xún)分成多個(gè)簡(jiǎn)單的查詢(xún),然后在應(yīng)用層將這些小查詢(xún)連接起來(lái),效率會(huì)很高。
磁鐵電源快速檢測(cè)系統(tǒng)采集數(shù)據(jù)的同時(shí)通過(guò)TCP/IP將數(shù)據(jù)傳輸至中央控制室MySQL數(shù)據(jù)庫(kù),中央控制室可隨時(shí)查詢(xún)歷史數(shù)據(jù),數(shù)據(jù)庫(kù)查詢(xún)的界面是以時(shí)間軸為橫軸的圖表(圖4),其能直觀地顯示磁鐵電源的歷史趨勢(shì),同時(shí)可將查詢(xún)結(jié)果導(dǎo)出至Excel文件。
圖4 中央控制室數(shù)據(jù)庫(kù)查詢(xún)界面
根據(jù)電源電流設(shè)定值與實(shí)際工作電流值間的一致性來(lái)判斷電源的準(zhǔn)確度,若誤差超出一定范圍就要進(jìn)行電源電流系數(shù)校正。
在網(wǎng)絡(luò)不通或數(shù)據(jù)不需寫(xiě)入數(shù)據(jù)庫(kù)的情況下,需要檢測(cè)系統(tǒng)本地存儲(chǔ)采集數(shù)據(jù)。檢測(cè)系統(tǒng)要求文件存儲(chǔ)速度達(dá)30kB/s。與Excel文件格式存儲(chǔ)相比,采用TDMS文件格式可取得更好的效果。TDMS文件是一種二進(jìn)制記錄文件,其邏輯結(jié)構(gòu)分為3層:文件、通道組和通道,每一層次上均可附加特定的屬性。TDMS內(nèi)部結(jié)構(gòu)的核心是segment,當(dāng)數(shù)據(jù)被寫(xiě)入segment中時(shí),實(shí)際上是新建了segment。各segment中包含幾個(gè)記錄信息的數(shù)據(jù)段。這種物理結(jié)構(gòu)決定了TDMS文件的隨機(jī)存取特性,當(dāng)程序僅讀取其中1個(gè)數(shù)據(jù)段時(shí),可直接獲得該數(shù)據(jù)段信息而不必調(diào)用其他數(shù)據(jù)段的信息,這保證了TDMS文件的高速存取,TDMS在磁盤(pán)陣列的高速流盤(pán)應(yīng)用中實(shí)際存取速度達(dá)372MB/s??紤]到BEPCⅡ磁鐵電源快速檢測(cè)系統(tǒng)長(zhǎng)期運(yùn)行的過(guò)程中會(huì)持續(xù)產(chǎn)生大量數(shù)據(jù),采集軟件設(shè)計(jì)為數(shù)據(jù)每天自動(dòng)新存一個(gè)當(dāng)天日期為文件名的TDMS文件,避免單個(gè)文件過(guò)大。
為使BEPCⅡ磁鐵電源快速檢測(cè)系統(tǒng)能精確地采集與處理數(shù)據(jù),必須考慮各種干擾對(duì)系統(tǒng)的影響。檢測(cè)系統(tǒng)的工作現(xiàn)場(chǎng)較為惡劣,摻雜著各種來(lái)自系統(tǒng)內(nèi)部和外部的干擾,當(dāng)被測(cè)信號(hào)較微弱時(shí),會(huì)導(dǎo)致較大的數(shù)據(jù)采集與處理誤差。檢測(cè)系統(tǒng)在實(shí)測(cè)電源電流時(shí)會(huì)出現(xiàn)較大幅度的共模干擾(圖5)。采用各種軟件濾波的方法,效果均不明顯,也無(wú)法滿(mǎn)足設(shè)計(jì)指標(biāo)。通過(guò)分析大量測(cè)試數(shù)據(jù)表明,檢測(cè)系統(tǒng)極可能是從地線(xiàn)引入共模干擾,將輸入信號(hào)電纜屏蔽層連接檢測(cè)系統(tǒng)接線(xiàn)端子的接地片,取得了顯著的效果,實(shí)測(cè)電源穩(wěn)定度均優(yōu)于萬(wàn)分之一。測(cè)試結(jié)果如圖6所示。
圖5 磁鐵電源輸出檢測(cè)中存在的共模干擾
圖6 排除干擾后磁鐵電源輸出電流檢測(cè)
本文用高精度穩(wěn)流電源作為信號(hào)源對(duì)檢測(cè)系統(tǒng)進(jìn)行線(xiàn)性度測(cè)試,測(cè)試結(jié)果列于表1。
表1 檢測(cè)系統(tǒng)線(xiàn)性度測(cè)試結(jié)果
本文研制的磁鐵電源快速檢測(cè)系統(tǒng),可實(shí)現(xiàn)500kHz的采樣率,能快速準(zhǔn)確地發(fā)現(xiàn)磁鐵電源輸出電流值的瞬間跳變,成為BEPCⅡ運(yùn)行排查故障的有力手段,且優(yōu)化了采集程序及數(shù)據(jù)庫(kù),使大量的采集數(shù)據(jù)得以迅速傳輸和存儲(chǔ)。本文開(kāi)發(fā)的數(shù)據(jù)庫(kù)查詢(xún)界面以時(shí)間軸曲線(xiàn)顯示,可直觀地判斷束流不穩(wěn)定或丟束是否因磁鐵電源電流穩(wěn)定度問(wèn)題引起。
[1] 龍鋒利,張旌,陳斌,等.高精度穩(wěn)流電源的網(wǎng)絡(luò)化檢測(cè)系統(tǒng)[J].原子能科學(xué)技術(shù),2006,40(2):249-251.LONG Fengli,ZHANG Jing,CHEN Bin,et al.Network measuring system for high precision stabilized current supply[J].Atomic Energy Science and Technology,2006,40(2):249-251(in Chinese).
[2] 豐偉偉,楊世文,南金瑞,等.LabVIEW中TDMS文件和SQL數(shù)據(jù)庫(kù)數(shù)據(jù)處理速度的研究[J].儀器儀表與分析監(jiān)測(cè),2011(1):10-12.
[3] 朱軍.PXI規(guī)范與最新發(fā)展概覽[J].電子技術(shù)應(yīng)用,2011,37(6):20-21.
[4] 畢虎,律方成,李燕青,等.Labview中訪問(wèn)數(shù)據(jù)庫(kù)的幾種不同方法[J].傳感器與儀器儀表,2006,22(1):131-134.BI Hu,LV Fangcheng,LI Yanqing,et al.Several methods of accessing database in Labview[J].Control &Automation,2006,22(1):131-134(in Chinese).
[5] 王小東.高性能MySQL[M].北京:電子工業(yè)出版社,2010.