化 工 过 程 仿 真
摘要:化工过程系统,是一个大型的复杂系统,其仿真软件正向着大型化方向发展。传统的用结构化设计方法建立化工仿真系统,由于可靠性、可扩充性和可再用性较差,难以利用己有的模型产生新模型,因此,采用面向对象的方法取代原有的结构化方法开发计算机环境,己逐渐成为软件发展的趋势。 关键词:化工过程,面向对象应用框架技术,化工仿真
Chemical process simulation
Abstract: Chemical process system is a large-size complex system,and its simulation software is developing towards macro-scale operations technology.Due to its shortage in credibility,extensibility,and reusability,the traditional structure method in developing chemical system is hard to build a new model with exist Therefore,it is a developing trend using the Object-Oriented technology instead of the structure technology.
Key Words:Chemical process, object-oriented application Framework,Chemical process simulation
1. 引 言
随着科学的进步,化工生产日趋高度集中化、复杂化、连续化,操作条件越来越严格,自动化程度越来越高,而且装置高度复杂且昂贵。如果操作失误将十分危险。这向现场操作工人、仪表工人、管理人员和工艺技术人员提出了更高的要求。
计算机仿真技术是一门利用计算机软件模拟实际环境进行科学实验的技术,它具有经济、可靠、实用、安全、灵活、可多次重复使用的优点。化工仿真系统作为化工生产过程中分析、设计、试验、评估的必不可少的手段,它的应用对于提高生产效率和保证安全生产都具有极其重要的意义[1 2]。
2. 化工过程系统仿真技术及其进展
2.1 化工过程仿真技术的概念
化工仿真技术是近几十年来发展起来的一门综合性学科,它是通过计算机对正在设计的或已有的过程做运行模拟的技术。应用这一技术,可以模拟流程在不同工艺条件下运行时可能得到的结果。对这一结果进行分析,优选就能够确定最佳工艺条件,或得到对己有过程改造的最佳发方案。因此,可大大节省过去由实验(小试与中试)探索最佳工艺条件所耗费的大量资金、时间与人力。这一技术已成为化学工程设计、原有工程改造的强有力工具,得到了世界各国的重视。
2.2 化工过程仿真技术的应用
过程系统仿真既涉及过程系统本身,也涉及控制仪表,因此可以被看成过程工程、自动控制和系统仿真的交叉学科。而从实际使用的角度看,主要有三类不同的化工过程仿真系统:过程模拟、过程控制仿真和过程训练仿真。
(1)过程模拟。它被用在进行过程的开发、设计及具体工艺的研究、选择等场合。过程模拟主要是静态的。它们主要用来完成工艺流程设计包括方案选择、参数确定,也可以用在
1
过程现场进行过程优化。
(2)过程控制仿真。它是用来试验过程控制仪表的,可以用于不同场合,它常常与CADCS(控制系统计算机辅助设计)同时运行,它要求过程的动态模型,实时运算,但与过程模拟比较,它仅仅要求控制变量与显示变量,及其动态的数量关系因此可以省去具体的化学、物理关系式,从这个意义上来看模型也得到了简化。
(3)过程训练仿真。它是用来培训各类操组人员,提高他们各自的技能。对操作员主要是开车、停车、正常运行的操作技巧以及处理紧急事故的能力训练;对于仪表工程师主要是仪表系统的调整、组态,仪表系统故障的分析与处理,出现事故后的恢复等能力的训练;对于工艺工程师则主要是对各工艺流程变量的分析,工艺参数的优化选择,提高产品质量与产量,节省能源等各种措施的正确使用能力的训练。这一类仿真要求动态模型,实时运算,但无论在模型本身,以及变量的选用上都可以做较大的简化,但是它必须要有大的逼真度。
3. 化工过程仿真系统的分析与设计
3.1 开发环境
系统开发环境主要体现在以下几方面:(1)系统的分析、设计、实现和维护,全面采用基于主题与主体框架的面向对象技术。(2)以Visua1C++作为开发平台,采用C++语言开发;(3)数据结构在设计上采用图结构,实现上采用动态链表管理;(4)人机交互采用Windows的可视化图形界面技术,把复杂的模型输入转化为直观的图形编辑。 3.2 需求分析与模型抽象
在化工工艺系统中,涉及的对象包括化学物质、化工设备和管路三方面。化学物质在工艺过程存在着流动,它包括了工艺中化工设备处理的原料、半成品和成品。化工设备是加工化学物质的机器,加工引起化学物质的化学变化和物理变化工设备是工艺中的心脏部分。控制、限制物质的设施,广义地讲,管路包括管道和管道上的设备等一起传递、管路是起连接了各种化工设备和传递化学物质的作用。所以说化学物质、化工设备和管路是化工工艺设计计算系统的基本对象,工艺设计的目的就是如何有目的地构造这三者的相互关系,确定达到目的所需要的化工设备、管路和控制,而计算是如何确定每个工艺位置上化学物质的化学成份和物理状态。
工艺设计和计算需要考虑化学物质在流动过程中的成份变化和物理状态变化,考虑的位置一般选择设备进出点或管路中的某些测量点。我们简称流动的物质为物流,而把考虑点和测量点上的物质成份和物理状态称为物流状态点。从原则上讲,物流经过每一个化工设备和管路设施都要改变其状态,从这一点上讲,化工设备和管路没有本质的区别,这就为我们进行模型抽象和统一提供了方便。但是在工艺上也有一些设施是没有物质通过的,或是有物质通过,但是对物流状态的影响可以忽略,从而它们的存在不会引起物质状态的变化。例如各种设备上和管路上的测量仪器等。
从面向对象技术的角度考虑,需要对物流和设备进行分类。把物流经过的,将引起物流状态变化的化工设备和管路统称为逻辑设备;而把物流不经过的、或经过但不影响物流状态的或影响可以忽略不计的设备统称为非逻辑设备。例如,化工工艺上使用的塔、泵、容器、压缩机、换热器、反应器、混合器、管道、分叉、阀门等都属于逻辑设备;而像装在设备或
2
管路上的压力表、温度计、流量计、不工作的放空等都可以认定为非逻辑设备。所以在化工工艺系统中主要考虑的是物流、逻辑设备和非逻辑设备三大抽象家族对象类。
引起物流状态改变的只有逻辑设备,而非逻辑设备只要考虑它被安装的逻辑关系和安装位置。所以在工艺计算上,主要考虑物流和逻辑设备对物流状态的影响。而在工艺设计上需要考虑设备之间的逻辑关系、位置关系以及物流的流动路径。在建立化工工艺设计计算模型时,对物流、管路和逻辑设备作以下几个基本模型假定:
第一、一个逻辑设备在工作时,它有m(m>1)路物流流入,n(n≥1)路物流流出,如图1所示,m和n的数量根据具体的逻辑设备而定,流入与流出物流的状态由物流状态对象来标识。
第二、一个物流状态点,它的状态最多可以与两个逻辑设备相连接,并从一个逻辑设备流出,流入另外一个逻辑设备,流出物流的逻辑设备称为前缀逻辑设备,或前缀设备,被流入的逻辑设备成为后继逻辑设备,或后继设备。
第三、非逻辑设备,因为对工艺不产生直接影响,只考虑被安装的位置,见图2。
图 1 化工设备基本单元假定
图2 设备与管路上的非逻辑设备
我们可以对一些特定的逻辑设备进行抽象,例如管道、管道上的阀、汇流三通和分流三通等,见图3。
3
图3 几个具体的逻辑设备模型
3.3 问题域的对象模型分析
由于应用框架法强调面向抽象对象,逻辑设备、非逻辑设备和物流自然成为构成框架的抽象对象,且是最高层次的抽象对象,所以可以直接采用自顶向下法(Top to Down)进行系统分析。分析内容主要包括对象继承关系分析、逻辑关系(数据结构分析)、聚合关系分析、抽象对象分析和实例对象分析。至于实例对象类何时开发、何人开发和如何开发,都不影响系统的体系结构。 3.3.1 对象继承关系分析
在系统总体的分析阶段,不需要确定具体的设备对象,需要确定的只是设备的抽象对象类。图4中的每一种对象,代表了一种设备的家族或子家族,可以在各自的“专业”继续派生出许多对象,如在逻辑设备的基础上派生了工艺设备对象,而在工艺设备基础上可以继续派生如:派生出塔、泵、换热器,而这三类仍可继续派生,如塔可以继续派生出板式塔、填料塔等等,但各自派生的对象必须符合系统抽象对象提出的要求,使得后期派生的对象能够进入到系统的主体框架中。这一点也充分体现了抽象对象与主体框架的优越性。
图4 设备对象家族的继承关系
有层次地确定对象之间的继承关系,不仅提高了系统重用度,而且实现了系统的形式和现实分离,而抽象对象仅仅是形式部分的表达。 3.3.2对象逻辑关系分析
对象逻辑关系指的是对象与对象之间的相互联系。必须注意抽象对象是对系统对象的抽象表示,代表的仍是对象,但是具体的类型并不确定,所以它无法直接构造系统的数据结构,需要在抽象对象基础上构造逻辑对象,通过逻辑对象管理抽象对象地址方法来构造应用框架的数据结构。所以构造图顶点对象(简称顶点)和弧对象(简称弧),用顶点对象管理计算单元,用弧对象管理流。 3.3.3 数据结构对象分析
设备和物流是框架抽象对象,由这两个抽象对象就可以组成系统的主体框架。但是由于
4
各设备单元和物流的实例对象类型不一,无法直接构造系统的数据结构。所以需要构造这两类抽象对象的数据结构。由于非逻辑设备对工艺计算和工艺控制不产生影响,所以在建立化工工艺设计计算的数据结构时,需要把逻辑设备和非逻辑设备分开来考虑。逻辑设备对物流产生影响,所以它的数据结构应该能够表达逻辑设备和物流的关系,而非逻辑设备只要考虑它与被安装设备的关系。由于逻辑设备对计算产生影响,所以在以后的论述中有时也称其为应用框架建立时暂时不考虑它。以后提到的单元仅指逻辑设备。 3.4 关于非逻辑设备的处理
由于非逻辑设备对工艺计算不产生影响,所以在建立系统的核心计算模型时,可以不考虑非逻辑设备。但是,在工艺设计要求完整的情况下,就必须考虑非逻辑设备因素。非逻辑设备与物流没有关系,只与设备存在着安装与被安装的关系,非逻辑设备可以安装在逻辑设备上,也可以安装在非逻辑设备上,见图5。
图5 非逻辑设备的安装关系
所以,可以为非逻辑设备构造这样的数据结构:加入非逻辑设备节点,管理非逻辑设备指针和设备指针(可以是逻辑设备,也可以是非逻辑设备)。非逻辑节点的结构见图6。
图6 非逻辑设备的节点图
因此,把以非逻辑设备节点为元素构成的非逻辑设备节点链表放入系统的框架类里,就可以表达出非逻辑设备在系统内的逻辑关系,从而保证了设计的完整性。但是,应该注意,把非逻辑设备节点链表放入应用框架时,必须相应的构造非逻辑设备的图形节点,然后把由图形节点构成的链表放入图形编辑框架。
4. 小结
通过需求分析,抽象出物流和设备两大抽象对象类,而设备由根据对工艺的影响分为逻辑设备和非逻辑设备。逻辑设备对工艺产生影响,非逻辑设备对工艺不产生影响,所以在构造工艺计算和控制的应用框架时,为了简化模型,只考虑了逻辑设备。但是由于各计算单元和物流的实例对象类型不一,无法直接构造系统的数据结构,所以需要构造这两类抽象对象的数据结构。通过有向图结构来表达化工工艺的逻辑关系,图的顶点管理逻辑设备,而弧管
5