低温甲醇洗系统模拟软件界面开发
- 期刊名字:计算机与应用化学
- 文件大小:152kb
- 论文作者:陈晓峰,张述伟,曲平
- 作者单位:大连理工大学化工工艺系
- 更新时间:2020-06-12
- 下载次数:次
第21卷第4期计算机与应用化学VoL. 21, No, 42004年7月28日uters and Applied Chemistry低温甲醇洗系统模拟软件界面开发陈晓峰,张述伟,曲平大连理工大学化工工艺系,辽宁,大连,116012)摘要:结合低温甲醇洗模拟系统(R門S)的功能,用Ⅴ isual FOrTRaN成功开发了低温甲醇洗模拟系统软件的界面。针对原RsS模拟系统中存在操作不方便,专业性强不容易理解而且模拟计算过程复杂等问题对其进行改进本软件新增了数据查错、结果文件打印预览和流股断裂等功能软件稳定运行在 Windows系统下并对低温甲醇洗进行模拟分析。关键词: Visual FortraN;低温甲醇洗工艺;模拟;界面中图分类号:TQ018文献标识码:A文章编号:100141602004)4547-551Interface designing of rectisol process simulatorCHEN Xiao Feng, ZHANG ShuWei and QU PingDepartment of Chemical Engineering, Dalian University of Technology Dalian, 116012, Liaoning, China)Abstract: Novel simulation interfaces of RPS were developed with Visual FORTRAN language to improve some shortcoming of RPSation procesThe software harfect wrong- checking function enhances functnd printing of the calculation results and addnew algorithm of finding an optimal set of tear streams. The software can run stably based on windows system and simulate RectisolKey words: Visual FORTRAN rectisol process simulahen XF, Zhang SW and Qu P. Interface designing of rectisol process simulator. Computers and Applied Chemis,2004,21(4)547-55前言单元设备的模拟。系统提供通用的输入输岀模块低温甲醇洗净化法是一种原料气净化法通过并采用菜单驱动方式,为用户提供了人机界面但是此方法以制取合成氨使用的高纯度氢。大连理工如数据文件编辑部分结果文件浏览程序执行等系统功能部分不但麻烦而且容易出错不十分了解这大学化工学院从1983年开始就从事低温甲醇洗装个系统的人很难操纵系统。所以改造该系统的部分置模拟分析优化研究工作于1993年成功地开发了功能就显得很重要。低温甲醇洗装置模拟系统(RPS: Rectisol processRPS软件原是在DOS系统下开发的程序,在Simulator",以后又对此软件不断完善,形成了Windows系统下操作存在诸多不便本文拟将其改〃RPS'95版”和RS′96版”。软件中热力学模型造为 Windows下运行。在许多文献中都是使用Ⅴs采用马丁-候状态方程和L-K状态方程相结合ual basic开发DOS程序的 Windows用户界面231部分气液平衡数据采用浙江大学提供的实验数据为了避免DOS应用程序在 Windows下运行时出下通过回归求得二元交互作用参数。用此软件先后对的黑屏现象在接囗连接的时候需要根据不同的子多套低温甲醇洗装置进行模拟分析提出了一系列程序生成相应的DLL文件由于RS中需要的子程改进操作和对装置进行改造的建议被厂家采用后,序很多而且有些还互相嵌套在接口连接的时候与取得较满意结果。操作系统的兼容型不是很好经常出现內存不可读RS的开发旨在为工程师提供一个能进行低温或写中国煤化工 isual FOrtran兼容甲醇洗工艺流程模拟计算的有力工具。RPS模拟FOFHCNMHGindows风格的界面设系统既可以进行甲醇洗全流程模拟也可以进行有关计所以本文采用Ⅴ isual Fortran来开发RPS的收稿日期:2003-1101;修回日期:200402-25基金资助:中石化基金资助项作者简介:陈晓峰(1977一),男,辽宁辽阳,硕士研究生,化工工艺专业,导师:张述伟.计算机与应用化学200421(4)界面,一些 Visual FORtran不易实现的功能如磁盘路径查找和批处理文生成和文件打印等,则用模拟系统主界面Ⅴ isual basic来实现本文将RⅣS系统的部分功能进行改造使其在Windows下运行这样一来RPS系统的可视化程度流股断裂文件生成界薊结果预览及打印就大大加强看起来就更直观。另外通过本文的设模拟计算界计RPS系统的功能有很大程度上的加强像文件生成、模拟计算等功能。此外在RFS系统原有功能及基础上新增加了一些功能如文件输入差错功1程序结构图能、结果文件浏览及打印功能和流股断裂功能。使Fig. 1 Structure of program用本系统脱离了DOS下操作。并且大量运用了界单有相应的I号然后需要在窗体主程序Main面设计把实现功能的代码隐藏在界面的背后用户WndProc)中写上具有相应I菜单点击时所需调无需面对程序的本身,即可在可视化界面上完成各对话框的函数在相应的对话框中添加所需要的项功能。控件和相应的子程序。2Ⅴ isual fortran简介Digital Visual FORTRAN是 Compaq公司下属的DEC公司推出的功能强大的 FORTRAN开发工具Ⅴ sual FORtRaN基于 Microsoft公司的 DeveloperStudio集成开发环境因此除了具有 FORTRAN语言擅长科学计算的优势以外还可以像Ⅴ isual c+甚至Ⅴ isual basic一样轻松开发出基于 Windows的应用程序。Ⅴ isual FORtran不仅继承了传统FOR图2低温甲醇洗系统主界面TRAN程序的高效、专业的科学计算能力支持最新Fig 2 Main interface of RPs的FOR'TRAN语言标准还改变了传统的科学计算部分代码如下程序漆黑单调的DOS界面代之以具有友好美观的integer function Main WndProc h Wnd, mesgWindows风格的用户界面这无疑为科学计算程序 wParam, IParam)的用户提供了极大的方便,为科学计算程序本身的use user32!调入Ⅴ isual fortran函数模块传播提供了条件。同时因为使用的是相同的开发平台 Visual fortran可以实现和Ⅴ sual C++的Integer*4mesg!相关变量说明无缝连接,极大地扩展了Ⅴ isual fortran的功能和使用范围。对于熟悉 Visual c++和 Visual basicselect case(mesg)!菜单选择等 Developer Studio平台上的开发工具的用户可以很容易地掌握Ⅴ isual fortran。cas( ID MENUITEMTI)!选择具有相应ID的菜单3RPS界面的开发和新增功能call dodialogtio()!调用相应对话框的3.1界面开发函数RPS界面设计的总体功能如图1所示。0!返回值在初始建立项目时选择FOR' tran Windows中国煤化工Application项目文件4在接下来选择 A simple SinCNMHGgle document interface(SDI),一个单一主窗体的界end select面就形成了并且其中的主窗体的生成函数已经给出。Ⅴ isual fortran的菜单设计基本同ⅤB一样在模拟计算菜单中的批处理执行对话框中执简单只需要通过简单的文本编辑即可形成每个菜行批处理的按钮点击时所要执行的子程序就是原200421(4)陈晓峰等牴温甲醇洗系统模拟软件界面开发549RFS中相应的模拟计算子程序这部分接口哑元的 iK( exists1)then连接是通过调用已生成文件中的数据来传递。所以= DELFILESQQ textI)!删除相应文件变量的数据类型、位置和个数要保持和原RPS子程 end if序中变量一致才能不影响模拟计算结果。这部分i(ⅩI).eq. SPLIT")!判断是哪个子函数程序的部分代码如下s4)thensubroutine EXECBat( Dlg control_namerelog= Message box(Nll;输入的分割器据文callbacktype)!执行批处理件不存在!,错′MBOK)use dFlogm!调入Ⅴ Visual fortran函数模块nd ifoper(1File=Y(I); status=' unknown’)!打开文character text*10,ext*7,ext2*9,text3*8,件读入数据ext4*8,ext5*8!相关变量说明REAL*8read1,(A)’) UnitNoAMH AMC ALPHA TC2 TCI THI TH2select case( control name)!选择相应的子函数read 1, (A )' infsncase( IdEXECread( 1,(a ) outnl设置和判断相应的批处理文件read( 1,(A)')outn2retlog= Dlgset( DIg IDC_LISTI 200, DLG_NU,*) selectorMITEMSretlog= DIgget( Dlg IDC_EDitI textclos(1)!关闭文件INQUIRE( FILE text, EXIST existscall SPLIT( UnitNo, No infsn outnl outn2, selectoritextvalue)!调用原RPS中的子程序relog= Message boxt(Nul,批处理文件不能为空if重新输入!,错误!MB_OK)returnelse if(. not. exists) thenI+1relog= Message box(Null’该批处理文件不存END DO在!,错误!MBOK)los(2)!关闭文件eturnend selectend if批处理执行结束后弹出对话框提示I=1relog= Message boxt(Nul批处理执行完毕请open( 2 File text status ="unknown)查看结果!,执行完毕′MB_OK)打开批处理文件读入相应数据nd subroutineDO WHILE(.NOT.EOK2)!判断文件是否另外新增的结果文件预览打印功能和批处理生结束成功能采用Ⅴ ishak basic3实现,由 Visual forREAD(2,*)X(I)Y(I)TRAN生成的菜单来调用。3.2流股断裂功能的实现text2=′ UNITT.MAX在化工过程模拟计算过程中都需将工艺流程图转变为信息流程图。在工艺流程图中,节点为机text5="FLOW.MAX′械或设备流线表示物料的流向在信息流程图中INQUIRE FILE text EXIST exists节点中国煤化工表示信息的传递方向判断收敛文件是否存在对于CNMHG络图即使每个节点只INQUIRE( FILE= text2, EXIST= exists2用了一个方程表达描述它也需成千上万个方程INQUIRE C FILE text3, EXIST= exists3)工程上通常采用序贯模块法进行模拟计算,它要求INQUIRE( FILE text5, EXIST exists5)首先对信息网络图进行分割和断裂以确定最佳的INQUIRE FILE Y(I), EXIST= exists)计算次序减少计算量。所谓断裂就是给回路中任55计算机与应用化学200421(4)何一条返回流股所包含的全部变量赋以初值用它晰餐似们进行迭代计算使网络变成树形图对于树形图很容易决定计算次序。输入节点数N流股断裂是新增的功能。文中对周理6等人输入数据文件名提出的寻找最优断开流股集方法进行改进和补充输出结果文件名:得到了一种新的网络分解方法。这种新方法逻辑简单无需识别回路也不需要进行复杂的矩阵运算只须将网络中的节点权重按递降次序排列,然后以使逆流股的权和减小为原则调整节点在序列中的位置。调整后保留的逆流股便构成一组断开流股集图4流股断裂界面此时的节点序列便是最优计算次序。通过十几个经Fig 4 Interface of tear streams典网络的分解表明这种新的分解方法简单快速且结果均是被以前的文献证明的最优解。lect case( control_name)!判断点击哪个按钮这部分的实现分成两个子菜单,一个用于流股节点信息录入另一个用于对输入流股节点的断裂。case( IdCHECK)其中流股节点信息录入对话框界面中需要输入流retlog= DIgGet( Dlg IDC_EDITI dextl股的节点总数、是否是有权图、需要生成的数据文件retlog= Dlg Get( DIg I DC_EDIt2 text2)名和邻接矩阵文件名在接下来的对话框中输入每relog=Dlg Ge( Dlg IDC_EDIT3 text3)INQUIRE( FILE text2, EXIST exists个节点的详细信息!判断数据输入是否完整个节点if(( textI. eq. ") OR.( text2. eq " ).OR.( text3这个节点eq. ))thenrelog= Message box(Null’数据输入不全',错读出酸到达节计该流股用的误′AB_0K)!弹出提示对话框十回国流脸所使用的1return文件书Felse if(. NOT. exists )then阵交件tlog= Message bo(Nl;数据文件不存在请重新输入′,错误′AMB_OK)3节点信息输入界面relog= DIgset( dlg IDC_eDit2)!设置为空Fig. 3 Interface of inputting node informationeturn所有节点信息输入完毕后点击流股断裂子菜单可断裂已生成在的数据文件的流股群并把结果输clg=Dle( DIg dc editi text)!获取数出到文件中。可以在菜单中选择打印和游览生成的据数据文件、矩阵文件和断裂结果文件。部分断裂程序如下retlog= DIgget( dlg IDC_EDit textsubroutine DATACHECK( Dig, control_namecallbacktyperelog= DIgGet( DIg I DC_EDIt3 textuse dflogm!调入Ⅴ isual fortran函数模块read text ,*)outputdYH中国煤化工t)!调用流股断裂子程CNMHGInteger n!相关变量说明CALL DIgeXit( dgcharacted( 10)text text text2 text3 text4logical existsrelog= Messagebox(Null’请输入节点信息!haracte 4)T2提示′MB_OK)200421(4)陈晓峰等牴温甲醇洗系统模拟软件界面开发51end selectBasic. Computer System Applycation, 1997. (2 )52-53end subroutine3 Wei Xuanping. A simulating program and application developed4结语Technology 2002, (2)52针对RPS模拟系统使用中的问题本界面系统4 elwel and wang I enan. vIsual FOrIRAN Programmed的开发实际上是对RFS系统部分功能的改进,将uide. Beijing Posts &Telecom Press 20005 Bob Roselman and Richard Peasley. Tutorial of VB6. Beijing TsinghuaDOS下的RS系统变成了 Windows下的模拟系统University Press, 2001使RⅣS模拟系统可视化更加直观更方便用户的6ouLi. New algorithm of finding an optimal set of tear streams使用。对周理等人提出的寻找最优断开流股集方法Journal of Chemicalnd Engineering, 1985,(3): 312进行改进和补充得到了一种新的网络分解方法利用这种网络分解方法把流股断裂功能加入到RPS附中文参考文献模拟系统中。系统建立的文件输入界面只需对号1张述伟,陆明亮,徐志武.低温甲醇洗模拟系统模拟与分析.化入座按中文提示输入数据文件生成十分方便。数肥设计,1994,3x1)25-31据修改功能十分强大,它使数据直接回到界面上方2冯惠军.用 Visual B开发Dos程序的 Wind用户界面计便数据的修改。系统査错功能比较完善基本能应算机系统应用,1997,(2)52-53.付初学者使用本系统时的各种误操作。模拟计算部3魏选平,卞树檀.一种基于 Fortran power Station平台开发的仿真分中的批处理文件编制部分和模拟计算部分完全脱程序及其应用.软件可靠性与评测技术,2002,(2)52-55离了DOS环境真正做到可视化。系统还增加了结邓巍巍,王越男. Visual FORTRAN编程指南.北京人民邮电出果文件预览打印功能使本系统的功能更加完善。版社,2000Refe5 Bob Roselman and Richard Peasley.VB6使用教程.北京清华大学出版社,20016周理.过程模拟信息网络的新分解方法.化工学报,1985,(3)tor and analysis. Chemical Fertilizer Design, 1994 32( 1 )25-3312-3212 Feng Huijun. Interface designing of the dos program using Visual中国煤化工CNMHG
-
C4烯烃制丙烯催化剂 2020-06-12
-
煤基聚乙醇酸技术进展 2020-06-12
-
生物质能的应用工程 2020-06-12
-
我国甲醇工业现状 2020-06-12
-
JB/T 11699-2013 高处作业吊篮安装、拆卸、使用技术规程 2020-06-12
-
石油化工设备腐蚀与防护参考书十本免费下载,绝版珍藏 2020-06-12
-
四喷嘴水煤浆气化炉工业应用情况简介 2020-06-12
-
Lurgi和ICI低压甲醇合成工艺比较 2020-06-12
-
甲醇制芳烃研究进展 2020-06-12
-
精甲醇及MTO级甲醇精馏工艺技术进展 2020-06-12