楊振漢,胡純棟,盛 鵬,趙遠哲,張 睿,崔慶龍
1(中國科學院 等離子體物理研究所,合肥 230031)
2(中國科學技術大學 研究生院科學島分院,合肥 230026)
基于MDSplus的NBI數據采集系統①
楊振漢1,2,胡純棟1,盛 鵬1,趙遠哲1,張 睿1,2,崔慶龍1
1(中國科學院 等離子體物理研究所,合肥 230031)
2(中國科學技術大學 研究生院科學島分院,合肥 230026)
為了中性束注入(Neutral Beam Injection,NBI)系統的數據格式與東方超環(EAST)兼容,方便實驗結果共享和國際學術交流,設計了基于MDSplus(Model Drive System plus)的NBI數據采集系統.數據采集模塊采用雙緩沖技術和多線程機制,解決了NBI連續長脈沖數據采集問題.數據存儲模塊采用MDSplus數據存儲格式,通過MDSplus軟件開發包的jScope軟件訪問實驗數據,解決了NBI數據格式不統一和實驗數據共享問題.該系統在測試臺中滿足了實驗運行需求,為投入應用到下一輪EAST-NBI長脈沖注入實驗中奠定了良好的基礎.
中性束注入;東方超環;模型驅動系統;數據采集系統;雙緩沖;多線程
東方超環(EAST)是中國科學院等離子體物理研究所自行研制的國際首個全超導非圓截面托卡馬克裝置,中性束注入加熱是托卡馬克上對等離子體的外部加熱和維持的主要手段之一,是EAST裝置實現高參數穩態運行必備的加熱手段[1].
NBI數據采集系統是獲取NBI實驗數據的主要途徑,為NBI實驗研究與分析提供重要的數據資源. LZO是目前NBI數據采集系統提供的主要數據格式,LZO算法是一種高壓縮比和解壓速度極快的壓縮算法,但LZO支持的語言版本較少,在核聚變領域不通用,給國際交流造成了不變.MDSplus是 MIT專門為核聚變脈沖放電試驗設計的通用、可移植的軟件系統,數據訪問方式統一,已成為磁約束核聚變研究領域通用的數據存儲格式.在國外, MDSplus已成功應用在美國GA的DIII-D、PPPL的NSTX、MIT的CMOD、歐共體的JET、意大利IGI的RFX和韓國NFRC的KSTAR等聚變實驗裝置上;在國內,MDSplus作為實驗數據系統的一部分,也成功的應用于EAST聚變實驗中.為了使NBI實驗數據格式與EAST兼容,方便國際交流和結果共享,本文設計了基于MDSplus的NBI數據采集系統.
1.1 系統需求分析
NBI數據采集系統是為NBI長脈沖等離子體放電實驗提供一套包括現場信號的采集、存儲和訪問的系統.基于軟件工程設計思想,NBI數據采集系統需滿足功能、性能、可靠性和接口等方面的要求:
(1)功能需求:在采集前端,要盡可能屏蔽電磁干擾,減少采集信號的誤差;在存儲后端要確保采集到的信號不發生丟失;在數據訪問時要保證數據平滑繪制.
(2)性能需求:網絡的響應時間應在1s以內,否則提示出錯;靈活性強,運行環境的改變不影響該系統的運行效率.
(3)可靠性需求:因放電實驗成本高,所以要確保系統出故障的概率盡可能低,以及故障后迅速恢復;保持良好的日志記錄,既要記錄系統的正常日志,也要記錄系統的錯誤日志.
(4)接口需求:用戶界面友好,易操作;提供軟硬件接口,以便接收信號和反饋信息.
1.2 系統設計
系統設計的合理與否直接關系到整個系統的性能以及將來的系統擴展.根據系統的需求分析,NBI數據采集系統主要包括三個部分:數據采集模塊、數據存儲模塊、數據服務模塊.
2.1 數據采集
NBI數據采集系統是一個分布式的數據采集系統,由現場采集設備、服務器和遠程終端等組成[2],NBI數據采集系統的結構圖如圖1所示.現場采集設備分別連接到三個現場子網:現場診斷子網、現場數據子網和現場控制子網.現場診斷子網通過1Gbps光纖直接連接到遠程診斷子網;控制服務器把控制網分為現場控制子網和遠程控制子網兩個字網,并與這兩個子網通過1Gbps光纖進行通信;數據服務器把數據網分成遠程數據子網和現場數據子網兩個子網,通過1Gbps光纖和這兩個子網進行通信,診斷分析終端通過遠程診斷子網訪問數據服務器上的歷史數據.Web服務器通過遠程控制子網和遠程數據子網連接到數據服務器,遠程用戶通過瀏覽Web服務器網頁來訪問NBI實驗數據.

