Professional Documents
Culture Documents
Aspen Plus服务器在软件集成中的应用
孔祥冰1,岳金彩1,谭心舜1,焦巍2
(1.青岛科技大学计算机与化工研究所,山东,青岛,266042;2.青岛大学师范学院,山东,青岛,266071)
摘要:Activex控件作为可重复使用的程序和数据可集成到其它应用程序中,Asp阴Plus用户界面就是一个Activex服务器应
用程序,利用接口程序能够将用户对装置模型及其参数的改变传递给Aspen Plus,再把模拟结果与外部应用程序相连接,实现
软件集成。本文对Aspen Pl岫的服务器功能进行了探讨,并介绍了这个功能的详细开发步骤和编写方法,最后给出了一个吸
收塔的具体接口实例。
关键词:Aspen Plus;Activex服务器应用程序;软件集成
中图分类号:TQ028
文献标识码:A
文章编号:100l_4160(200r7)02_255-258
Abs幢act:The ActiveX component8 which are re-usable progmm明d data can be integmted winl other印plied pro则n.A8pen Pl岫
user interf如e is a ActiveX ser、,er application prog舢.Through this imer£ace,tlIe change8 0f process model and par锄eter are delivered
to A8pen Plus and the 8imlllated reslllts are connected with e】【terior Windows印plication program,con8equendy achieved software inte—
gmti∞.This p印er c枷ed on tlle stIldy to the 8enrer function of the Aspen Plus aJld intT砌uced the detailed devel叩ing st印8蚰d metll-
Kong XB,Yue JC,‰l XS and Jiao W.The application of Aspen Plus sen,er in softwa他integration. Computers
1 引言 复编写,因此将已有软件的功能模块集成到自己的
软件中是软件集成最常用的方式。软件的开发者如
Aspen Plus是新一代的化工过程模拟软件,它
’果向用户提供一个功能扩展接口,用户通过此接口
提供了大量的物性数据,热力学模型和单元操作模
连接就可以实现软件功能的调用。Aspen Plus用户
型,可用于化工过程的模拟、设计和优化。
界面是一个ActiveX服务器应用程序,它作为Ac—
随着计算机技术和化工系统工程的发展,化工
tivex控件为外部应用程序提供了相应接口,用户通
过程模拟软件功能不断得到强化,但由于化工过程
过接口程序把Aspen Plus模拟过程的输人输出与其
的复杂性和具体性,模拟软件不可能满足所有实际
它应用程序如过程综合、设计软件或优化算法等相
过程的需要。对于一个过程综合问题需要多个软件
连接,实现软件集成。Aspen Plus的接口程序一般用
配合使用才能够解决,而在一款软件基础上开发其
Visual Basic(以下简称VB)语言设计,通过VB编程
它软件所具有的功能既不经济也难以做到,且开发
环境就可以直接访问Aspen Plu8提供的对象并使用
出来的功能并不一定比原来的强。利用软件集成技
它们的属性、方法和事件,实现Aspen Plus的功能。
术可以将现有的优秀软件集成形成一个新的、功能
本文将就Aspen Plus的自动控制服务应用程序(自
强大的软件,而不必浪费人力、物力在已有的软件中
动控制服务器)做有关介绍,给出VB语言开发和使
重复开发相应的功能。
用过程,并举例说明该方法。
软件业的不断发展,越来越多地软件功能被重
收稿日期:2006JD3.17;修回日期:2006J04-28
作者简介:孔祥冰(1978一),男,硕士生.
万方数据
计算机与应用化学
2 自动控制服务器简介 2.5从自动控制客户端控制模拟
H印p对象的Engine属性返回一个IHAPEngine
2.1关于自动控制服务器
对象,它是一个模拟引擎的界面。HappIP和IHAP-
Aspen Plu8服务器是基于Activex技术。Ac—
Engine对象能使一个自动控制客户程序运行。用
tivex是关于开发可重用软件构件和构件之间相互
户通过改变各种参数来控制模拟并重新运行得到模
通信的一组标准的描述。Aetivex控件由遵循此标
拟结果。
准的一些可重复使用的程序代码和数据构成,其设
计目标是把程序模块进行封装、可视化处理并提供 3 自动控制服务器的使用
通用接口,让软件开发人员能够方便地调用,这些程
Aspen P1us流程模拟计算时,需要输入一些流
序模块具有完整的属性集、事件集、方法集,具有很
程参数,比如一个精馏过程,需要输入进料性质、出
好的封装性和方便的使用接口。只要条件允许,就
料性质和塔的性质。经计算得到的塔的分离纯度不
能使用在不同的编程环境(如VB、Vc、c++、Delphi
一定满足要求,这种情况下,可适当改变输入量的
等)中,通过这些开发平台可以访问这些对象的属
值,与上次结果比较,这样多次反复直到获得满意的
性、方法和事件,从而实现自动控制。
值。如果可变的输入量很少或者输入量可变的值很
2.2 Aspen Pl啦提供的对象
少,则反复的次数不是很多;如果可变的输入量很多
Aspen PlIls的ActiveX控件提供的类型库是
或者输入量可变的值很多,则反复的次数难以计数。
h印p.tlb,VB访问Aspen Plus的类型库之前,必须
这对于用户来说是难以做到的,只能根据经验来判
在工程中添加类型库的引用(在VB的参考工程对
断输入量,并从有限的模拟计算中得到结果。上述
话框中必须选中Aspen Plus 10.2 Type Library的类
所描述的问题可通过对Aspen P1us自动控制服务器
型库框),添加Activex控件的引用后,就可以在VB
的集成来解决。
对象浏览器中查看控件的类定义及相应类对象的属
Aspen Plus作为模拟器评估输入变量,利用客
性、事件和方法。Aspen Plus列出的主要对象如表
户对象H印pIP控制Aspen Plus的打开、关闭、计算
l。
以及流程的更改。通过操作对象IHNode组织在树
表l Aspen Plus的主要对象
1址Ie I The main obiectB 0fAsp跏Pi哪. 状结构里的输入和输出数据就可以在模拟器里读
对象 描述 写,外部数据通过接口传递给Aspen Plus,利用IHA—
A8p∞Plus的客户对象 PEngine对象重新模拟运行后再将结果返回给外
A叩m Plus的树状结构图上的输入和输出数据 部,实现数据相互传递。例如:对于苯和水的分离,
娜唧哪 眇.菪-营 =芎 每个IHNode对象可以有自己的其它节点,这些 多个输入量(进料量、温度、回流比)在一定范围内
节点都组织在一个珊NodeCol集合对象中。
姒 {耋 咖 给Aspen Plus的模拟引擎提供一个界面。 变化。可在VB环境下生成一个控制软件,在该控
制软件中通过引用的Activex部件实现Aspen Plus
2.3 使用VariaMe Explorer导航树状结构
的控制和访问,通过编程在各个输入量规定的范围
每个Aspen Plus模拟问题的输入和输出结果数
内生成新的值,重新调用Aspen Plus计算,多次调用
据都组织在一个树状结构中。用户可以在Aspen
Plus的用户界面下使用Variable Explorer(变量浏览 后产生的解被控制软件存储,读取这些数据就能比
较出优劣。
器)访问所需的Aspen Plus模拟数据,也可以浏览
和访问与模拟问题相关的变量。 4模型举例
2.4在自动控制界面中操作树结构
4.1甲苯吸收塔简介
Aspen Plus的模拟对象的所有变量由一个带有
TDI生产中会产生多股含光气(COCl:)、氯化氢
节点的树结构组织起来。这些节点由IHNode对象
(HCl)的废气,需要回收利用,这一过程主要是在甲
描述,树的根节点获得H印pIP对象的属性,每个
苯吸收塔中进行。甲苯吸收塔如图1所示。所有废
IHNode对象都有一个Dimension属性,用来确定子
节点组织方式,每个节点对象的所有子节点由集合 气均由塔底进入吸收塔,甲苯由吸收塔顶加入,在塔
里光气被甲苯吸收后去解析塔,回收光气。HCl作
对象IHNodeCol描述,子节点获得IHNode对象的属
性。 为不凝气体从塔顶排出后去盐酸塔吸收制盐酸。
万方数据
2007,24(2) 孔祥冰等:Aspen Plus服务器在软件集成中的应用 257
Hcl的吸收量还与塔内温度分布有关系,由于光气 n=InputBox(”需要数组数”)
ReDim dat(n)A8
的吸收会产生大量的热量,使塔内部温度升高,而增 exe
For i=1’I'0
加一个中间冷却器可以部分解决该问题。新增中间 n
Input#l,dat(i).compos,dat(i).stage,dat(i).souI℃e,
冷却器从塔某块板上抽出全部液体,冷却到一10℃,
dat(i).dest
再回到下一块塔坂。
ihAP8im.‰e.Da诅.s仃e锄8.Elements(,,508”).Input.Ele—
4.3解决思路
ments(叮OTAL,,).E1ements(”MIxED”).Value=dat(i).com—
通过改变甲苯流量、富含Hcl流股的进料位置
pos
和中间冷却器的物料采出位置3个操作变量,用VB ihAPsim.Tree.Da诅.B10cks.Elements(”B2”).Input.Ele-
按操作变量范围随机产生多组数据,传递给A叩en ments(”S0uRcE—SfI.AGE”).Elements(”P一1”).Value=dat
PIus进行模拟计算,再将结果返回VB并储存,这样 (i).source
模拟结果。 ment8(”DEsT—s'1AGE”).Elements(叩一1”).Value=dat(i).
dest
4.4具体实现步骤
Aspen Plus模拟甲苯吸收塔应用界面如图2所 ihAPsim.Tree.Da诅.Blocks.B2.Input.Ele砒nts(”FE功一
示。 ,
s,rAGE,,).Element8(7,加7”).Value=dat(i).s姆
’run tlle 8imulation
使用VB中的random函数,规定甲苯流量800
ihAPsim.R瑚
~1500kg/h,富含HCl流股的进料位置5一。14块 look at the and resul协
status
板,中间冷却器的物料采出位置5—14块板。随机 cocl2_l=ihAPsim.Tree.Da诅.S仃e锄s.Elements(,,509”).
生成的100组变量传递给Aspen Plus模拟计算并将 0utput.Elements(”MASSFL0w”).Elements(”MIXED”).Ele-
结果储存在文本文件里。此过程的VB代码如下: ments(佗0CL2”).Value
Private Sub Main() HYDRO一2=ihAPsim.1、℃e.Data.streams.Elements(”
Dim i A8 Imeger,n AB Imeger
507”). 0utput. Elemen协(”MAssFL0w”). Elemen协(”
Dim dat()As exe
MIxED”).Element8(”HYDR0—0l”).Value
Dim As Double As圯
cocl2一l 0pen”E:、GA、date2.txt”For Append
Dim cocl2 2 As D叫ble
Print舵,cocl2—1,HYDRO一2
万方数据
258 计算机与应用化学 2007,24(2)
C108e抛 Refbrences
Next i
1 Jo∞kboreim如d Jo龇IIlin Aceved0.f'n)c既B髓8)rIl山∞is彻d d朗ign
,
C10se带l of distillati∞sequenc∞usiIlg Inodular simulat∞璐:8 genetic a如-
C10se舵 ritllm hmework.Computer姐cI Chemical Engi脚riIlg,2004,28:
End Sub 1223—1236.
4
、 gineering.Melbol珊1e,Austmlia,2001.
仁g#0q矗每e 2
气 7 R觚啪R柚d Gmssm彻n IE. Modehllg锄d computational tech・
O
8
~. IliqIles for logic based intege‘pml弘衄ing.C咖pute礴锄d Chel珏i—
6
’~ cal EnginecriIlg,1994,18:709—731.
4
。◆- 8 Vi鲫aIla山锄J锄d Grossn啪IE.S)rIltllesis柚d叩tilnization of he砒
气
2 ’● integra把d distillati彻systems隅ing锄improved g即eⅡc如rimm.
O
Compute瑙and Ch啪ical Engineering,1998,23:125一136.
ul~U}|o 每。留甥碍暑。毒 0.027 O.028 0.029 O.030 0.03 1 0.032
原工艺要求是塔底HCl的质量流量至少低于
1l Bu HY.硼1e iIlte础d 8t糟legy of印plied 8硪wam function b∞ed蝴
the system舳nwa陀re∞uf嘲.The Computer Sys£鲫Applica“on,
30 kg/h,这样可保证光气回收系统的稳定,而且减 1997。3:25—27.
万方数据