编辑: hgtbkwd 2019-07-03
第3 5卷增刊 中国科学技术大学学报 V01.

35 Supp.

200 5年1 1月JOIJRNALOFUNIVERSITYOFSCIENCEANDTECHNOLOGYOFCHINA Nov.2

00 5 文章编号:0253-2778(2005)增-0481―06 MAP工具箱:Matlab与Aspen Plus 的高级接口'

耿大钊,陈曦,邵之江,钱积新 (渐扛大学系统工程研究所,渐江杭州3100Z?) 摘要:基于组件对象模型(COM)技术,按照Aspen Plus数据测览器的结构开发了 Madab与AspenPlus之问的高级接口:MAP工具葙.该工具箱实现了Matlab对Aspen Plus中数据的读写厦模拟运行控制,结合了Matlab的计算能力和Aspen Plus的仿真能力,弥补了Aspen Plus在计算能力方面的某些不足. 关键词:Matlab;

Aspen Plus;

COM;

接口 中圈分类号:T0921 文献标识码:A O引言 MatlabC 是由美国MsthWorks公司推出的用于数值计算和图形处理的科学计算系 统环境,作为一个人机交互的数学系统环境,它拥有一个强大的数学函数库,内容集中了日 常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能,是 目前国际上公认的优秀的数学应用软件之一.Aspen Plus[却是一种广泛应用于化工过程的 研究开发、设计、生产过程的控制、优化及技术改造等方面的性能优良的软件.它是由美国 AspenTech公司开发的大型通用流程模拟系统,已在全世界许多大型化工、石化企业及著 名工程公司得到广泛应用.该软件通过准确地模拟流程工业工艺过程、快速的循环计算、设 计新工艺以及全系统的优化,可为用户解决工程设计和运行过程中的阿题.Aspen Plus中 的某些信息有时需要与其他程序进行交互,如Aspen Plus模拟的输入和结果需要被传递到 其他设计程序或数据库中;

一些高级用户还希望通过其他应用程序调用Aspen Plus以扩展 其功能.如Aspen Plus的序贯模拟中的内置算法不能求解某些问题时,需要使用其他环境 下(如Matlab)编写的先进优化算法.基于COM技术开发了Matlab和AspenPlus的高级接 口工具箱(MAP)[4],本文在Matlab环境下实现对Aspen Plus数据的读写,对Aspen Plus 模拟程序的运行控制,将Matlab的计算能力和Aspen Plus的仿真能力充分结合到一起,拓 展了Aspen Plus的仿真能力.

1 O)M及Aspen PlUS ActiveX自动化服务器 co肼 6J(component object model,组件对象模型)是Microsoft刨建的一种二进制和 -作者筒升-耿大钊,男.1980年生,硕士生.E-mail:d獬@iipa砑u edo.∞

482 q-国科学技术大学学报 第35卷 网络标准,它允许任意两个组件互相通信,而不管他们是在什么计算机上运行(只要计算机 是相连的),不管各计算机运行的是什么操作系统(ftjg该操作系统支持COM),也不管该组 件是用什么语言编写的.它是所有ActiveX组件的基础,提供了使多个应用程序或组件对象 协同工作并相互通信的能力.自动化(Automation)作为COM的一种特例或者应用,它的出 现实际上是为了迎合比较弱的高级语言的需要.这些语言不能很好地支持复杂的结构类型 和指针类型.自动化技术使得跨应用(进程)调用变得非常简单,是位于应用层的组件技术. 以COM技术为基础的自动化技术在Windows应用程序中使用广泛,例如Microsoft Word,Excel以及Matlab等.这些应用程序以自动化对象的方式暴露出内部的数据和功能, 其他的应用程序作为客户程序(或自动化控制器)来访问这些自动化对象.Matlab中的 COM支持,使Matlab可与内含的控件或服务器进程相互作用,或将Matlab作为一个由用 户的客户应用程序控制的计算服务器. AetiveX技术是Microsoft公司提供的一种用于模块集成的新协议,通过ActiveX,开发 者和终端用户可以选择由不同的开发商发布的面向应用程序的AetiveX组件,并它们无缝 地集成到自已的应用程序中,从而完成特定的目的.ActiveX技术允许应用程序或组件控制 另一个应用程序或组件的运行.它包括自动化服务器和自动化控制器. 一个自动化服务器是一种可以由其他应用程序编程驱动的组件,实际上是一个实现了 IDispateh接口的COM组件.而一个自动化控制器则是一个通过Dispatch接口使用和操纵 自动化服务器的应用程序即COM客户.自动化控制器不会直接调用自动化服务器实现的 那些函数,而是通过Dispatch接口中的成员函数实现对服务器中函数的间接调用. Matlab提供了一个自动化对象,它支持COM技术.其他程序通过COM技术提供的函 数得到自动化对象支持的接口指针,通过调用接口函数便可控制和使用自动化对象了. Matlab支持的ActiveX有两个方面的涵义: (1)在其他程序下运行Matlab的ActiveX部件;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题