圖1 NBI數據采集系統結構
2.1.1 硬件設計
NBI現場測控層所處位置的電磁干擾較強,現場信號較多,采集時間較長,為了滿足NBI實驗高速穩定的采集和準確快速的傳輸的要求,數據采集模塊采用凌華公司生產的工業控制計算機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內存, 500GB硬盤,2個千兆以太網端口,一塊用于和數據服務器通信,實現數據存儲,另一塊用于提供原始數據訪問.
3)采集卡
cPCI-9116采集板卡支持64路單端或32路差分模擬輸入,最高采樣率250KHz,16位分辨率,24MHz內部時鐘源,支持外部數字觸發和模擬觸發.
2.1.2 軟件實現
數據采集軟件開發于Fedora14 Linux操作環境下,用C++語言編程,基于多線程任務處理技術和TCP C/S(Client/Server)通信模式完成,并運行于采集設備的上位機[3].

圖2 數據采集軟件設計流程圖
如圖2所示,數據采集模塊首先要向MCS進行網絡注冊,并對采集板卡進行注冊,然后等待MCS的 GetReady網絡命令[4].在實驗操作人員按下GETREADY命令按鈕后,數據采集模塊會收到MCS發來的本次放電的相關配置參數,主要包括采集卡的時鐘源、觸發模式、數據讀取方式、模擬輸入電壓范圍等,數據采集模塊按照配置參數對采集板卡進行相關的配置.完成配置后,數據采集子系統等待MCS的網絡Start命令,實驗操作人員按下START命令按鈕后,并且在外部TS硬件發出觸發信號后,數據采集模塊創建一個線程來采集現場模擬信號[5].
cPCI-9116采集卡輸出數據時有單緩沖和雙緩沖模式.單緩沖輸出模式下,用戶可根據預采點數為采集板卡開辟一個緩沖區,在采集完成預先設定的采集點數時,將數據傳輸到該用戶緩沖區.而在雙緩沖輸出模式下,用戶可交替使用兩個數據緩沖區,實現連續穩定的數據采集,能夠大大提高系統性能,因此采集板卡選擇雙緩沖輸出模式[6].
2.2 數據存儲
MDSplus以樹為區分單位,所有試驗數據都以樹型層次結構保存,這種樹型結構能夠清楚地表明各個節點之間的邏輯關系.MDSplus樹有兩種樹型結構:模型樹和脈沖樹,模型樹和脈沖樹的關系如圖3所示.模型樹存儲MDSplus樹的層次結構和常數數據,如樹的節點信息.脈沖樹是具有真實數據的模型樹,脈沖樹保存實驗數據和實驗配置信息.脈沖樹的創建以當前模型樹作為本脈沖樹的邏輯結構,但脈沖樹創建成功后,脈沖樹的邏輯結構不再隨著模型樹邏輯結構的改變而發生變化[7].
2.2.1 創建模型樹
中性束注入系統是一個穩定的系統,采集系統中需要采集的現場信號不會頻繁變化,因此選擇執行效率高的TCL命令方式來創建NBI模型樹.但是采集系統需要采集的現場信號多達32個,模型樹比較復雜,需要的TCL命令比較多,利用Linux Shell特殊重定向Here Document技術把所有的TCL命令寫成Shell腳本形式.NBI模型樹只包含所有分支節點的結構信息,并沒有實際數據.模型樹的炮號默認為-1,創建的EAST_NBI模型樹的邏輯結構如圖4所示.整個模型樹包含四個分支:原始數據,時間,參數和處理后的信號.原始數據分支用來保存從采集設備采集到的32個現場信號的原始實驗數據;時間分支用來存儲采集設備的觸發時間、采集時間和采集頻率;參數分支用來保存MCS發給采集設備的配置信息;處理后的信號分支下的32路信號通過TDI表達式建立,信號的數據軸來源于原始數據分支下對應信號的原始數據,信號的時間軸來源于時間分支下的時間信息[8].

