陳健華+邱健+施偉
摘 要 本文采用C#語言對Flowmaster軟件進行二次開發,封裝Flowmaster計算模型,開發一套通用性強、操作簡便的仿真軟件,能夠快捷實現核電系統Flowmaster模型及工況數據的更改,實現多工況的自動求解,自動評價計算結果,將仿真工作自動化,從而提高工程師工作效率。
關鍵詞 Flowmaster;二次開發;核電系統;COM功能
中圖分類號 G2 文獻標識碼 A 文章編號 1674-6708(2017)180-0050-03
1 背景
上海核工程研究設計院工藝系統所采用Flowmaster軟件進行核電工藝系統的仿真計算。核電工藝系統具有模型龐大、元件種類多等特點,所以仿真模型創建與配置工作量也比較大,不同項目仿真模型需要重新建模,仿真建模需要耗費大量時間。電廠調試過程中,經常遇到調試結果與設計文件出現偏差的問題,需對仿真模型進行快速修改并指導電站的調試。
本文基于Flowmaster軟件接口功能,對軟件進行二次開發,封裝Flowmaster計算模型,開發一套通用性強、操作簡便的仿真軟件,能夠便捷實現對模型及工況數據的更改,實現多工況的自動求解,自動評價計算結果,將仿真工作自動化,以滿足我院工程計算需求,從而提高工程師工作效率。以下簡稱該軟件為封裝軟件。
2 封裝軟件開發
2.1 開發環境與工具
C#是由C和C++衍生出來的面向對象的編程語言,具有安全、穩定的特點。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程的支持成為.NET開發的首選語言。Microsoft Visual Studio是美國微軟公司的開發工具包系列產品,是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具。C#是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。本軟件采用C#語言基于Microsoft Visual Studio的開發環境進行開發。
2.2 軟件架構
封裝軟件由上層軟件界面與底層Flowmaster計算引擎組成,二者通過FlowmasterCOM接口交換數據。軟件構架如圖1所示。
封裝軟件通過將Flowmaster模型文件進行封裝,實現模型與封裝軟件界面的映射關系,簡化了系統計算操作流程。通過封裝軟件驅動Flowmaster軟件的穩態、瞬態、換熱等求解器,并能夠實現系統管道長度裕量計算、水錘計算、通過管道清單修改系統參數等計算功能。
封裝軟件包含圖形、表格兩種查看結果方式,其中圖形查看能夠在流程簡圖中顯示對應元件的計算結果,表格查看以列表的形式顯示。封裝軟件根據內置設計規范,對計算結果進行智能判斷,并反饋出不同的提示信息,提示工程師有警告或錯誤。其中圖形結果支持CAD彩圖顯示流量、流速、壓力、溫度結果,以便工程師查看整體計算結果。
2.3 關鍵技術
要實現C#與Flowmaster的聯合編程,需利用Flowmaster軟件的應用程序編程接口即COM接口,Flowmaster提供了豐富的COM編程接口。這些接口函數按功能可分為應用程序管理、項目管理、模型管理、元件管理、節點管理、曲線管理、單位制管理、仿真計算、結果管理九類,其功能囊括了Flowmaster軟件環境中所有步驟操作。通過在C#程序中調用上述COM接口函數能夠實現在在后臺驅動Flowmaster計算引擎完成仿真計算。
各COM接口對應的C#類如表1所示。
2.4 模塊開發
2.4.1 封裝模塊
首先通過進行系統模型及流程簡圖的導入操作,然后使用Application類的DatabaseLogin函數打開模型數據庫,并利用Project類Network函數打開系統創建操作中導入的系統模型。通過Network類的ComponentAttachedNode讀取系統模型中元件連接關系,利用Component函數和Node函數訪問模型中的元件及節點實現元件的封裝 操作。
2.4.2 系統計算模塊
封裝軟件最重要的功能就是進行系統計算。系統計算時,需要選擇不同的工況,選擇不同的求解器,封裝軟件能夠從下拉列表中選擇封裝完成的工況選擇計算工況及選擇不同的求解器。利用FM2_AnalysisControl類能夠調用Flowmaster軟件的求解器。
2.4.3 結果處理模塊
封裝軟件能夠快速、直觀查看系統計算結果,并能在流程簡圖中顯示計算結果。通過ResultSet函數調取Flowmaster模型中計算結果,采用調用Network類型對象的ResultSet方法對之前聲明的ResultSet類型的變量進行賦值,調用賦值后的ResultSet類型的變量的ComponentArmValue,ComponentValue,NodeValue方法,分別讀取元件Arm結果,元件非Arm結果,節點結果。封裝軟件調用Flowmaster軟件中計算結果是通過調取物理量對應的元件或節點編號,該編號在Flowmaster軟件的安裝根目錄下可以找到。
2.5 界面設計
封裝軟件主界面如圖4所示,主界面能夠完成系統封裝、計算、結果查看導出等。
封裝軟件計算完成之后,能夠在對應的系統CAD流程簡圖中將計算結果以彩色線條的形式顯示計算結果。該功能能夠彈出單獨的界面,界面中能夠顯示圖例,圖例顯示對應物理量的數值范圍。
3 封裝軟件應用
完成封裝軟件開發后,對軟件的工作效果進行驗證,以設冷水系統為例。通過系統封裝進行快速計算,通過流程簡圖能夠直觀查看計算結果,可以在流程簡圖上直接顯示計算數值或者以彩圖形式顯示計算結果。
點擊表格查看,能夠以表格形式清晰的查看計算結果,如果是瞬態計算結果,還能以曲線的形式顯示計算結果。
4 結論
本文以封裝軟件的開發為主線,以核電工藝系統為對象,利用Flowmaster軟件建模、C#編程的手段,將核電工藝系統的計算模型集成于封裝軟件中,實現了核電工藝系統快速仿真設計,計算結果也更直觀化。
參考文獻
[1]Mentor Graphics, Flowmaster SDK Help,2010.
[2]邵超.數據庫實用教程[M].北京:清華大學出版社,2009.