,,, ,
(核工業(yè)西南物理研究院,成都 610041)
中性束注入器加熱系統(tǒng)是熱核聚變托卡馬克實(shí)驗(yàn)裝置上用于等離子體加熱的一個(gè)重要設(shè)備。中性束電源系統(tǒng)是中性束加熱等離子體的重要設(shè)備,它直接關(guān)系中性束加熱等離子體實(shí)驗(yàn)的產(chǎn)生和注入效果。
HL-2A中性束原有的第1條束線以太網(wǎng)數(shù)據(jù)采集器工作由于當(dāng)時(shí)技術(shù)限制,不能支持多種采樣頻率混合采集,在高壓平臺(tái)上僅能完成高速采集,采集器容易出現(xiàn)死機(jī)和打火現(xiàn)象。對(duì)于低速長時(shí)間采集需求,需要進(jìn)行V-F和F-V電路轉(zhuǎn)換,中間環(huán)節(jié)復(fù)雜。V-F和F-V電路經(jīng)過長期充放電后,RC電路受溫度影響,導(dǎo)致轉(zhuǎn)換基準(zhǔn)頻率偏移,線性度差,從而采集精度低,信號(hào)測量效果不理想。而中性束高壓平臺(tái)上實(shí)驗(yàn)環(huán)境比較惡劣,對(duì)采集器抗干擾性能要求較高,因此在第2條束線的采集系統(tǒng)建設(shè)時(shí),將需要進(jìn)行重新規(guī)劃和設(shè)計(jì),滿足多路信號(hào)和多種采集頻率的測量需求。
中性束注入裝置系統(tǒng)中高壓平臺(tái)電源部分包括燈絲電源,弧流電源,加速電源和抑制極電源,被測量的參數(shù)包括燈絲電源電壓電流、弧壓弧流、加速極電流、壓電閥驅(qū)動(dòng)電壓、放電室氣壓等參數(shù)[3-7],其中燈絲電源、弧流電源和加速極電源同時(shí)需要進(jìn)行高速和低速采集。
高壓電源測量信號(hào)首先進(jìn)入NBI高壓測試儀,對(duì)測量信號(hào)進(jìn)行調(diào)理后,直接接入cRIO系統(tǒng)的C系列采集模塊,由于cRIO堅(jiān)固的抗干擾能力,在第二條束線硬件建設(shè)上直接將cRIO采集設(shè)備懸浮于高壓平臺(tái),和高壓平臺(tái)處于等電位,從而避免傳統(tǒng)V-F和F-V轉(zhuǎn)換電路的應(yīng)用上對(duì)信號(hào)精度的影響。cRIO采集系統(tǒng)所需要的觸發(fā)信號(hào)和以太網(wǎng)接口信號(hào)均通過光電轉(zhuǎn)換器接入,通過光纖傳輸?shù)姆绞礁綦x來自電源系統(tǒng)的高壓,避免高壓電源對(duì)數(shù)據(jù)采集系統(tǒng)造成誤觸發(fā)干擾并保證設(shè)備安全運(yùn)行。中性束電源數(shù)據(jù)采集現(xiàn)場不適宜實(shí)驗(yàn)人員長時(shí)間在現(xiàn)場工作,采用遠(yuǎn)程網(wǎng)絡(luò)通信,設(shè)置1臺(tái)工控機(jī)為上位機(jī),對(duì)cRIO采用分布式數(shù)據(jù)采集與集中管理模式[8-10],如圖1所示。
圖1 中性束高壓平臺(tái)數(shù)據(jù)采集系統(tǒng)的整體設(shè)計(jì)框圖
中性束高壓平臺(tái)數(shù)據(jù)采集系統(tǒng)共包括4個(gè)平臺(tái),其中每個(gè)平臺(tái)需要部署一個(gè)NI cRIO嵌入式設(shè)備。每個(gè)cRIO嵌入式設(shè)備包含1個(gè)cRIO-9114機(jī)箱,1個(gè)實(shí)時(shí)控制器cRIO-9025,1個(gè)9402數(shù)字 I/O模塊,2個(gè)NI9223采集模塊和2個(gè)NI9215采集模塊。
選用cRIO作為設(shè)計(jì)本套采集系統(tǒng)的硬件設(shè)備,是因?yàn)閏RIO是一種小巧而堅(jiān)固的工業(yè)化控制和采集系統(tǒng),利用LabVIEW FPGA基本的I/O功能,用戶可以直接訪問cRIO硬件的每個(gè)I/O模塊的輸入輸出電路。所有I/O模塊都包含內(nèi)置的接口,信號(hào)調(diào)理,轉(zhuǎn)換電路以及可選配的隔離屏蔽,可以使用LabVIEW,LabVIEW RT模塊和LabVIEW FPGA模塊快速實(shí)現(xiàn)開發(fā)cRIO嵌入式系統(tǒng)。
其中cRIO9025是一款嵌入式實(shí)時(shí)控制器,具有800 MHz CPU,512 MB DRAM,4 GB存儲(chǔ)容量,包括2個(gè)以太網(wǎng)、一個(gè)USB和一個(gè)串行端口。核心內(nèi)置數(shù)據(jù)傳輸機(jī)制,負(fù)責(zé)把數(shù)據(jù)傳到嵌入式處理器進(jìn)行數(shù)據(jù)記錄,與上位機(jī)通信。NI 9223作為高速、同步C系列模塊,提供最高采樣率1MS/s/ch,分辨率16位,最大模擬輸入電壓±10 V,4路差分同步通道間隔離模擬輸入通道。NI 9215模塊提供最高采樣率100 kS/s/ch,分辨率16位,最大模擬輸入電壓±10 V,4路同步采樣的模擬輸入通道,具有通道-地面接地雙重隔離屏障,能夠?qū)崿F(xiàn)安全性、抗干擾性和高共模電壓范圍。NI 9402具有4通道,LVTTL,雙向,最大55ns傳播延遲時(shí)間的數(shù)字輸入/輸出模塊,本系統(tǒng)中主要利用該模塊的輸入功能,獲取快速采集和慢速采集的觸發(fā)信號(hào),方便進(jìn)行觸發(fā)前后的信號(hào)采集工作。
根據(jù)中性束高壓平臺(tái)電源采集系統(tǒng)的測量需求,綜合考慮cRIO嵌入式設(shè)備中cRIO9025緩存容量和以太網(wǎng)數(shù)據(jù)傳輸速度,整個(gè)采集系統(tǒng)的設(shè)計(jì)參數(shù)如下所示:NI9223支持采樣頻率500KS/s觸發(fā)后5S數(shù)據(jù)采集,NI9215支持采樣頻率100 KS/s觸發(fā)前5S,觸發(fā)后10S數(shù)據(jù)采集。目前該測量系統(tǒng)最大支持32路快速和32路慢速同時(shí)采集,支持后期擴(kuò)展C系列模塊。
采集系統(tǒng)軟件基于LabVIEW2015[1-2]開發(fā),整個(gè)軟件架構(gòu)分為數(shù)據(jù)采集集中管理人機(jī)界面(HOST VI),實(shí)時(shí)應(yīng)用程序(RT VI),F(xiàn)PGA層程序(FPGA VI),三者之間的相互關(guān)系及作用如圖2所示。
圖2 高壓平臺(tái)數(shù)據(jù)采集系統(tǒng)軟件框架
其中HOST VI主要用于數(shù)據(jù)采集集中管理,RT VI主要用于采集模塊初始化,數(shù)據(jù)讀取與存儲(chǔ)。FPGA VI主要用于巡檢觸發(fā)信號(hào),實(shí)際數(shù)據(jù)采集,判斷觸發(fā)位置,通過FIFO寫入數(shù)據(jù)到RT VI。
圖3所示為中性束高壓平臺(tái)數(shù)據(jù)采集系統(tǒng)軟件運(yùn)行流程圖,首先cRIO采集設(shè)備上電啟動(dòng)并自檢后,向數(shù)據(jù)采集集中管理人機(jī)界面層(HOST VI)注冊。注冊成功后,HOST VI通過ODBC數(shù)據(jù)庫,在任務(wù)管理系統(tǒng)中根據(jù)任務(wù)編號(hào)獲取cRIO采集配置參數(shù)(包括采樣率,采樣長度,觸發(fā)模式等參數(shù)),將采集配置參數(shù)通過UDP通信協(xié)議發(fā)送給指定cRIO設(shè)備。cRIO設(shè)備接收到配置后,開始初始化C系列采集模塊所需要的采集配置信息,并發(fā)送初始化完畢消息給HOST VI。cRIO采集設(shè)備等待時(shí)序控制系統(tǒng)發(fā)出觸發(fā)信號(hào),一旦觸發(fā)到來,即開始進(jìn)行數(shù)據(jù)采集。采集完畢后,將數(shù)據(jù)首先存儲(chǔ)到cRIO硬盤內(nèi)部,并通知HOST VI通過FTP方式獲取cRIO硬盤中的采集數(shù)據(jù)。HOST VI獲取數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行整理,按照實(shí)際需要保存的數(shù)據(jù)長度進(jìn)行保存并上傳到遠(yuǎn)程數(shù)據(jù)庫,供實(shí)驗(yàn)人員讀取和分析。
圖3 數(shù)據(jù)采集系統(tǒng)軟件運(yùn)行流程圖
數(shù)據(jù)采集集中管理人機(jī)界面主要用于集中管理4個(gè)cRIO設(shè)備,獲取cRIO需要的采集配置參數(shù)、采集測試、單播/廣播方式發(fā)送消息到cRIO采集設(shè)備、遠(yuǎn)程重啟、監(jiān)視運(yùn)行狀態(tài)、上傳數(shù)據(jù)到遠(yuǎn)程數(shù)據(jù)庫與歷史數(shù)據(jù)回放。人機(jī)交互界面中所有與cRIO采集設(shè)備交互的操作,均通過事件結(jié)構(gòu)的方式實(shí)現(xiàn),減少程序占用的CPU資源,確保程序框圖響應(yīng)用戶在前面板上的操作,數(shù)據(jù)采集集中管理人機(jī)界面如圖4所示。
圖4 數(shù)據(jù)采集集中管理人機(jī)交互界面
實(shí)驗(yàn)人員能夠通過界面查詢采集系統(tǒng)配置參數(shù),包括任務(wù)ID,采樣頻率,采樣長度,設(shè)備在線情況,運(yùn)行狀態(tài)和數(shù)據(jù)存儲(chǔ)與上傳狀態(tài)。
cRIO采集設(shè)備所需配置參數(shù)通過配置ODBC數(shù)據(jù)庫管理器,從HL-2A數(shù)據(jù)庫的系統(tǒng)管理結(jié)構(gòu)(SYS.ACT)、采集任務(wù)結(jié)構(gòu)(SYS.TSK)、通道配置結(jié)構(gòu)(SYS.CH)、采集模塊結(jié)構(gòu)(SYS.MDL)、存儲(chǔ)信息結(jié)構(gòu)(SYS.INF)共5個(gè)文件中解析獲取。在配置信息獲取成功后,人機(jī)交互界面將配置信息轉(zhuǎn)發(fā)給對(duì)應(yīng)的cRIO采集子系統(tǒng)。采集子系統(tǒng)收到子系統(tǒng)的配置表后,對(duì)采集模塊設(shè)置初始化,并發(fā)送配置完畢消息給人機(jī)交互界面。
在每個(gè)cRIO采集設(shè)備初始化完成后,用戶管理界面程序中有兩種運(yùn)行模式,即測試和實(shí)驗(yàn)?zāi)J?。?duì)于測試模式,程序初始化完成后直接進(jìn)入軟件觸發(fā)狀態(tài),按照測試指定數(shù)據(jù)長度存儲(chǔ)。對(duì)于實(shí)驗(yàn)方式,程序初始化后需要監(jiān)聽HL-2A托卡馬克裝置放電任務(wù)消息系統(tǒng)發(fā)送的UDP消息,消息格式如下所示:+PLS_XXXXX,其中XXXXX表示5位放電炮號(hào),+TIM_XXXXX,XXXXX表示放電時(shí)間長度,單位為ms,按照實(shí)際放電長度和數(shù)據(jù)約定格式保存。
當(dāng)cRIO采集設(shè)備獲取到采集數(shù)據(jù)后,通知人機(jī)交互界面獲取原始數(shù)據(jù)并根據(jù)HL-2A托卡馬克數(shù)據(jù)采集診斷系統(tǒng)要求,每200炮采集數(shù)據(jù)放入一個(gè)文件夾,保存文件夾的名稱按照實(shí)驗(yàn)序號(hào)自動(dòng)計(jì)算取整的5位字符命名。(例如實(shí)驗(yàn)序號(hào)為34567,文件夾名稱則為34400),采集數(shù)據(jù)(.DAT)保存在DATA文件夾下,和采集系統(tǒng)對(duì)應(yīng)的通道INF文件(.INF)保存在INF文件夾下。
實(shí)時(shí)應(yīng)用程序RT VI在控制器上運(yùn)行,通過編程與FPGA VI通信。通過RT VI可記錄數(shù)據(jù)、控制數(shù)據(jù)傳輸定時(shí)及創(chuàng)建一個(gè)帶FPGA終端的系統(tǒng),并將其用作組件。本系統(tǒng)中編寫的RT VI主要用于完成與FPGA層的交互工作,RT VI采用狀態(tài)機(jī)編程,共有3個(gè)線程,分別用于實(shí)現(xiàn)接收用戶管理界面發(fā)送的配置消息,發(fā)送采集設(shè)備狀態(tài)信息,包括采集器開機(jī)正常、初始化正常、采集暫停、采集等待、等待觸發(fā)、觸發(fā)到、采集完成、數(shù)據(jù)上傳等消息,加載FPGA界面程序編譯的二進(jìn)制文件,完成對(duì)采集子系統(tǒng)的初始化工作,讀取來自底層硬件的原始采集數(shù)據(jù),存儲(chǔ)原始數(shù)據(jù)到cRIO采集系統(tǒng)硬盤,通知上位機(jī)獲取cRIO硬盤中的采集數(shù)據(jù),其中主線程包括cRIO設(shè)備初始化,打開FPGA,配置DMA深度,等待觸發(fā),F(xiàn)IFO讀取數(shù)據(jù),存儲(chǔ)數(shù)據(jù)和關(guān)閉FPGA的操作。
主線程中RT VI程序運(yùn)行在Real-Time實(shí)時(shí)操作系統(tǒng)中,使用中斷的編程方法保證了在FPGA VI和RT VI之間的同步操作,在等待中斷的同時(shí)可執(zhí)行其他操作,能夠及時(shí)通知事件到來(例如,數(shù)據(jù)變?yōu)橛行?、產(chǎn)生錯(cuò)誤或任務(wù)已完成)。另外RT VI在和FPGA VI之間傳遞數(shù)據(jù),使用直接內(nèi)存訪問(DMA) 方式。選用DMA傳遞數(shù)據(jù),其優(yōu)勢在于DMA是一種基于FIFO傳輸數(shù)據(jù)的方法,釋放了主機(jī)處理器,使其可在數(shù)據(jù)傳輸?shù)倪^程中執(zhí)行其他計(jì)算,傳輸數(shù)據(jù)數(shù)組時(shí)保存FPGA資源,能夠自動(dòng)同步RT VI和FPGA終端的數(shù)據(jù)傳輸,保證數(shù)據(jù)能夠快速傳輸與存取。本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)RT VI 和PFGA VI之間使用FIFO進(jìn)行數(shù)據(jù)傳輸?shù)脑韴D如圖5所示。
圖5 RT VI和FPGA VI之間使用FIFO傳輸數(shù)據(jù)原理圖
FPGA VI是加載至FPGA終端并運(yùn)行的VI。FPGA終端是一個(gè)可編程芯片,由邏輯塊、I/O塊和可編程互連資源組成。本系統(tǒng)中FPGA VI用于主要使用C系列采集模塊(NI9223,NI9215)和控制模塊(NI9402),負(fù)責(zé)信號(hào)采集、數(shù)字模塊觸發(fā)輸入信號(hào)檢測,包括重置I/O方法,生成I/O采樣脈沖方法,獲取I/O讀取狀態(tài)方法,創(chuàng)建FPGA I/O項(xiàng),配置FPGA I/O項(xiàng),使用FPGA I/O節(jié)點(diǎn),配置FIFO深度,配置FPGA時(shí)基時(shí)鐘,F(xiàn)IFO寫入等操作。
由于采集系統(tǒng)需要完成不同型號(hào)的采集卡在不同采樣率下混合測量的任務(wù),因此需要針對(duì)不同的C系列模塊設(shè)計(jì)采用不同的采集模式,其中NI9223模塊采用FPGA用戶I/O采集模式,NI9215采用FPGA節(jié)點(diǎn)I/O采集模式。這是因?yàn)楫a(chǎn)品屬性決定,不是所有的C系列模塊均支持用戶I/O采集模式,僅有NI9223可以使用。
在FPGA I/O節(jié)點(diǎn)模式下采集時(shí),程序按順序執(zhí)行,I/O節(jié)點(diǎn)需要通知模塊去采集數(shù)據(jù),并且傳送到控制器上,實(shí)際采集的速率就會(huì)受到C模塊本身可達(dá)到的采集速率和速率傳輸?shù)娇刂破鞯臅r(shí)間兩方面的限制;而在用戶控制I/O采集模式下,使用時(shí)鐘節(jié)點(diǎn)來控制模塊采樣,使用讀取節(jié)點(diǎn)來進(jìn)行數(shù)據(jù)的傳輸,兩者并行,所以采集速率可以達(dá)到更高。
其中NI 9223的采樣率在FPGA I/O節(jié)點(diǎn)下最大為350kS/s,而在FPGA用戶控制I/O采集模式下最大為1MS/s。使用節(jié)點(diǎn)I/O采集模式如圖6所示,用戶控制I/O采集模式程序示意框圖如圖7所示。對(duì)于NI9223采集模塊使用3個(gè)線程,并行進(jìn)行時(shí)鐘速率控制、數(shù)據(jù)采集與傳輸、檢查數(shù)據(jù)傳輸狀態(tài)。對(duì)于NI9215采集模塊,使用1個(gè)線程,用于判斷采集觸發(fā)點(diǎn)時(shí)刻,傳輸采集原始數(shù)據(jù)到RT VI程序中。
圖6 NI9215使用FPGA節(jié)點(diǎn)I/O采集模式
圖7 NI9223使用FPGA用戶I/O采集模式
為了驗(yàn)證cRIO采集設(shè)備和NI9215和NI9223數(shù)據(jù)采集模塊能否正常觸發(fā)工作,通過在HL-2A中性束注入加熱真實(shí)放電實(shí)驗(yàn)條件下對(duì)采集系統(tǒng)進(jìn)行了測試。例如在第34316次放電實(shí)驗(yàn)條件中,設(shè)置NI9223采樣頻率500K/s,觸發(fā)后5s數(shù)據(jù)采集,設(shè)置NI9215采樣頻率100K/s,觸發(fā)前2s,觸發(fā)后7s數(shù)據(jù)采集,快采和慢采的觸發(fā)延遲設(shè)定時(shí)間為763.64 ms。圖8所示是當(dāng)cRIO采集設(shè)備獲得了一炮實(shí)驗(yàn)數(shù)據(jù),通過HL-2A托卡馬克裝置實(shí)驗(yàn)中使用的圖形分析與處理ProDA(Process Data)軟件軟件讀取的中性束2號(hào)束線主要電源的實(shí)驗(yàn)參數(shù)曲線圖。為了進(jìn)行對(duì)比,將NI9223高速采集和NI9215低速采集的實(shí)驗(yàn)參數(shù)曲線同時(shí)由上至下交叉顯示,依次分別為快采和慢采的燈絲電壓Vfil、燈絲電流Ifil、弧流電壓Varc、弧流電流Iarc,引出電流Iacc和離子源氣壓Pre。
圖8 第34316次放電實(shí)驗(yàn)電源數(shù)據(jù)采集放電波形
從圖8測量結(jié)果中可以看出:燈絲預(yù)熱的本底電流約為200 A,燈絲設(shè)定電流為1060 A,弧流電流為320 A,弧壓和弧流開始于74 ms,持續(xù)時(shí)間將近1690 ms,打坑深度為83.5%,引出電流為14 A,離子源氣壓壓強(qiáng)為0.78 Pa,與實(shí)驗(yàn)?zāi)繕?biāo)設(shè)定的結(jié)果基本保持一致。由于中性束高壓的投入,容易出現(xiàn)打火和空間電磁干擾現(xiàn)象,對(duì)相關(guān)設(shè)備造成影響,測量設(shè)備采集的燈絲電流和燈絲電壓波形在798.06 ms處出現(xiàn)尖峰可以清晰看出,由于電源設(shè)計(jì)本身的不穩(wěn)定特性,弧流波形上存在紋波也能夠明顯測量出來。經(jīng)過多次數(shù)據(jù)采集測試, 系統(tǒng)均能穩(wěn)定、可靠的運(yùn)行,該套采集系統(tǒng)較好的滿足了中性束高壓平臺(tái)電源系統(tǒng)的數(shù)據(jù)采集需求,采集系統(tǒng)存儲(chǔ)的實(shí)驗(yàn)數(shù)據(jù)格式與ProDA軟件完全兼容。
中性束高壓平臺(tái)電源數(shù)據(jù)采集系統(tǒng)基于cRIO嵌入式以太網(wǎng)采集設(shè)備,結(jié)合FPGA和LabVIEW編程技術(shù),成功實(shí)現(xiàn)了對(duì)中性束2號(hào)束線主要電源的測量和診斷,滿足了中性束注入加熱的實(shí)驗(yàn)需求,為中性束實(shí)驗(yàn)人員進(jìn)一步分析中性束注入加熱實(shí)驗(yàn),提供了理論依據(jù)和數(shù)據(jù)基礎(chǔ)。在采集設(shè)備運(yùn)行的過程中人機(jī)交互界面操作靈活,抗干擾性能強(qiáng),采集精度高,維護(hù)方便。