圖3 模型樹和脈沖樹的關系示意圖

圖4 EAST_NBI模型樹邏輯結構圖
2.2.2 創建脈沖樹
NBI脈沖樹是基于NBI模型樹拓展而來,NBI脈沖樹復制了NBI模型樹的結構并在相應節點中賦值了數據信息,并根據文件類型保存在.characteristics、.tree和.datafile三個文件中.其中,.characteristics文件保存數據庫每個節點的NCI記錄;.datafile文件用于存儲數據庫節點上的大量實際數據,當數據被存儲在某個節點時,它被附加在.datafile文件的末尾并且此數據的偏址被記錄在該節點的NCI記錄中;.tree文件用來保存樹的結構信息[9],該文件只有在編輯狀態下才能被修改.
MDSplus將NBI采集系統采集到的實際數據和數據的存儲信息分開保存,MDSplus將.tree文件整個映射到內存,大量的實際數據保留在硬盤上,只有在訪問時候才調入內存,減少了數據訪問所占用的內存,提高了數據的訪問效率.創建脈沖樹的流程圖如圖5所示,首先連接MDSplus服務器,然后調用創建脈沖樹的Shell文件,根據炮號創建具體的脈沖樹,最后把采集設備采集到的實驗數據寫入到對應的脈沖樹中.

圖5 創建脈沖樹流程圖
2.3數據服務
NBI數據采集系統利用MDSPlus自身提供的圖形工具jScope瀏覽脈沖樹上節點的信號波形[10]. jScope可運行在服務器端也可運行在遠程客戶端, NBI數據采集系統利用jScope實現本地訪問和遠程訪問.本地訪問時,jScope運行在服務器端,直接訪問MDSPlus服務器本地存儲的數據;客戶端運行XShell和Xmanager實現在XShell中顯示遠程服務器的圖形界面.遠程訪問時,jScope運行在客戶端,MDSPlus服務器端只需要啟用基于TCP/IP協議的mdsip服務,運行在客戶端的jScope就可以通過java通信直接與遠程數據交互,實現訪問遠程數據.
為檢測NBI采集系統的可靠性,在NBI測試臺上對該系統進行測試.將測試臺NBI現場信號中的燈絲電壓和弧電壓分別接入接入cPCI-9116采集卡的0通道和1通道,將外部模擬觸發信號接入cPCI-9116采集卡的2通道.在定時系統觸發后,采集設備cPCIS-2632用100kHz的采樣率和24M的內部時鐘對通道0和通道1的現場信號進行采集,并將采集到的數據上傳到MDSPlus數據服務器,存儲到炮號為14532的脈沖樹中.圖6為使用jScope看到的炮號為14532脈沖樹中燈絲電壓和弧電壓的波形,經過和NBWAVE上的結果比較和驗證,采集結果可靠.經過多次測試,系統均能穩定、可靠的運行,達到了設計的要求.

圖6 jScope顯示采集的信號波形圖
本文設計了一套基于MDSplus的NBI數據采集系統.該套系統利用雙緩沖技術來實現連續數據采集,采用多線程機制來提高系統效率,使用MDSplus數據庫來統一數據格式.系統測試表明,本方案切實可行.該系統將在下一輪EAST-NBI長脈沖等離子體放電實驗中投入應用,為兼容EAST數據格式、方便國際交流和共享實驗結果奠定良好的基礎.
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實時數據采集系統.測控技術,2014,33(22):16–19.
7楊飛,肖炳甲,劉連忠,朱應飛.基于MDSplus的EAST工程數據獲取及顯示.微計算機信息,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數據存儲應用.微計算機信息,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