第 26 卷 第 2 期2005 年 4 月
青 岛 科 技 大 学 学 报
Journal of Qingdao U niversity of Science and Technology
Vol . 26 No . 2
Apr . 2005
文章编号 :167226987 (2005) 0220128204
Aspen Plus 功能扩展方法探讨
原 璐 ,吕海霞 ,项曙光
(青岛科技大学 计算机与化工研究所 ,山东 青岛 266042)
摘 要 : 对化工过程模拟软件 Aspen Plus 的用户模型的开发进行了分析 ,探讨了 Aspen
Plus 用户模型开发步骤和编写方法。Aspen Plus 支持 6 种用户模型 ,其编写除了要遵循
一个通用的规则外 ,针对每一种用户模型又有不同的定义方式。用户模型的编译和连接
通过 Aspen Plus 提供的编译程序 aspcomp 和 asplink 来完成 ,最终生成一个目标模块文
件或动态连接库。将该目标模块文件或动态连接库复制到 Aspen Plus 的执行目录下 ,即
完成一个用户模型的开发全过程。最后给出一个具体用户模型的例子 ,以帮助用户熟悉
该方法。
关键词 : Aspen Plus ;用户模型 ;变量列表
中图分类号 : TQ 021. 8 文献标识码 : A
Discussions on Method of Function Development
for Aspen Plus
YUAN Lu , L V Hai2xia , XIANG Shu2guang
(Computer and Chemical Engineering Research Center ,Qingdao University
of Science and Technology , Qingdao 266042 , China)
Abstract : The develop ment of user models for chemical p rocess simulative sof tware Asp2
en Plus are discussed , and developing step s and writing met hod of t he user models are
int roduced in t his paper . A common rule should be followed in developing user models
and t he developing met hods of each kind of user models are different . The user models
must be compiled using t he asplink procedure and linked using t he asplink procedure
(optional) ,and then an object module file or a shared library is generated . The object
module file or t he shared library is copied to t he Aspen Plus run directory , t hen t he
whole p rocess is completed. an example is given to help user to know the met hod bet ter .
Key words : Aspen Plus ;user models ;argument list
Aspen Plus 是新一代的化工过程模拟软件 ,
它提供了大量的物性数据 ,热力学模型和单元操
作模型 ,可用于化工过程的模拟、设计和优化[1 ] 。
随着计算机技术与化工系统
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
的发展 ,化工过
程模拟软件功能不断得到强化。但由于某些化工
生产过程的复杂性和具体性 ,模拟软件可能做不
到完全与其实际过程一致 ,这就需要模拟软件的
用户针对生产实际自己来设计一些用户模型 ,并
将模型添加到软件中去 ,结合软件已有的模型来
进行实际生产的模拟。所以模拟软件的开发者应
向用户提供一个用户功能扩展接口。Aspen
P1us 就提供了这样一个用户功能扩展接口 ,用户
可利用它将自定义的过程单元模型添加到 Aspen
P1us 系统中 ,在它的系统框架中使用。用户扩展
收稿日期 :2004210225
作者简介 :原 璐 (1977~) ,男 ,硕士研究生 ; 指导教师 :项曙光 (1963~) ,男 ,博士 ,教授.
© 1994-2006 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 2 期 原 璐等 :Aspen Plus 功能扩展方法探讨
接口赋予 Aspen P1us 极大的扩展能力 ,同时有助
于保护用户已有的开发成果[ 2 ] 。Aspen Plus 功
能模块由 Fortan 语言编写 , Fort ran 语言是一种
计算能力很强的高级语言 ,适用于对计算要求较
高的软件的编写 ,而 Aspen Plus 的用户模型也以
用 Fort ran 语言编写为主。本文对 Aspen Plus
Fort ran 用户模型的开发方法进行探讨 ,给出其开
发过程和步骤 ,并将举例说明该方法。
1 用户模型简介
Aspen Plus 用户模型是指当 Aspen Plus 体
系提供的模型不能满足用户要求时 ,用户自行开
发的模型。它包含一个或多个为了扩充 Aspen
Plus 的功能而写的用户子程序。Aspen Plus 支
持 6 种用户模型 : ①用户单元操作模型 ; ②用来
计算各种主要的 ,次要的和相互间物性的用户物
性模型 ; ③关于尺寸和费用的用户模型 ; ④关于
特殊流股性质的用户模型 ⑤用户流股
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
; ⑥在
Aspen Plus 单元操作模型里执行各种类型计算
的用户模型。
2 用户模型开发步骤
不同于一般 Fort ran 程序的开发 , Aspen
plus 用户模型的开发涉及到调用 Aspen Plus 及
完成于系统间的参数传递 ,所以其开发有特定的
步骤 ,如表 1 所示[3 ] 。
3 用户模型编写方法
3 . 1 用户模型的编写规则
表 2 给出一个 Aspen Plus 用户模型通用的
编写规则 ,即无论用户开发哪一类用户模型 ,都必
须遵循这些规则。
3 . 2 不同用户模型的定义方式
由于 Aspen plus 支持多种用户模型 ,每一种
用户模型在 Aspen Plus 中通过一些特定的过程
单元来调用 ,这些过程单元在调用用户模型时使
用不同的变量列表 ,所以编写用户模型要按照这
些变量列表进行定义 ,以适应不同的调用方式。
3. 2. 1 单元操作模型
用户单元操作模型通过 Aspen Plus 的 U ser
和 U ser2 过程单元来调用 ,在 U ser 和 U ser2 的
inp ut specification 窗口上的 model 或 report 对
话框里输入用户单元操作模型的名字即可实现对
它的调用。
表 1 用户模型的开发步骤
Table 1 The developing steps for user models
步 骤 内 容
编写用户模型 这是完成一个用户模型开发的核心部
分 ,本文第 3 部分将对用户模型的编
写方法进行详细说明。
编译和连接用户模型 使用 Aspen Plus 提供的编译器 asp2
comp 编译用户模型 ,命令为 :aspcomp3 . f [ dbg ]。最终生成一个关于用户
模型的目标模块文件。
其中 :dbg 为编译命名选项 ,当需要调
试时可使用该选项。使用 Aspen Plus
提供的 asplink 命令来创建共享连接
库 ,以便于用户模型的重复使用 ,命令
为 :ASPL IN K [ DLOP T dloptfile ] lib2
name。其中 :DLOP T = Dynamic Link
Options files 动态连接配置文件 ,
dloptfile = 动态连接配置文件名 ,lib2
name = 将被创建的 Fort ran 共享连接
库名。
提供目标模块文件或
共享连接库到 Aspen
Plus 体系中
将目标模块文件复制到 Aspen Plus
的执行目录下 ,或者将共享连接库复
制到执行目录下。
表 2 Aspen Plus 用户模型通用编写规则
Table 2 Common rules and conventions for Aspen Plus user models
项 目 规 则
文件名 文件可以被任意命名 ,但是要以. f 作为
扩展名。
子程序名 物性和 ADA/ PCS 用户模型必须按照
Aspen Plus 规定来命名。其他 Fort ran
用户模型名字应至少含有 6 个字符。
双精度 所有实数变量必须规定为双精度 ( real3 8)的。即在你的用户子程序里包含
下列语句 :
IMPL ICIT REAL 3 8 (A2H , O2Z)
Aspen Plus 公用模块 用户子程序可以通过包含文件调用
Aspen Plus 公用区 ,例如 ,作如下声明
# include ”dms_global . cmn”可以调用
公用区 DMS_ GLOBAL ,用户子程序不
应当修改任何 Aspen Plus 公用区变量
的值。
形参维数 如果子程序变量列表声明把 (1) 作为维
数 ,你应该声明变量为一个 l 维形参数
组。
Fort ran 扩展名 你可以用被你的系统编译器支持的任
何的 Fort ran 扩展名。然而 , Fort ran 扩
展名的使用将使你的子程序接入其它
平台比较困难。
单位 在变量列表中的所有变量都是 SI 单位制的 ,除非变量声明规定其他的单位
制。
921
© 1994-2006 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
青 岛 科 技 大 学 学 报 第 26 卷
供 U ser 调用的用户单元操作模型子程序的
定义 :
SUBROU TIN E subrname ( NSIN , N IN FI ,
SIN1 , SIN2 , SIN3 , SIN4 , SIN FI ,
NSOU T , N IN FO , SOU T1 , SOU T2 ,
SOU T3 ,SOU T4 ,SIN FO ,NSUBS ,
IDXSUB ,IT YPE ,N IN T ,IN T ,
NREAL ,REAL ,IDS ,N PO ,
NBO PST ,N IWOR K ,IWOR K ,
NWOR K ,WOR K ,NSIZE ,SIZE ,
N TSIZ ,LD)
subrname 是用户在 U ser 的 Inp ut Specifica2
tions 窗口上输入的子程序名。
供 U ser2 调用的用户单元操作模型子程序
的定义 :
SUBROU TIN E subrname (NMA TI ,SIN ,
N IN FI ,SIN FI ,NMA TO ,SOU T ,
N IN FO ,SIN FO ,IDSMI ,IDSII ,
IDSMO ,IDSIO ,N TO T ,NSUBS ,
IDXSUB ,IT YPE ,N IN T ,IN T ,
NREAL ,REAL ,IDS ,N PO ,
NBO PST ,NBOPST ,N IWOR K ,
IWOR K ,NWOR K ,WOR K ,NSIZE ,
SIZE ,IN TSIZ ,LD)
subrname 是用户在 U ser2 的 Inp ut Specifi2
cations 窗口上输入的子程序名。
3. 2. 2 用户物性模型
用户物性模型的调用方式是 Properties2
Property Met hods2Models 窗口上输入该模型名
称。对于每一个用户模型 ,都必须编写一个主子
程序来计算和返回物性值。主子程序被特定的物
性控制程序直接调用 ,他们有一个固定的名字和
变量列表结构。主子程序可以调用任何附加子程
序 ,附加子程序在变量列表和数量上没有限制。
计算纯组分性质模型的主子程序的定义 :
SUBROU TIN E subrname ( T , PI , N , IDX ,
IRW , IIW , KCAL C , KOP , NDS , KDIA G , Q I ,
DQ I , KER)
计算混合物中某种组分性质模型主子程序的
定义 :
SUBROU TIN E subrname ( T , P , Z , N ,
IDX , IRW , IIW , KCAL C , KOP ,
NDS , KDIA G , Q IMX , DQ IMX ,
KER)
Aspen Plus 还对用户活度系数模型 ,混合物
性质计算模型 ,状态方程模型 ,纯组分状态方程模
型和 K 值计算模型的主子程序的定义作了严格
的规定。
3. 2. 3 尺寸和费用用户模型
尺寸和费用用户模型通过 Aspen Plus 的过
程单元 U ser2 来调用。
供 U ser2 调用的尺寸模型子程序的定义 :
SUBROU TIN E subrname ( KMODE ,
N EQ P ,N IN T , IN T , NREAL ,
REAL , N IST , ICSIZ , RCSIZ ,
N IRSL T ,RSL T , RSL T)
subrname 是用户在 user2 的 Inp ut Specifi2
cations 窗口上输入的子程序名。
供 U ser2 调用的费用模型子程序的定义 :
SUBROU TIN E subrname ( KMODE ,
N EQ P ,FMCN , CSTAJ , N IST ,
ICSIZ , RCSIZ , NRSL T , IRSL T ,
RSL T , TBCOST , TCOST)
subrname 是你在 U ser2 的 Inp ut Specifica2
tions 窗口上输入的子程序名。
3. 2. 4 用户流股报告模型
用户流股报告模型调用方式是在 Set up2Re2
port Options2St ream 窗口点击 Supplementary
St ream 键 ,在弹出的 Supplemental St ream Re2
port 对话框里 ,点击 Subroutine 键 ,在弹出的对
话框里输入子程序名。
流股报告子程序定义 :
SUBROU TIN E subrname (STV EC ,
NSTRM , N TO T , IDSTRM ,
IDBSOR , IDBSN K , IH EAD ,
L H EAD ,ISU PNO , NOSA T ,
ISCT YP , N P TO T , IH EADS ,
PRPVAL , XTREF ,XPREF ,
XPCL V , NSUBS , IDXSUB , IT YPE ,
LD)
subrname 是子程序名。
3 . 3 物性方法的调用
用户模型有时需要调用 Aspen Plus 内部的
一些物性方法 (包括热力学性质 ,传递性质和非常
规性质) 。通过调用 Aspen Plus 物性控制程序来
完成。物性控制程序通过物性方法指示器来指定
热力学方法、模型和数据 ,以完成性质的计算 ,最
后物性控制程序通过变量列表返回性质值到调用
031
© 1994-2006 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 2 期 原 璐等 :Aspen Plus 功能扩展方法探讨
程序。
用户模型需通过变量列表传递下列信息到物
性监控程序 ,以实现对它的调用 : ①状态变量 (温
度、压力、组成) ; ②被计算性质的计算代码 ; ③物
性方法指示器。
Aspen Plus 提供了各种热力学 ,传递和非常
规性质的物性控制程序 ,其调用命令为 :
CALL 3 (变量列表)3 代表物性监控程序的名称
例如要调用一个计算气液平衡 K 值的物性
控制程序 ,其命令为 :
CALL PPMON _ KVL ( T , P , X , Y , N ,
IDX , NBOPST , KDIA G , KK , K , D K , KER)
4 用户模型实例
反应精馏是将反应和精馏设备结合在一起 ,
以提高产品收率和降低能耗的生产过程。由于反
应和精馏之间存在着复杂的相互影响 ,物系呈强
非理想性 ,使得模拟变得复杂。本例采用平衡级
数学模型对板式精馏塔进行模拟 ,并将该塔的用
户模型添加到 Aspen Plus 体系中。
4 . 1 数学模型的建立
(1) M 方程 : F Z j , i + V j + 1 Y j + 1 + L j - 1 X j - 1 =
( S V j + V j ) Y j , i + ( S L j + V j , i ) + ( S L j + L j ) X j , i +
Ωjαj r j
(2) E 方程 : Y j , i = Kj , i ×X j , i
(3) S 方程 : ∑X j , i = 1 ∑Y j , i = 1
(4) H 方程 : F H vj + V j + 1 H j + 1 + L j - 1 hj - 1 =
( S V j + V j ) H j + ( S L j + L j ) hj + H rj - Q j
(5) R 方程 : rj = - d X j , i / d t = f ( K , X1 , X2 ,
⋯, X M )
4 . 2 数学模型的求解
以松弛法获得初值 ,再采用修正的 Newton2
Rap hson 法进行模拟计算 ,计算框图见图 1 [4~6 ] 。
4 . 3 用户模型的开发
首先编写用户模型 ,本例为供 U ser 调用的
用户单元操作模型 ,其子程序定义为 :
SUBROU TIN E REFRAC(NSIN , N IN FI ,
SIN1 , SIN2 , SIN3 , SIN4 , SIN FI ,
NSOU T , N IN FO , SOU T1 ,SOU T2 ,
SOU T3 , SOU T4 , SIN FO , NSUBS ,
IDXSUB , IT YPE , N IN T , IN T ,
NREAL , REAL , IDS , N PO ,
NBO PST , N IWOR K , IWOR K ,
N WOR K , WOR K , NSIZE , SIZE ,
N TSIZ , LD)
图 1 修正 Newton2Raphson 法计算程序框图
Fig. 1 Flow chart for modified Newton2Raphson met hod
用户模型中的热力学性质的计算需要调用
Aspen Plus 内部的一些热力学方法 ,下面分别说
明 :
Kj , i = Kj , i ( T j , Pj , X i , j , Y i , j ) ,其计算需要调用汽
液平衡 K 的值物性监控控制程序。命令为 :
CALL PPMON _ KVL ( T , P , X , Y , N ,
IDX , NBO PST , KDIA G , KK , K , D K , KER)
H j = H j ( T j , Pj , Y i , j ) ,其计算需要调用混合物焓
(气相)的物性监控控制程序。命令为 :
CALL PPMON _ EN T HV ( T , P , Y , N ,
IDX , NBOPST , KDIA G , KBASE , KH , HMX ,
D HMX , KER)
hj = hj ( T j , Pj , X i , j ) ,其计算需要调用混合物焓
(液相)的物性监控控制程序。命令为 :
CALL PPMON _ EN T HL ( T , P , X , N ,
IDX , BOPST , KDIA G , KBASE , KH , HMX ,
HMX , KER)
完成用户模型的编写后 ,调用 aspcomp 和
asplink 进行编译和连接 ,生成动态连接库 REF2
RAC. DLL 。将该动态连接库复制到 Aspen Plus
的执行目录下 ,即完成该用户模型的开发全过程。
(下转第 152 页)
131
© 1994-2006 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
青 岛 科 技 大 学 学 报 第 26 卷
ct rMSComm. InBufferCount = 0 ’接收缓冲
区清 0
f rmMain. ct rMSComm. Outp ut = Senddatastr
( st rSend Text) ’字符串发送
2 . 3 数据接收
数据接收仍在 VB 里完成 ,使用 MSComm 控
件的 Inp ut 属性
Do
VA = Do Event s () ’等待应答帧
ct rMSComm. Inp utLen = 0 ’一次读
取缓冲区中的所有数据
Loop Until ct rMSComm. InBuffer2
Count > 0
Do
backst r = backst r + ct rMSComm.
Inp ut
Loop Until ct rMSComm. InBuffer2
Count = 0
2 . 4 数据验证
由于不同系列的 PL C 数据返回格式不尽相
同 ,为此对数据的验证方法不同 ,为了让 VB 主体
部分具备通用性 ,仍可采用在 VC 编写 DLL 形式
文件进行数据验证。如果数据返回正确直接得到
其数据 ,如果错误则可提示具体的错误产生原因。
3 结 论
采用混合编程的方法提高了工控软件的通用
性和可移植性 ,延长软件的使用周期 ,降低成本。
用 VC 进行一些计算部分的编程 ,则可大大的加
快系统运行的速度 ,提高其稳定性。
参 考 文 献
[1 ] 李建华 ,郭明. RS2232 和调制解调器高级通讯编程[ M ] . 北
京 :人民邮电出版社 ,2001.
[ 2 ] 李小明 ,李东晓. 基于 Visual C + + 6. 0 实现 PC 与 PLC 的通
讯[J ] . 电测与仪表 ,2001 ,38 (3) :41 ─44.
(上接第 131 页)
5 结 语
(1) Aspen Plus 用户模型是指当 Aspen Plus
体系提供的模型不能满足用户要求时 ,用户自行
开发的模型 ,它包含一个或多个为了扩充 Aspen
Plus 的功能而写的用户子程序。Aspen Plus 支
持 6 种用户模型。物性控制程序通过物性方法指
示器来指定热力学方法、模型和数据 ,以完成性质
的计算 ,最后物性控制程序通过变量列表返回性
质值到调用程序。
(2) Aspen Plus 用户模型编写除了要遵循一
个通用的规则外 ,针对每一种用户模型又有不同
的定义方式。用户模型若需要调用 Aspen Plus
内部的物性方法 ,通过调用 Aspen Plus 物性控制
程序来完成。
(3) 用户模型的编译和连接通过 Aspen Plus
提供的编译程序 aspcomp 和 asplink 来完成 ,最
终生成一个目标模块文件或动态连接库。
(4) 将该目标模块文件或动态连接库复制到
Aspen Plus 的执行目录下 ,即完成一个用户模型
的开发全过程。
参 考 文 献
[ 1 ] Aspen Plus User Guide (Version 10. 2) . Aspen Technology ,
Inc.
[ 2 ] Aspen Plus User Models ( Version 10. 2) . Aspen Technolo2
gy , Inc.
[3 ] 赵月红 ,温浩 ,许志宏. Aspen Plus 用户模型开发方法探讨
[J ] . 计算机与应用化学 ,2003 ,20 (4) :435 ─438.
[ 4 ] 张瑞生. 板式反应精馏塔的模拟计算 - 修正的 Newton2Ra2
phonson 法[J ] . 华东化工学院学报 ,1989 ,15 :25 ─31.
[ 5 ] 漆志文 ,孙海军 ,施军民 ,等. 反应分离过程模拟 I. 反应精馏
过程[J ] . 华东理工大学学报 ,1992 ,25 (1) :19 ─23.
[ 6 ] 周传光 ,郑世清 ,胡仰栋 ,等. 部分牛顿法模拟反应精馏过程
[J ] . 化学工程 ,1993 ,21 (3) :30 ─35.
251
© 1994-2006 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net