仇汝臣 李娟
摘 要:化工流程模擬軟件的復雜性、多樣性使其在應用中受到一定的影響。結(jié)合VB編程靈活和程序界面友好的優(yōu)勢,開發(fā)了HYSYS與VB的接口程序,將用戶對裝置模塊及其參數(shù)的修改傳遞給HYSYS,實現(xiàn)了VB界面與HYSYS軟件數(shù)據(jù)實時交互的功能。HYSYS與VB接口程序的開發(fā),可使HYSYS在化工過程模擬和優(yōu)化中的操作更加地便捷,應用更加廣泛。
關(guān) 鍵 詞:HYSYS;接口程序;VB;過程模擬
中圖分類號:TQ 018 文獻標識碼: A 文章編號: 1671-0460(2016)08-2027-04
Abstract: The complexity and diversity of chemical process simulation software can affect its application. In this paper, combined with flexible and friendly advantages of VB programming interface, the interface program between HYSYS and VB was developed, the device modules and their parameters which were modified by users passed to the HYSYS, implementing the data real-time interactive function between VB interface and HYSYS software. Developing the interface program between HYSYS and VB can make the HYSYS simpler, so it can be more widely applied in chemical process simulation and optimization of the operation.
Key words: HYSYS; interface program; VB; process simulation
HYSYS是第四代化工過程模擬軟件,其擁有豐富的組分數(shù)據(jù),熱力學數(shù)據(jù)及操作單元模型,常用于化工過程的模擬與優(yōu)化。近年來,隨著計算機技術(shù)與化工系統(tǒng)工程地飛速發(fā)展,化工過程模擬軟件的各項功能得到了很大的提升,但由于化工過程的復雜性和多變量耦合性,目前的模擬軟件的功能尚不能滿足一些復雜化工過程的需要。但通過軟件集成技術(shù)可以將化工過程模擬軟件集成為一個界面更加人性化、功能更加強大的軟件,可以有效地解決當前化工過程模擬軟件存在的不足。
1 HYSYS軟件簡介
HYSYS模擬軟件是面向煉油工業(yè)、氣體處理和油氣生產(chǎn)的模擬、設(shè)計、性能監(jiān)測的流程模擬軟件,具有穩(wěn)態(tài)模擬與動態(tài)模擬的功能。HYSYS模擬軟件是以Windows作為軟件平臺,界面友好,充分地擴展能力,具有方便組織流程,聯(lián)立方程地計算模式使得流程更易收斂,模擬結(jié)果準確等優(yōu)點。
2 HYSYS集成環(huán)境
HYSYS軟件是新一代的面向?qū)ο蟮木幊坦ぞ咴赪indows環(huán)境下開發(fā)的化工過程模擬軟件,使集成式的工程模擬軟件成為現(xiàn)實。在這種集成的系統(tǒng)中,流程、單元操作都是互相獨立的,而且流程僅僅是各種單元模塊的集合,單元模塊之間是通過流程中的物流彼此進行數(shù)據(jù)傳輸。在化工工程設(shè)計過程中,穩(wěn)態(tài)模擬和動態(tài)模擬使用的均是同一個目標數(shù)據(jù)并且共享目標數(shù)據(jù),且不需要進行數(shù)據(jù)之間地交互轉(zhuǎn)換。因此這種先進且易用的系統(tǒng)軟件能夠使用戶運用自如,得到自己需要的結(jié)果[1]。
3 HYSYS自動化接口
HYSYS模擬軟件采用Microsoft的OLE技術(shù)可以開發(fā)出通用的實時數(shù)據(jù)通訊接口軟件,更便捷地為HYSYS模擬軟件及各種軟硬件之間提供雙向的實時數(shù)據(jù)通訊。
由于HYSYS具有強大的OLE功能,用戶可以通過多種語言完成以下開發(fā):
(1)建立物性算法庫;
(2)建立反應動力學方程;
(3)建立單元操作模型;
(4)開發(fā)應用程序,通過OLE實現(xiàn)動態(tài)鏈接[2]。
3.1 HYSYS對象層次
3.1.1 Application和 SimulationCase對象
Application對象代表了HYSYS程序本身并且是HYSYS中最重要的對象。通過Application對象, 編譯人員可以獲取所有HYSYS類庫列表中的對象。SimulationCase對象是獲取和打開特定仿真事件的起始對象[2]。
3.1.2 Stream對象
Stream范疇的主要對象是ProcessStream 和F luid對象 。Fluid對象是Stream對象的一類, 其不和操作單元相連但可能來自于ProcessStream ??梢酝ㄟ^不影響事件中的操作單元和物流而操作Fluid對象。Streams 對象的屬性主要包括流體的壓力、溫度、流量等[3]。
3.1.3 Operation對象
HYSYS中多數(shù)的單元操作可以作為Automation對象被訪問,可以通過flowsheet對象訪問操作單元。每一種操作都會有一套典型的物性和方法[4]。Operations 對象的屬性主要包括塔內(nèi)的一些操作參數(shù)等。
3.2 通過VB訪問HYSYS
通過VB(本文使用6.0版本)訪問HYSYS,首先在VB菜單欄上的“工程”中選擇“引用”,然后在彈出的對話框中選擇HYSYS 8.4 Type Library。
3.2.1 對象的聲明
在HYSYS的類型庫中包含可以通過自動化獲取的變量名稱,根據(jù)對象層次,可以獲取任何參數(shù)的變量值[5]。
VB中對象變量聲明的格式為:
Dim(or Public/Private) objVariable As ob jType
例如 : Dim hyCase As SimulationCase
Public hyFlowsheet As Flowsheet
3.2.2 訪問底層模擬文件
在編寫接口程序時,首先定義一個變量hycase的類型為SimulationCase,用這個變量來代表HYSYS底層的模擬文件。
接口代碼如下:
Dim hycase As SimulationCase
Set hycase = GetObject(“底層HYSYS模擬文件的路徑”)
通過這段接口程序就可以用變量hycase來代替底層的模擬文件,通過調(diào)用變量就可以連接底層模擬文件中各種物料變量與模塊變量[1]。
3.2.3 讀取HYSYS中的變量
HYSYS中任意變量的引用都必須從Application或SimulationCase對象開始。
例如要讀取某物料中的壓力值到文本框Text1中,其代碼如下:
Text1.text=SimulationCase.Flowsheet.MaterialStreams. Item ("1 " ). PressureValue
若需要對單位制進行修改,相應的代碼為:
SimulationCase.Flowsheet.MaterialStreams. Item ("1 " ). Pressure. GetValue("Kpa")
3.2.4 向HYSYS中寫入變量
變量寫入只能改變那些HYSYS流程中原本就可以指定的參數(shù),對于HYSYS中不可改變的參數(shù)則無法對其進行寫入操作。
例如要將文本框Text1中的值寫入HYSYS中作為某物料的壓力值,其代碼如下:
SimulationCase. Flowsheet.MaterialStreams. Item ("1 " ). PressureValue=Text1.text
若需要對單位制進行修改,相應的代碼為:
SimulationCase.Flowsheet.MaterialStreams. Item ("1 " ). Pressure. SetValue Text1.text ,"Kpa"
4 案例分析
4.1 流程簡介
氣分裝置一般由三個塔系組成,第一個脫除液化氣中比碳四重的組份,叫脫丙烷塔;第二個脫除
液化氣中比碳二輕的組份,叫脫乙烷塔;第三個塔頂出高純度的丙烯產(chǎn)品,塔底得到碳三液化氣,叫丙烯精餾塔(表1和圖1)。
4.2 提出問題
以T-103丙烯精餾塔為例,通過更改塔頂產(chǎn)品/進料量、回流比得到符合規(guī)定的產(chǎn)品。
通過VB讀取T-103塔內(nèi)的壓力分布,并以圖表的形成呈現(xiàn)出來。
4.3 實現(xiàn)步驟
5 結(jié) 論
編寫VB與HYSYS的接口程序,可充分發(fā)揮VB界面簡潔明了的優(yōu)勢,避免HYSYS界面不易于掌握,即使對于不熟悉HYSYS軟件的人也可以輕松駕馭,即實現(xiàn)簡單的界面操作就可完成復雜的運算。同時接口編程的研究對HYSYS軟件的拓展與廣譜性起到關(guān)鍵作用。
參考文獻:
[1] 沈翠霞,張貝克,吳重光,張衛(wèi)華. HYSYS軟件及其自動化接口研究[J]. 計算機仿真,2005(11):247-251.
[2] 李博. 空分精餾塔下塔的模擬與參數(shù)估計[D]. 杭州:浙江大學,2012.
[3] 薄翠梅,柏楊進,劉欣,喬旭,張公明. 苯氯化反應與精餾過程的模擬與實時監(jiān)控系統(tǒng)[J]. 南京工業(yè)大學學報(自然科學版),2011(06):16-19.
[4] Aspen Hysys Customization Guide, Version Number: V 7.1 January 2009[R].
[5] Khan M S, Husnil Y A, Kwon Y S, et al. Automated optimization of process plant using particle swarm optimization[C]. Advanced Control of Industrial Processes (ADCONIP), 2011 International Symposium on. IEEE, 2011: 615-620.