丁建國 趙 歡 朱海君 劉亞娟 沈立人
(中國科學院上海應用物理研究所 上海 201800)
上海同步輻射裝置(SSRF, Shanghai Synchrotron Radiation Facility)是能量為3.5 GeV的第三代同步輻射光源,由電子直線加速器(Linac)、增強器(Booster)、儲存環(huán)(Storage Ring)和高低能輸運線組成。為精確調(diào)節(jié)電流,SSRF磁鐵電源采用DSP技術的全數(shù)字化電源控制器。針對電源數(shù)目多且分布廣的特點,SSRF電源控制系統(tǒng)基于分布式控制技術設計,采用大型實驗物理及工業(yè)控制系統(tǒng)(Experimental Physics and Industrial Control System,EPICS)[1]工具集進行系統(tǒng)開發(fā)與運行。2009年4月SSRF向用戶開放,該電源控制系統(tǒng)一直處于穩(wěn)定的高性能狀態(tài)。本文介紹基于Ethernet的層次式的DCS結構,并介紹瑞士光源(SLS)和上海光源的SINAP控制器的基于EPICS系統(tǒng)的控制方案,包括系統(tǒng)硬件集成、軟件開發(fā)及通訊實現(xiàn)。
SSRF共有600多臺各種類型磁鐵電源和若干公共直流源,分布于直線加速器技術走廊、增強器主副電源廳和儲存環(huán)技術走廊的 20個技術單元與環(huán)電源廳中。它們數(shù)量多且地域分布廣,分布式控制是實現(xiàn)SSRF電源控制系統(tǒng)的最佳選擇。根據(jù)國內(nèi)外大型加速器裝置控制系統(tǒng)的技術主流,我們選擇在EPICS系統(tǒng)架構下開發(fā)電源控制系統(tǒng)。
電源控制系統(tǒng)是3層結構的層次式結構[2],包括操作員計算機(Operator Interface, OPI)、輸入輸出控制器(Input/Output Controller, IOC)和連接OPI和IOC的計算機網(wǎng)絡。OPI位于SSRF中央控制室與各電源站,采用Linux/PC工作站,在SSRF中央運行環(huán)境下,運行GUI圖形界面,實現(xiàn)對電源運行參數(shù)的監(jiān)控顯示,或者運行上層基于物理模型的調(diào)束軟件操作電源。OPI通過基于TCP/IP的通道訪問協(xié)議(Channel Access, CA)訪問IOC中的I/O通道。IOC控制器運行EPICS基礎內(nèi)核和實時運行數(shù)據(jù)庫實現(xiàn)對本地電源的訪問操作。通過與電源控制器的實時數(shù)據(jù)交換,IOC及時刷新控制變量,并對OPI請求作出響應。
SSRF的每臺磁鐵電源包含一個內(nèi)置的電源控制器?;谖锢韺﹄娫纯刂凭?、穩(wěn)定與可靠的高要求,所有電源控制器均采用數(shù)字化控制技術,通過基于數(shù)字化信號處理器(DSP)的控制器實現(xiàn)建立電流調(diào)節(jié)的高速反饋回路。電源控制器采用光纖連接實現(xiàn)與上層IOC的通訊,以及電源與電源控制系統(tǒng)的隔離(避免相互干擾)。SSRF電源系統(tǒng)有兩種數(shù)字化電源控制器:瑞士PSI電源控制器[3,4]和SINAP電源控制器[5]。采用數(shù)字化控制器的電源,長期穩(wěn)定可優(yōu)于 20×10?6。
基于EPICS的控制系統(tǒng),其核心是IOC。電源控制的IOC控制器是VME 64x總線的嵌入式系統(tǒng),每個IOC由運行vxWorks實時操作系統(tǒng)的單板計算機和若干控制模塊組成。在Linac和增強器電源廳與儲存環(huán)技術走廊各電源站共分布著 27臺VME/IOC控制器。VME系統(tǒng)有很高的 MTBF、EMI/EMC指標,為電源控制系統(tǒng)的高性能奠定了基礎。
IOC的操作系統(tǒng)及其EPICS軟件、實時數(shù)據(jù)庫等是在系統(tǒng)啟動從控制系統(tǒng)的FTP服務器下載后運行。IOC通過SSRF控制系統(tǒng)中的NTP網(wǎng)絡時間服務器保持時間的同步。運行時,IOC中的實時運行數(shù)據(jù)庫記錄被觸發(fā)處理,通過對EPICS設備支持與驅動程序的調(diào)用,從電源控制器獲取電源參數(shù)與狀態(tài)、或將控制參數(shù)寫入電源控制器。通過通道訪問協(xié)議,IOC中所有I/O通道對OPI進程對其他IOC均透明,授權用戶可通過通道命名直接訪問數(shù)據(jù)庫記錄值,而不必知道通道的具體位置及如何工作。
PSI控制器用于儲存環(huán)和增強器升能動態(tài)電源的控制。對于使用 PSI控制器的電源,基于 VME總線的IOC通過Industry Pack (IP)工業(yè)總線模塊與電源控制器的光纖接口實現(xiàn)通訊連接。IP安裝于VME 64x總線的 IP載板上,載板用于實現(xiàn)IP到VME的地址映射,從而實現(xiàn)IOC對IP模塊空間的訪問。
圖1是基于PSI控制器的電源控制方案。每個電源控制器包含DSP卡和ADC卡兩個模塊,由一個專門背板連接。DSP卡用高速DSP芯片實現(xiàn)電流調(diào)節(jié)反饋回路,ADC卡用于數(shù)字采集。DSP卡使用一塊FPGA芯片產(chǎn)生PWM開關脈沖,且通過2路連接與外部通訊:Service PC接口和快速光纖接口。Service PC接口用于對電源控制卡進行參數(shù)設定以實現(xiàn)控制器符合特定的磁鐵特性,也可在電源調(diào)試維護時實現(xiàn)本地操作。點對點的快速光纖連接用于遠程控制,由一對塑料光纖連接實現(xiàn)控制器端與IOC中IP模塊間的同步數(shù)據(jù)交換。遠程通訊由雙方的FPGA芯片實現(xiàn)。電源控制器包含256個寄存器,可被DSP和FPGA雙向讀寫。IOC通過對寄存器地址的讀寫請求實現(xiàn)電源操作。
IOC是VME 64x總線的GE7050單板計算機,具有1 GHz CPU、512 M RAM和兩個Gbit Ethernet接口。IP載板選用4-slot的GE Vipc 664-ET。IP模塊是為PSI控制器專門設計的,每個IP模塊可用于兩個電源控制,每塊載板最多可用于8個電源的控制。傳輸板(Transition Module, TM)用于IP載板輸入輸出信號的光電轉換。光纖信號為 5 MHz的Manchester編碼的同步通訊,定長數(shù)據(jù)幀,傳輸速率可達10 K幀/s。
PSI控制器通過一個附設的光纖輸入口接收外部觸發(fā)信號。當觸發(fā)運行時,電源有按照設定的電流波形運行的特性,這一功能用于SSRF增強器中對升能電源的控制。具體地,電流表格文件通過OPI程序下載到電源控制器的存儲中,操作員按照物理要求,設定好直流電流、控制步長和放大因子,然后使能外部觸發(fā)。當接收到SSRF定時系統(tǒng)提供的觸發(fā)信號時,電源按照設定運行表格波形,將束流能量從150 MeV升至3.50 GeV,滿足儲存環(huán)束流注入的要求。
圖1 基于PSI控制器的電源控制方案原理圖Fig.1 Diagram of the control solution for the power supplies with the PSI-designed digital controllers.
SINAP電源控制器是數(shù)字化電源控制器,用于Linac、高低能輸運線電源和增強器校正電源的控制。SINAP控制器的控制方案為:采用通訊服務器,將電源控制器光纖連接的串行通訊轉換為基于Ethernet的網(wǎng)絡通訊。IOC通過基于TCP/IP的網(wǎng)絡通訊訪問電源控制器。通訊服務器安裝于電源機柜,在光纖信號進入通訊服務器之前,通過光電轉換模塊進行信號轉換。
圖2是基于SINAP控制器的電源控制方案。為實現(xiàn)與PSI控制器物理連接與安裝的兼容,SINAP控制器也由DSP卡與ADC卡組成,通過背板連接。當前版本尚無外部定時觸發(fā)運行表格波形的接口與功能。
DSP卡有兩路外部通訊連接端口:光纖連接的異步串行通訊端口和RS232通訊接口。RS232接口用于電源控制參數(shù)的設置與修改,調(diào)試與維護時的本地控制操作。光纖連接則用于上層控制。兩個通訊端口執(zhí)行相同的通訊協(xié)議。
圖2 基于SINAP控制器的電源控制方案原理圖Fig.2 Diagram of the control solution for the power supplies with the SINAP-designed digital controllers.
DSP卡中定義了一組寄存器,用于存放針對不同磁鐵負載的電流調(diào)節(jié)參數(shù),電源電流設定參數(shù)與電源運行狀態(tài)等。同時,定義了專門的通訊協(xié)議規(guī)程用于控制器與IOC上位機的通訊。
IOC采用GE7050 CPU板,由于不涉及硬件數(shù)據(jù)采集,IOC只是實現(xiàn)soft IOC的功能。采用VME系統(tǒng)的優(yōu)點在于能獲得系統(tǒng)更高的穩(wěn)定性,且運行vxWorks操作系統(tǒng)得到更好的實時控制性能。
電源控制軟件是基于EPICS工具集開發(fā)的。軟件的實現(xiàn)采用層次式結構,包括電源控制器軟件、IOC軟件及控制臺OPI軟件。
電源電流調(diào)節(jié)的反饋控制回路和電流波形表的運行是由控制器中的軟件實現(xiàn)的,由控制器制造商在發(fā)貨前固化在控制器的 Flash存儲器中。針對不同的磁鐵負載特性,SSRF電源專業(yè)組負責控制器電源控制參數(shù)的設定與調(diào)試。
IOC軟件由EPICS內(nèi)核、實時運行數(shù)據(jù)庫和設備支持/驅動模塊組成。系統(tǒng)采用 EPICS base 3.14.8.2 作為基礎運行內(nèi)核版本。
電源控制系統(tǒng)通過分布于各個IOC中的實時運行數(shù)據(jù)庫實現(xiàn)對電源的控制訪問,通過數(shù)據(jù)庫記錄的掃描域定義觸發(fā)記錄的處理,實現(xiàn)數(shù)據(jù)的實時刷新。掃描機制包括周期性掃描、I/O中斷與事件觸發(fā)掃描和被動處理掃描等。數(shù)據(jù)庫在IOC啟動時在載入操作系統(tǒng)、EPICS基礎內(nèi)核后裝入運行。SSRF電源控制系統(tǒng)定義了三種不同的標準數(shù)據(jù)庫模板用于不同電源的控制。對于靜態(tài)電源,為兩種電源控制器定義了獨立的控制數(shù)據(jù)庫模板。對增強器的升能動態(tài)電源,開發(fā)了專門的數(shù)據(jù)庫模板,增加了電流表格下載與上傳,定時觸發(fā)運行的設置等特殊功能。IOC啟動時,只要選擇模板文件,在載入時給出電源名稱和一些基本參數(shù)宏替換就可生成滿足實際需求的運行數(shù)據(jù)庫。采用模板的方法,開發(fā)與維護都容易實現(xiàn)。
電源控制的基本邏輯須在數(shù)據(jù)庫中實現(xiàn)。除電源開關、電流設定與定時回讀電流值、設備參數(shù)與工作狀態(tài)外,數(shù)據(jù)庫要實現(xiàn)開機時對磁鐵消除剩磁的Cycle功能選擇,在從最小電流到最大電流運行3個周期后,電源回到原電流設定值。IOC復位后的透明化處理,即在IOC如遇故障重啟后,無需操作員干預,電源所有設定回到故障前的運行狀態(tài),整個過程不對束流產(chǎn)生任何附加影響。
由于系統(tǒng)中電源很多,數(shù)據(jù)庫中還包括了按照實際操作要求的一些功能,如電源的全局開關機功能:對每個電源站的全局開關操作,對儲存環(huán)同一類電源的開關操作,及對所有電源的開關操作等;環(huán)Q鐵電源的按磁鐵族執(zhí)行Cycle功能、按磁鐵的族設定電流等。為防止同時大功率電源操作對供電系統(tǒng)的干擾,這些操作都必須按照定義的間隔順序有序進行。所有全局操作都集中在一個soft IOC中實現(xiàn)。
數(shù)據(jù)庫設計還包括了對系統(tǒng)故障的快速定位功能。對每個電源站的電源狀態(tài)參數(shù)按類型統(tǒng)計,包括開機與否、聯(lián)鎖情況、控制誤差、通訊故障燈都集中到幾個通道中,在中控室一個簡單控制界面就可觀察到全局運行情況,一旦有故障,通過鏈接就可直接定位到故障電源位置。
設備支持/驅動程序提供特定控制對象的EPICS接口,記錄處理時,調(diào)用相應的設備支持/驅動程序,完成記錄的處理。對于PSI 控制器,設備支持/驅動程序由PSI提供,所做的開發(fā)工作是修改部分內(nèi)容,實現(xiàn)從僅對EPICS base 3.13版本的支持移植到3.14版本下運行。對SINAP控制器,選擇了日本KEK開發(fā)的netDev程序包[6]。netDev是針對網(wǎng)絡接口設備開發(fā)的通用設備支持/驅動程序,針對SINAP控制器應用,開發(fā)了對應的設備相關模塊,實現(xiàn)了對SINAP控制器的支持。
控制臺界面基于圖形化的界面設計,在電源控制系統(tǒng)中主要基于 EPICS系統(tǒng)提供的“Enhanced Display Manager (EDM)”開發(fā)。EDM有圖形化控件的界面編輯功能,直接將控件與控制變量關聯(lián),同時內(nèi)置了通道訪問功能以訪問 IOC中的過程變量,可直接啟動進入運行模式。部分控制臺操作功能必須通過OPI應用程序實現(xiàn),如波形表格的下載與上傳等,這些應用程序通過內(nèi)嵌于EDM界面的嵌入式命令實現(xiàn)。圖3是增強器動態(tài)升能電源運行正弦波波形的控制頁面。
圖3 增強器動態(tài)升能電源控制界面Fig.3 Control panel for the booster ramp power supplies.
由于電源數(shù)量多、分布廣,顯然不可能同時顯示所有電源的運行操作界面,因此在電源控制界面設計時采用了層次化的結構設計方案。在頂層只顯示電源站分類電源運行總體狀態(tài),用不同顏色指示。當異常情況發(fā)生時,會發(fā)生狀態(tài)改變或報警,點擊電源站名稱,相應的界面即會彈出,進一步點擊界面上的電源名稱,就得到更詳盡的電源運行信息。
SSRF電源控制系統(tǒng)是基于EPICS體系結構開發(fā)運行的較大規(guī)模的分布式控制系統(tǒng),是SSRF控制系統(tǒng)的關鍵子系統(tǒng)之一。系統(tǒng)包含了 27臺VME/IOC,共~65K的控制通道。針對PSI電源控制器和SINAP研發(fā)的數(shù)字化電源控制器,分別設計了不同的控制方案并在EPICS下實現(xiàn)系統(tǒng)集成。
電源控制系統(tǒng)按照物理應用與電源系統(tǒng)調(diào)試的要求,對實時運行數(shù)據(jù)庫,控制臺操作界面進行了詳細的設計。系統(tǒng)結構合理,功能完整,操作直接方便,便于系統(tǒng)維護。自SSRF向用戶開放以來,經(jīng)過近3年的運行,電源控制系統(tǒng)的高性能得到了充分檢驗與證明。除一次因通訊服務器電源故障造成半小時的儲存環(huán)注入延遲外,未發(fā)生一例因電源控制系統(tǒng)故障引起的丟束事件,達到了SSRF作為用戶裝置對控制系統(tǒng)長期可靠穩(wěn)定運行的要求,也為SSRF順利調(diào)束,創(chuàng)造多項同類光源調(diào)束記錄發(fā)揮了重要作用。
1 Kraimer M R, Anderson J, Johnson A,et al. EPICS Input/Output Controller Application Developer’s Guide[Z]. ANL, Argonne, IL 60439, USA, 2004
2 丁建國, 劉松強. EPICS系統(tǒng)中的網(wǎng)絡技術[J]. 核技術,2006, 29(5): 380?383 DING Jianguo, LIU Songqiang. Network technologies applied in EPICS system[J]. Nuclear Techniques, 2006,29(5): 380?383
3 Ding J G, Zhu H J, Shen L R. A Prototype of the SSRF Power Supply Control System[C]. Proceedings of APAC’07, Indore, India, 2007
4 Jenni F, Tanner L. Digital Control for Highest Precision Accelerator Power Supplies[C]. Proceedings of PAC’01,Chicago, USA, 2001
5 Shen T J, Li D M, Li R,et al. Construction of SSRF Magnet Power Supply[C]. Proceedings of APAC’07, India,2007
6 Odagiri J, Chiba J, Furukawa K,et al. EPICS Device/driver Support Modules for Network-based Intelligent Controllers[C]. Proceedings of Icalepcs ’03,Gyeongju, Korea, 2003