楊振漢,胡純棟,盛 鵬,趙遠哲,張 睿,崔慶龍
1(中國科學(xué)院 等離子體物理研究所,合肥 230031)
2(中國科學(xué)技術(shù)大學(xué) 研究生院科學(xué)島分院,合肥 230026)
基于MDSplus的NBI數(shù)據(jù)采集系統(tǒng)①
楊振漢1,2,胡純棟1,盛 鵬1,趙遠哲1,張 睿1,2,崔慶龍1
1(中國科學(xué)院 等離子體物理研究所,合肥 230031)
2(中國科學(xué)技術(shù)大學(xué) 研究生院科學(xué)島分院,合肥 230026)
為了中性束注入(Neutral Beam Injection,NBI)系統(tǒng)的數(shù)據(jù)格式與東方超環(huán)(EAST)兼容,方便實驗結(jié)果共享和國際學(xué)術(shù)交流,設(shè)計了基于MDSplus(Model Drive System plus)的NBI數(shù)據(jù)采集系統(tǒng).數(shù)據(jù)采集模塊采用雙緩沖技術(shù)和多線程機制,解決了NBI連續(xù)長脈沖數(shù)據(jù)采集問題.數(shù)據(jù)存儲模塊采用MDSplus數(shù)據(jù)存儲格式,通過MDSplus軟件開發(fā)包的jScope軟件訪問實驗數(shù)據(jù),解決了NBI數(shù)據(jù)格式不統(tǒng)一和實驗數(shù)據(jù)共享問題.該系統(tǒng)在測試臺中滿足了實驗運行需求,為投入應(yīng)用到下一輪EAST-NBI長脈沖注入實驗中奠定了良好的基礎(chǔ).
中性束注入;東方超環(huán);模型驅(qū)動系統(tǒng);數(shù)據(jù)采集系統(tǒng);雙緩沖;多線程
東方超環(huán)(EAST)是中國科學(xué)院等離子體物理研究所自行研制的國際首個全超導(dǎo)非圓截面托卡馬克裝置,中性束注入加熱是托卡馬克上對等離子體的外部加熱和維持的主要手段之一,是EAST裝置實現(xiàn)高參數(shù)穩(wěn)態(tài)運行必備的加熱手段[1].
NBI數(shù)據(jù)采集系統(tǒng)是獲取NBI實驗數(shù)據(jù)的主要途徑,為NBI實驗研究與分析提供重要的數(shù)據(jù)資源. LZO是目前NBI數(shù)據(jù)采集系統(tǒng)提供的主要數(shù)據(jù)格式,LZO算法是一種高壓縮比和解壓速度極快的壓縮算法,但LZO支持的語言版本較少,在核聚變領(lǐng)域不通用,給國際交流造成了不變.MDSplus是 MIT專門為核聚變脈沖放電試驗設(shè)計的通用、可移植的軟件系統(tǒng),數(shù)據(jù)訪問方式統(tǒng)一,已成為磁約束核聚變研究領(lǐng)域通用的數(shù)據(jù)存儲格式.在國外, MDSplus已成功應(yīng)用在美國GA的DIII-D、PPPL的NSTX、MIT的CMOD、歐共體的JET、意大利IGI的RFX和韓國NFRC的KSTAR等聚變實驗裝置上;在國內(nèi),MDSplus作為實驗數(shù)據(jù)系統(tǒng)的一部分,也成功的應(yīng)用于EAST聚變實驗中.為了使NBI實驗數(shù)據(jù)格式與EAST兼容,方便國際交流和結(jié)果共享,本文設(shè)計了基于MDSplus的NBI數(shù)據(jù)采集系統(tǒng).
1.1 系統(tǒng)需求分析
NBI數(shù)據(jù)采集系統(tǒng)是為NBI長脈沖等離子體放電實驗提供一套包括現(xiàn)場信號的采集、存儲和訪問的系統(tǒng).基于軟件工程設(shè)計思想,NBI數(shù)據(jù)采集系統(tǒng)需滿足功能、性能、可靠性和接口等方面的要求:
(1)功能需求:在采集前端,要盡可能屏蔽電磁干擾,減少采集信號的誤差;在存儲后端要確保采集到的信號不發(fā)生丟失;在數(shù)據(jù)訪問時要保證數(shù)據(jù)平滑繪制.
(2)性能需求:網(wǎng)絡(luò)的響應(yīng)時間應(yīng)在1s以內(nèi),否則提示出錯;靈活性強,運行環(huán)境的改變不影響該系統(tǒng)的運行效率.
(3)可靠性需求:因放電實驗成本高,所以要確保系統(tǒng)出故障的概率盡可能低,以及故障后迅速恢復(fù);保持良好的日志記錄,既要記錄系統(tǒng)的正常日志,也要記錄系統(tǒng)的錯誤日志.
(4)接口需求:用戶界面友好,易操作;提供軟硬件接口,以便接收信號和反饋信息.
1.2 系統(tǒng)設(shè)計
系統(tǒng)設(shè)計的合理與否直接關(guān)系到整個系統(tǒng)的性能以及將來的系統(tǒng)擴展.根據(jù)系統(tǒng)的需求分析,NBI數(shù)據(jù)采集系統(tǒng)主要包括三個部分:數(shù)據(jù)采集模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)服務(wù)模塊.
2.1 數(shù)據(jù)采集
NBI數(shù)據(jù)采集系統(tǒng)是一個分布式的數(shù)據(jù)采集系統(tǒng),由現(xiàn)場采集設(shè)備、服務(wù)器和遠程終端等組成[2],NBI數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)圖如圖1所示.現(xiàn)場采集設(shè)備分別連接到三個現(xiàn)場子網(wǎng):現(xiàn)場診斷子網(wǎng)、現(xiàn)場數(shù)據(jù)子網(wǎng)和現(xiàn)場控制子網(wǎng).現(xiàn)場診斷子網(wǎng)通過1Gbps光纖直接連接到遠程診斷子網(wǎng);控制服務(wù)器把控制網(wǎng)分為現(xiàn)場控制子網(wǎng)和遠程控制子網(wǎng)兩個字網(wǎng),并與這兩個子網(wǎng)通過1Gbps光纖進行通信;數(shù)據(jù)服務(wù)器把數(shù)據(jù)網(wǎng)分成遠程數(shù)據(jù)子網(wǎng)和現(xiàn)場數(shù)據(jù)子網(wǎng)兩個子網(wǎng),通過1Gbps光纖和這兩個子網(wǎng)進行通信,診斷分析終端通過遠程診斷子網(wǎng)訪問數(shù)據(jù)服務(wù)器上的歷史數(shù)據(jù).Web服務(wù)器通過遠程控制子網(wǎng)和遠程數(shù)據(jù)子網(wǎng)連接到數(shù)據(jù)服務(wù)器,遠程用戶通過瀏覽Web服務(wù)器網(wǎng)頁來訪問NBI實驗數(shù)據(jù).
圖1 NBI數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)
2.1.1 硬件設(shè)計
NBI現(xiàn)場測控層所處位置的電磁干擾較強,現(xiàn)場信號較多,采集時間較長,為了滿足NBI實驗高速穩(wěn)定的采集和準(zhǔn)確快速的傳輸?shù)囊?數(shù)據(jù)采集模塊采用凌華公司生產(chǎn)的工業(yè)控制計算機cPCIS-2632.
1)機箱
cPCIS-2632R機箱配置3U、8槽、32位CompactPCI背板,2個最大功率為500W的電源,支持帶P2接頭的后走線I/O.
2)控制器
cPCI-HL3965D控制器配置雙核Intel(R)Core(TM) Duo T7500 2.20GHz處理器,4GB DDR2 667MHz內(nèi)存, 500GB硬盤,2個千兆以太網(wǎng)端口,一塊用于和數(shù)據(jù)服務(wù)器通信,實現(xiàn)數(shù)據(jù)存儲,另一塊用于提供原始數(shù)據(jù)訪問.
3)采集卡
cPCI-9116采集板卡支持64路單端或32路差分模擬輸入,最高采樣率250KHz,16位分辨率,24MHz內(nèi)部時鐘源,支持外部數(shù)字觸發(fā)和模擬觸發(fā).
2.1.2 軟件實現(xiàn)
數(shù)據(jù)采集軟件開發(fā)于Fedora14 Linux操作環(huán)境下,用C++語言編程,基于多線程任務(wù)處理技術(shù)和TCP C/S(Client/Server)通信模式完成,并運行于采集設(shè)備的上位機[3].
圖2 數(shù)據(jù)采集軟件設(shè)計流程圖
如圖2所示,數(shù)據(jù)采集模塊首先要向MCS進行網(wǎng)絡(luò)注冊,并對采集板卡進行注冊,然后等待MCS的 GetReady網(wǎng)絡(luò)命令[4].在實驗操作人員按下GETREADY命令按鈕后,數(shù)據(jù)采集模塊會收到MCS發(fā)來的本次放電的相關(guān)配置參數(shù),主要包括采集卡的時鐘源、觸發(fā)模式、數(shù)據(jù)讀取方式、模擬輸入電壓范圍等,數(shù)據(jù)采集模塊按照配置參數(shù)對采集板卡進行相關(guān)的配置.完成配置后,數(shù)據(jù)采集子系統(tǒng)等待MCS的網(wǎng)絡(luò)Start命令,實驗操作人員按下START命令按鈕后,并且在外部TS硬件發(fā)出觸發(fā)信號后,數(shù)據(jù)采集模塊創(chuàng)建一個線程來采集現(xiàn)場模擬信號[5].
cPCI-9116采集卡輸出數(shù)據(jù)時有單緩沖和雙緩沖模式.單緩沖輸出模式下,用戶可根據(jù)預(yù)采點數(shù)為采集板卡開辟一個緩沖區(qū),在采集完成預(yù)先設(shè)定的采集點數(shù)時,將數(shù)據(jù)傳輸?shù)皆撚脩艟彌_區(qū).而在雙緩沖輸出模式下,用戶可交替使用兩個數(shù)據(jù)緩沖區(qū),實現(xiàn)連續(xù)穩(wěn)定的數(shù)據(jù)采集,能夠大大提高系統(tǒng)性能,因此采集板卡選擇雙緩沖輸出模式[6].
2.2 數(shù)據(jù)存儲
MDSplus以樹為區(qū)分單位,所有試驗數(shù)據(jù)都以樹型層次結(jié)構(gòu)保存,這種樹型結(jié)構(gòu)能夠清楚地表明各個節(jié)點之間的邏輯關(guān)系.MDSplus樹有兩種樹型結(jié)構(gòu):模型樹和脈沖樹,模型樹和脈沖樹的關(guān)系如圖3所示.模型樹存儲MDSplus樹的層次結(jié)構(gòu)和常數(shù)數(shù)據(jù),如樹的節(jié)點信息.脈沖樹是具有真實數(shù)據(jù)的模型樹,脈沖樹保存實驗數(shù)據(jù)和實驗配置信息.脈沖樹的創(chuàng)建以當(dāng)前模型樹作為本脈沖樹的邏輯結(jié)構(gòu),但脈沖樹創(chuàng)建成功后,脈沖樹的邏輯結(jié)構(gòu)不再隨著模型樹邏輯結(jié)構(gòu)的改變而發(fā)生變化[7].
2.2.1 創(chuàng)建模型樹
中性束注入系統(tǒng)是一個穩(wěn)定的系統(tǒng),采集系統(tǒng)中需要采集的現(xiàn)場信號不會頻繁變化,因此選擇執(zhí)行效率高的TCL命令方式來創(chuàng)建NBI模型樹.但是采集系統(tǒng)需要采集的現(xiàn)場信號多達32個,模型樹比較復(fù)雜,需要的TCL命令比較多,利用Linux Shell特殊重定向Here Document技術(shù)把所有的TCL命令寫成Shell腳本形式.NBI模型樹只包含所有分支節(jié)點的結(jié)構(gòu)信息,并沒有實際數(shù)據(jù).模型樹的炮號默認(rèn)為-1,創(chuàng)建的EAST_NBI模型樹的邏輯結(jié)構(gòu)如圖4所示.整個模型樹包含四個分支:原始數(shù)據(jù),時間,參數(shù)和處理后的信號.原始數(shù)據(jù)分支用來保存從采集設(shè)備采集到的32個現(xiàn)場信號的原始實驗數(shù)據(jù);時間分支用來存儲采集設(shè)備的觸發(fā)時間、采集時間和采集頻率;參數(shù)分支用來保存MCS發(fā)給采集設(shè)備的配置信息;處理后的信號分支下的32路信號通過TDI表達式建立,信號的數(shù)據(jù)軸來源于原始數(shù)據(jù)分支下對應(yīng)信號的原始數(shù)據(jù),信號的時間軸來源于時間分支下的時間信息[8].
圖3 模型樹和脈沖樹的關(guān)系示意圖
圖4 EAST_NBI模型樹邏輯結(jié)構(gòu)圖
2.2.2 創(chuàng)建脈沖樹
NBI脈沖樹是基于NBI模型樹拓展而來,NBI脈沖樹復(fù)制了NBI模型樹的結(jié)構(gòu)并在相應(yīng)節(jié)點中賦值了數(shù)據(jù)信息,并根據(jù)文件類型保存在.characteristics、.tree和.datafile三個文件中.其中,.characteristics文件保存數(shù)據(jù)庫每個節(jié)點的NCI記錄;.datafile文件用于存儲數(shù)據(jù)庫節(jié)點上的大量實際數(shù)據(jù),當(dāng)數(shù)據(jù)被存儲在某個節(jié)點時,它被附加在.datafile文件的末尾并且此數(shù)據(jù)的偏址被記錄在該節(jié)點的NCI記錄中;.tree文件用來保存樹的結(jié)構(gòu)信息[9],該文件只有在編輯狀態(tài)下才能被修改.
MDSplus將NBI采集系統(tǒng)采集到的實際數(shù)據(jù)和數(shù)據(jù)的存儲信息分開保存,MDSplus將.tree文件整個映射到內(nèi)存,大量的實際數(shù)據(jù)保留在硬盤上,只有在訪問時候才調(diào)入內(nèi)存,減少了數(shù)據(jù)訪問所占用的內(nèi)存,提高了數(shù)據(jù)的訪問效率.創(chuàng)建脈沖樹的流程圖如圖5所示,首先連接MDSplus服務(wù)器,然后調(diào)用創(chuàng)建脈沖樹的Shell文件,根據(jù)炮號創(chuàng)建具體的脈沖樹,最后把采集設(shè)備采集到的實驗數(shù)據(jù)寫入到對應(yīng)的脈沖樹中.
圖5 創(chuàng)建脈沖樹流程圖
2.3數(shù)據(jù)服務(wù)
NBI數(shù)據(jù)采集系統(tǒng)利用MDSPlus自身提供的圖形工具jScope瀏覽脈沖樹上節(jié)點的信號波形[10]. jScope可運行在服務(wù)器端也可運行在遠程客戶端, NBI數(shù)據(jù)采集系統(tǒng)利用jScope實現(xiàn)本地訪問和遠程訪問.本地訪問時,jScope運行在服務(wù)器端,直接訪問MDSPlus服務(wù)器本地存儲的數(shù)據(jù);客戶端運行XShell和Xmanager實現(xiàn)在XShell中顯示遠程服務(wù)器的圖形界面.遠程訪問時,jScope運行在客戶端,MDSPlus服務(wù)器端只需要啟用基于TCP/IP協(xié)議的mdsip服務(wù),運行在客戶端的jScope就可以通過java通信直接與遠程數(shù)據(jù)交互,實現(xiàn)訪問遠程數(shù)據(jù).
為檢測NBI采集系統(tǒng)的可靠性,在NBI測試臺上對該系統(tǒng)進行測試.將測試臺NBI現(xiàn)場信號中的燈絲電壓和弧電壓分別接入接入cPCI-9116采集卡的0通道和1通道,將外部模擬觸發(fā)信號接入cPCI-9116采集卡的2通道.在定時系統(tǒng)觸發(fā)后,采集設(shè)備cPCIS-2632用100kHz的采樣率和24M的內(nèi)部時鐘對通道0和通道1的現(xiàn)場信號進行采集,并將采集到的數(shù)據(jù)上傳到MDSPlus數(shù)據(jù)服務(wù)器,存儲到炮號為14532的脈沖樹中.圖6為使用jScope看到的炮號為14532脈沖樹中燈絲電壓和弧電壓的波形,經(jīng)過和NBWAVE上的結(jié)果比較和驗證,采集結(jié)果可靠.經(jīng)過多次測試,系統(tǒng)均能穩(wěn)定、可靠的運行,達到了設(shè)計的要求.
圖6 jScope顯示采集的信號波形圖
本文設(shè)計了一套基于MDSplus的NBI數(shù)據(jù)采集系統(tǒng).該套系統(tǒng)利用雙緩沖技術(shù)來實現(xiàn)連續(xù)數(shù)據(jù)采集,采用多線程機制來提高系統(tǒng)效率,使用MDSplus數(shù)據(jù)庫來統(tǒng)一數(shù)據(jù)格式.系統(tǒng)測試表明,本方案切實可行.該系統(tǒng)將在下一輪EAST-NBI長脈沖等離子體放電實驗中投入應(yīng)用,為兼容EAST數(shù)據(jù)格式、方便國際交流和共享實驗結(jié)果奠定良好的基礎(chǔ).
1 Hu CD,et al.Conceptual design of neutral beam injection system for EAST.Plasma Science and Technology,2012, 14(6):567–572.
2 Sheng P,Hu CD,Zhang XD,Cui QL,Zhao YZ,Wu DY, Song SH,Yu L,Liang LZ,Zhang R,Lin Y.Data acquisition system of neutral beam injector on EAST.Journal of Fusion Energy,2014,33(5):544–548.
3 ZhangXD,HuCD,ShengP,LiuZM,ZhaoYZ. Development of a data acquisition control system for the first NBI on EAST.Plasma Science and Technology,2013,5(12): 1254–1258.
4 Sheng P,Hu CD,Song SH,Zhao YZ,Zhang XD,Wu DY, Cui QL,Zhang R,Lin YL.The NBI control system for the EAST.Journal of Fusion Energy,2014,33(5):529–534.
5 Zhao YZ,Hu CD,Sheng P,Zhang XD,Wu DY,Cui QL. Design of timing system software on EAST-NBI.Journal of Fusion Energy,2013,32(5):523–594.
6黃文君,王華忠,楊飛,李實,肖炳甲.MDSplus實時數(shù)據(jù)采集系統(tǒng).測控技術(shù),2014,33(22):16–19.
7楊飛,肖炳甲,劉連忠,朱應(yīng)飛.基于MDSplus的EAST工程數(shù)據(jù)獲取及顯示.微計算機信息,2010,26(3):20–22.
8 Hu CD,Xie YH,Xie YL,Liu S,Xu YJ,Liang LZ,Jiang CC, Sheng P,Gu YM,Li J,Liu Z.Overview of development status for EAST-NBI system. Plasma Science and Technology,2015,10(17):817–825.
9林冬濤,肖炳甲,袁旗平.MDSplus數(shù)據(jù)存儲應(yīng)用.微計算機信息,2010,26(34):111–113.
10 Anonym.Reading MDSplus data using jScope.http:// www.mdsplus.org/index.php?title=Documentation:Tutorial: UsingScope&open=60817762359885604847601&page=Do cumentation%2FThe+MDSplus+tutorial%2FReading+MDS plus+data+using+jScope.[2016-05-25].
DataAcquisition System of NBI Based on MDSplus
YANG Zhen-Han1,2,HU Chun-Dong1,SHENG Peng1,ZHAO Yuan-Zhe1,ZHANG Rui1,2,CUI Qing-Long1
1(Institute of Plasma Physics,ChineseAcademy of Sciences,Hefei 230031,China)
2(Science Island Branch of Graduate School,University of Science and Technology of China,Hefei 230026,China)
In order to make the data format of NBI(Neutral Beam Injection)system compatible with EAST data and to make international exchange of experimental results effectively,an NBI data acquisition system based on MDSplus (Model Drive System plus)is developed.Double buffer technology and multi-thread mechanism are adopted in data acquisition module to achieve continuous and long-pulse data acquisition.Data storage module selects MDSplus and jScope which can access the experimental data and is packaged in MDSplus’s program developing tools to resolve the problem of unifying NBI data format and sharing NBI experimental data.The system has met the requirements of the experiment in the test and lays a good foundation for the next round EAST-NBI long-pulse injection experiments.
NBI;EAST;MDSplus;data acquisition system;double buffer;multi-thread
國家國際科技合作專項(2014DFG61950)
2016-08-11;收到修改稿時間:2016-09-08
10.15888/j.cnki.csa.005720