黃 飛,田 慧,栗保明
(南京理工大學 瞬態(tài)物理國家重點實驗室, 南京 210094)
脈沖電源是電磁發(fā)射的能量來源和重要組成部分,其工作性能直接影響到電磁發(fā)射的安全性和可靠性,甚至很大程度決定著電磁發(fā)射實驗的成敗[1,2]。南京理工大學瞬態(tài)物理國家重點實驗室組建了大規(guī)模多功能脈沖功率電源系統(tǒng),進行了大量電磁發(fā)射實驗,獲得了豐富的實驗數據。隨著電磁軌道炮研究的推進[3],脈沖電源實驗信息的維護與管理的工作量與日俱增,建立比較完善和統(tǒng)一的實驗數據庫管理平臺,及時歸檔所有實驗信息,如:脈沖電源所有模塊參數信息、實驗人員與實驗設備信息,特別是詳細記錄實驗過程中發(fā)生故障的儀器、設備、功率器件等故障信息,便于后期進行設備維護和實驗信息的查詢、分析和總結,因此設計開發(fā)電磁發(fā)射專用的脈沖電源實驗數據管理平臺顯得尤為重要。
根據電磁軌道發(fā)射實驗信息管理需求和功能分析,將系統(tǒng)功能進行歸類、分塊處理,主要分為脈沖電源管理、實驗項目管理、脈沖電源仿真、實驗資源管理以及系統(tǒng)信息管理5大模塊,共23個數據表。實驗數據管理平臺功能結構如圖1所示。
圖1 脈沖電源實驗數據管理平臺功能結構框圖
本研究使用C#編程語言設計用戶界面,SQL Server存儲各項實驗信息。在.NET編程環(huán)境下使用MenuStrip、ComboBox、DataGridView、Panel等大量控件對管理平臺進行框架的設計與實現(xiàn)。例如,MenuStrip控件實現(xiàn)下拉式樹狀菜單選擇某個窗體的功能,Label與Timer控件實現(xiàn)系統(tǒng)主界面的文字與系統(tǒng)時間的顯示功能,如圖2。
圖2 管理平臺主界面
電磁軌道發(fā)射系統(tǒng)由脈沖電源和電磁軌道發(fā)射裝置兩部分組成。南京理工大學瞬態(tài)物理國家重點實驗室的大規(guī)模多功能脈沖功率電源系統(tǒng)由16個電源架體并聯(lián)而成,分別標記為架體1,架體2,…,架體16,每個架體由20個脈沖成形單元(Pulse Forming Unit,PFU)電源模塊并聯(lián)而成,其結構如圖3所示。
圖3 電磁軌道發(fā)射系統(tǒng)結構框圖
架體中PFU參數主要包括電源模塊編號、電容標稱值、電感標稱值、電阻值、晶閘管參數、二極管參數、電流傳感器參數,例如,架體5中各電源模塊信息如圖4所示。在每次日常維護電源模塊時,輸入每個電源模塊的所有基本信息,并與之前數據對比,能夠幫助發(fā)現(xiàn)存在的隱患。為方便查詢某個電源模塊,設計了電源模塊查詢功能實現(xiàn)快速查詢,并且可將該架體各電源模塊信息導出為Excel文件便于數據存儲與繪圖等。
實驗項目管理模塊是該管理平臺中重要組成部分。電磁發(fā)射實驗中,實驗信息不但包括脈沖電源的詳細參數信息,還包括場地環(huán)境參數、實驗方案、儀器設備、實驗人員等內容。實驗項目管理根據項目信息合理安排實驗計劃、配備實驗人員、分配實驗資源。通過實驗項目管理,實驗人員可明確實驗任務來源、名稱、編號、實驗要求、實驗時間等內容。此外,由于各個架體中電源模塊的工況不一,而且每次實驗所用到的電源模塊會有所不同,因此實驗編號作為脈沖電源實驗的唯一識別途徑是非常關鍵的。
圖4 架體5各PFU參數模塊信息
2.2.1實驗信息管理
實驗信息管理模塊是實驗項目管理的重要內容,包括實驗信息的查詢、添加、修改與刪除。操作界面如圖5所示,主要選擇TextBox控件、DataGridView控件實現(xiàn)各項實驗參數的錄入與信息顯示。為保證實驗編號的唯一性,通過count(ID)方式判斷實驗編號是否重復,實驗編號ID的唯一性保證了實驗編號的唯一性。
實驗信息的查詢設置了充電電壓的條件查詢方式,便于快速查詢目標電壓下的實驗情況。此外,時序、實驗日期、工作方式以及實驗結果也是重點關注的幾項。因此利用ComboBox控件、DataGridView控件組合查詢方式實現(xiàn)上述五項信息的條件查詢。例如電壓查詢方式代碼如下所示:
if (this.comboBox1.Text.Trim() == "充電電壓")
{ Conn = new SqlConnection("server=DESKTOP-5GNDUBH; database = DB_PPS; Integrated Security = SSPI");
SqlCommandcmd = new SqlCommand
("select * from shiyanxx where chongdiandy like ′%" + textBox1.Text + "%′",conn);
SqlDataAdaptersda = new SqlDatAadapter();
sda.SelectCommand = cmd; DataSet ds = new DataSet();
sda.Fill(ds," shiyanxx ");dataGridView1.DataSource =
ds.Tables["shiyanxx "];}
添加實驗信息是電磁發(fā)射實驗重要環(huán)節(jié),也是脈沖電源實驗信息唯一錄入途徑。錄入信息主要包括實驗編號、實驗名稱、充電電壓、脈沖電源運行模塊、時序、電源模塊放電狀態(tài)、實驗單位、實驗日期、工作方式以及實驗結果。
此外,通過收集、篩選以往實驗記錄和數據資料,將有效的實驗數據通過實驗錄入環(huán)節(jié)整理入庫。數據庫中涉及實驗信息的數據表均以實驗編號為主關鍵字,通過關鍵字及相關屬性執(zhí)行數據表之間的交叉查詢操作,實現(xiàn)系統(tǒng)結構的優(yōu)化,使系統(tǒng)查詢效率更高。
圖5 實驗信息管理界面
2.2.2實驗文檔管理
實驗文檔管理主要實現(xiàn)實驗任務書與實驗大綱管理、在線操作等功能。該表主要包括實驗編號、實驗日期、實驗任務書以及實驗大綱。
以實驗編號為唯一標識,當錄入新的實驗信息后,通過代碼使得實驗文檔管理界面同步生成文檔查詢按鈕,點擊不同的添加文檔按鈕即可將對應實驗文檔存入指定位置。文檔檢索與上傳的關鍵代碼如下:
OpenFileDialogofd = new OpenFileDialog();
ofd.Filter = "所有文件(*.docx)|*.docx|所有文件(*.doc)|*.doc";
stringfilepath = ofd.FileName;
stringmsg= filepath.Substring(filepath.LastIndexOf(′′) + 1);
2.2.3實驗人員管理
實驗人員的合理分組與明確任務分配是取得實驗成功的關鍵之一。實驗負責人對該次實驗負總責,成員主要分為電源組、控制組、測試組、實驗裝置組、試件組、協(xié)調保障組以及安全保衛(wèi)組。
通過錄入各項實驗人員信息,設置以實驗日期為條件查詢的方式,從而更為直觀統(tǒng)計和快速查詢實驗人員信息。當錄入新的實驗項目編號后,選中添加或修改按鈕便可錄入或者修改實驗人員的相關信息,修改時實驗編號為不可訪問狀態(tài),實驗人員管理界面如圖6所示。
圖6 實驗人員管理界面
電磁軌道炮的發(fā)射過程是包含人為控制因素的、復雜的機電耦合過程[4]。就發(fā)射裝置而言,軌道電流、空間磁場強度等物理量會直接影響電樞加速過程,電樞速度、電樞位移等物理量也會直接影響負載特性;就脈沖電源而言,所有PFU并聯(lián)向負載裝置放電,由于存在放電時序問題,同一時刻各組PFU的電容電壓和電感電流各不相同,很大程度上增加了電路的求解難度。
本文借助于Matlab的Simulink工具搭建脈沖電源仿真電路[5],由于參數較多、算法較為復雜,考慮到編譯簡單且執(zhí)行效率較高,因此采用通過編譯器將Matlab函數封裝成動態(tài)鏈接庫(Dynamic Link Library,DLL)文件的方法,在C#可視化編程界面引用該DLL文件,設置Matlab與C#之間的參數傳遞[6-7]方式從而實現(xiàn)混編。本文主要在C#可視化界面實現(xiàn)單模塊電源仿真與架體電源仿真。
2.3.1單模塊電源仿真
單模塊脈沖電源電路圖如圖7,圖7中:I為充電電源;S為充電開關;C為高壓電容;T為大功率晶閘管;D為續(xù)流二極管;L為調波電感;R為保護電阻;RL為負載阻抗。
圖7 單模塊電路圖
單模塊仿真界面輸入參數有:模塊選擇、電容值、工作電壓、負載電感與電阻,仿真計算的參數有:模塊輸出電流波形、模塊放電電壓波形。
在設置Matlab與C#之間混編參數后,使用Simulink對電源模塊進行理想情況下的仿真計算。例如,在工作電壓為10 kV時,50 kJ模塊的仿真界面如圖8所示。此外,利用模擬負載對脈沖電源進行短路放電實驗,最終得到電容器放電電壓在仿真與實驗下的電壓波形如圖9所示。
圖8 模塊可視化仿真界面
從圖9可以看出,模塊仿真放電電壓與實測電壓在幅值與放電時間上基本一致,實測的反向電壓略微大些,這是由于實際的網絡參數值與理論值不完全相等造成的。
2.3.2架體電源仿真
由前述可知,架體電源中每個架體是由20個電源子模塊并聯(lián)而成,這些電源子模塊具有相同的電路結構與連接方式。架體仿真界面輸入參數有:架體選擇、時序設定、工作電壓、負載電感與電阻,仿真計算的參數有:架體總輸出電流波形、架體放電電壓波形。
圖9 充電電壓10 kV時單模塊放電電壓波形
例如,在工作電壓為7 kV、時序為200 μs時,架體3中1~20模塊的仿真實現(xiàn)界面如圖10所示,設置好參數后通過混合編程在程序界面得到理想情況下該架體總輸出電流的仿真波形與模擬負載實驗所測波形如圖11所示。
圖10 架體可視化仿真界面
在架體放電電流方面,由于存在放電時序,電流曲線實際為平頂波形狀,仿真與實驗結果均較好驗證該特征,并且二者幅值與脈寬均較為接近。因此仿真分析與實驗結果一致性較高,驗證了電源仿真的可行性。
脈沖電源仿真目的在于將仿真結果與實驗實測波形對比,在一定閾值范圍內則表明仿真結果與實驗較好擬合。實測波形若超出閾值范圍或者波形出現(xiàn)明顯突變,則表明脈沖電源某個模塊功率元件可能出現(xiàn)問題。通過模塊放電電流、電容器放電電壓波形可以快速定位發(fā)生故障的模塊單元,也即仿真結果對實驗具有一定預見性與指導性。
圖11 充電電壓7 kV時架體總輸出電流波形
由于電磁發(fā)射實驗涉及的信息繁雜,因此在管理實驗資源的過程中,可能會遇到海量文檔檢索效率低、文檔無法共享、文檔安全性得不到保障等問題,因此實驗資源管理是很有必要的。實驗資源管理模塊包括電源故障管理、實驗設備管理以及實驗知識文庫。
2.4.1電源故障管理
電磁軌道炮發(fā)射過程中,脈沖電源系統(tǒng)在極短時間內,將承受高達幾百千安甚至幾兆安以上的脈沖電流以及5 kV以上的脈沖電壓,極大影響著電源系統(tǒng)關鍵部件的工作特性,甚至引起失效,產生諸如晶閘管、二極管被擊穿等各種故障[8-9],因此建立實驗故障數據庫是十分重要的。
電源故障按照類型可分為觸發(fā)控制故障、功率組件故障、測試系統(tǒng)故障以及充電系統(tǒng)故障4大類。
觸發(fā)控制系統(tǒng)主要由系統(tǒng)控制臺、時序控制器以及觸發(fā)器等構成,對于觸發(fā)器而言又存在無觸發(fā)、延時觸發(fā)以及誤觸發(fā)等故障,此外觸發(fā)控制系統(tǒng)中諸如光柵被遮擋、觸發(fā)器封裝故障、觸發(fā)器與硅堆接觸松動等都是存在的故障類型。因此,觸發(fā)控制系統(tǒng)中故障類型繁雜,門類較多,應對所有存在的故障進行詳細分類與歸檔。
功率組件主要指的是電容、電感、晶閘管、二極管以及硅堆等元器件設備,最常見的故障類型就是器件因為高電流電壓被擊穿。例如,當晶閘管發(fā)生擊穿故障時,所測模塊電容器的放電電壓信號和模塊功率組件的放電電流信號表現(xiàn)為振蕩波形,說明晶閘管被擊穿從而開關特性失效,該故障發(fā)生的原因通常是由于di/dt過大造成的[10]。當續(xù)流二極管實驗所測的波形如果與正常波形反向的話,也可表明二極管已經發(fā)生擊穿的故障。同樣的,電感以及硅堆等功率組件也都可以根據實驗所測波形判斷是否發(fā)生故障,故障的現(xiàn)象、原因以及相應故障排除方案,從而將故障信息錄入數據庫中作為基礎樣本。
脈沖電源系統(tǒng)中,測試系統(tǒng)主要由脈沖電流與電壓傳感器、光纖隔離儀和PXI數據采集系統(tǒng)組成,主要對電源模塊放電參數進行測量。當電源器件損壞時,Rogowski線圈、高壓探針會受到波及而造成損壞。
而在充電系統(tǒng)中,由于充電系統(tǒng)主要由高功率充電電源以及系統(tǒng)控制臺組成,進行充電電壓檢測、電源模塊選擇以及緊急情況下的電荷泄放等功能。由于工作電壓可高達14 kV,因此可能存在電容器損壞、開關過熱損壞、充電線突然斷路甚至放電電源回流進入充電電源中導致充電系統(tǒng)崩潰等故障類型。
從上述分析可知,電源系統(tǒng)故障的原因往往是多種多樣的,甚至出現(xiàn)難以排查的現(xiàn)象,因此故障的快速查詢與排除是故障管理的核心問題。故障數據庫的建立就是為了將電源運行過程中所有已經發(fā)生過的、可能存在的典型故障類型進行分門別類,進行詳細分類與歸檔統(tǒng)計,實現(xiàn)電源系統(tǒng)故障的快速診斷和排除。
故障信息表的設計主要包括故障編號、故障名稱、故障模塊、故障位置、故障產生的現(xiàn)象、原因以及故障排除方法、記錄故障的時間等,電源故障管理的操作主要包括故障信息的查詢、添加、修改與刪除。其中,通過comboBox控件實現(xiàn)四大故障類型的劃分,可快速查詢該類別下的所有故障數據,如若在textbox文本框中再輸入關鍵字的條件查詢時,便可實現(xiàn)查詢更為具體的故障信息,如圖12所示。
電源系統(tǒng)故障數據庫的建立,就是將所有與電源系統(tǒng)故障有關的系統(tǒng)故障數據化、表格化、簡單化,便于及時查閱與應用。
圖12 電源故障管理界面
2.4.2實驗設備管理
電磁發(fā)射實驗過程中涉及到大量實驗設備的使用,例如脈沖電源檢測所用到的Rogowski電流互感器、高壓探針、數字光纖隔離儀、數據采集系統(tǒng)等設備,炮口初速測量所用到的測速靶、高速攝像機等設備。
實驗設備管理指的是對脈沖電源系統(tǒng)檢測以及數據采集等實驗設備的基礎信息進行管理,主要包括設備名稱、型號、用途以及設備工況。通過添加、修改、刪除按鈕實現(xiàn)對設備信息的管理。
2.4.3實驗知識文庫
電磁軌道炮的發(fā)射過程涉及聲、光、熱、力、電等眾多學科分類,較好掌握電磁發(fā)射過程相關的知識對于更全面了解實驗、參與實驗、取得實驗成功是很有必要的??紤]到實驗管理系統(tǒng)面向的用戶較為固定,因此將所有涉及的知識學科內容進行歸納總結與分類存儲,用戶選擇相應的路徑鏈接即可進入相關知識的學習。
2.5.1用戶信息管理
用戶信息管理是指對使用該實驗數據庫管理平臺的用戶信息進行管理??紤]到電磁發(fā)射實驗的保密性與數據安全性,設置用戶權限是至關重要的。由于管理平臺結構層次分明,模塊劃分較為簡潔合理,因此設置管理員與普通用戶兩個等級。管理員具有系統(tǒng)所有權限,普通用戶僅有查詢與信息錄入功能,并且不可訪問用戶信息管理模塊的內容,如圖13所示。
圖13 用戶權限程序框圖
2.5.2用戶登錄日志
用戶登錄日志記錄用戶歷史登錄信息,該表記錄用戶、用戶類型、登錄時間以及退出時間,當用戶登錄時在主窗體下方顯示當前用戶信息,通過用戶信息比對即可查詢用戶詳細信息。
2.5.3數據備份與恢復
數據備份與恢復是指將數據庫文件備份到計算機指定路徑或者刻盤進行保護,如若發(fā)生系統(tǒng)故障等情況,通過數據還原能快速將數據庫恢復,保障實驗數據的安全。
本文數據庫設計采用ADO.NET(ActiveX Data Objects,ADO)將用戶界面和后臺數據庫聯(lián)系起來,實現(xiàn)檢索、插入、修改和刪除數據源中的數據以及以快速、只讀、只進的方式訪問數據[11]。在設計脈沖電源實驗數據庫時,采用ADO.NET的DataSet功能實現(xiàn)數據庫讀取訪問,代碼如下:
SqlConnectioncn = new SqlConnection
("server = DESKTOP-5GNDUBH;
database=DB_PPS; Integrated Security=SSPI");
cn.Open();
SqlDataAdapter dap = new SqlDataAdapter("SELECT * FROM shiyanxx",cn);
DataSet ds = new DataSet(); //建立數據庫連接并實例化
dap.Fill(ds,"shiyanxx");
DataTabledt = ds.Tables[0];
dataGridView1.DataSource = ds.Tables[0];
由于實驗信息管理界面是實驗編號、實驗時間等實驗信息的唯一錄入方式,因此在實驗人員信息管理、實驗文檔管理等模塊中,實驗編號與實驗時間也必須同步更新,從而保障實驗信息與實驗數據的一致性。
本文采用SQL Server存儲過程實現(xiàn)數據庫多表之間同步增加、刪除與更新的功能。例如,當錄入實驗信息時,實驗編號以及實驗日期信息同步更新到實驗文檔管理數據表中,關鍵代碼如下:
DBHelper.DataSetProd("sp_shiyanrenwuluru",
newSqlParameter[] {
newSqlParameter("@IsOr","0"),
newSqlParameter("@shiyanNo",s1),
newSqlParameter("@shiyanDate",s9) });
測試結果表明,在C#窗體應用程序開發(fā)過程中合理使用存儲過程,能有效實現(xiàn)應用與數據操作分離,提高執(zhí)行效率,提高數據庫訪問的安全性并增強系統(tǒng)的靈活性。
1) 脈沖電源實驗數據管理平臺功能較為完善、結構清晰、簡單實用且界面友好,可極大提高實驗信息管理效率,使得實驗資源得以最優(yōu)化利用;
2) 根據現(xiàn)有故障類型進行分類歸檔,建立實驗故障數據庫,設置條件與組合查詢,可實現(xiàn)故障的快速診斷和排除、實驗結果的分析比對;
3) 提出C#與Matlab混合編程實現(xiàn)電源系統(tǒng)仿真,設置兩個平臺間的參數傳遞與數據接口,實現(xiàn)可視化用戶界面調用仿真,在同樣參數配置下將仿真曲線與實驗測得波形進行分析,結果表明兩者重合度較好、一致性較高,仿真對實驗具有一定的分析指導作用。