化工 模拟培训器 许正宇 中国化工信息中心北京 (100029) E-mail:xuzhengyuu@gmail.com 摘要 : 本文详细的叙述了化工仿真模拟培训器的一些基本的概念和算法原理的进展, 包括 DCS 仿真和化工过程的仿真, 仿真采用的序贯模块法算法, 模块的属性和模块的分类 文中介绍了包括工程师站, 教员站和学员站 DCS 模拟培训器软件结构图 并指出了仿真模拟培训发展前景 关键词 : 仿真 ; 动态模拟, 培训器 中图分类号 : T229.8 文献标识码 :B 1. 前言 目前现代化的石油化工工厂都采用集散控制系统 (Distributed Control System, 简称 DCS) 进行生产操作 这种系统就是将用于工厂生产的控制变量 显示变量 分析变量和开关量等, 从生产现场采集出来, 并将其变换到适合于计算机系统要求的数字通信信号格式, 统一传递到工厂中央控制室的计算机上 在计算机中装有数据管理 优化控制 程序控制和离线计算等特殊功能的应用程序, 这些程序对从生产现场采集出来的数据进行处理并通过图形界面显示出来 工厂的生产操作人员即可通过计算机对生产进行操作, 操作的指令经过计算机的处理, 返回到生产现场 采用 DCS 系统后, 工厂的生产操作人员能够了解整个生产的全局, 可全面综合地操作控制生产过程 由于现代工业工厂的 DCS 操作系统使生产大规模 高效率和连续化, 而操作人员又减少, 就要求提高每个生产操作人员的素质, 因此对 DCS 生产操作人员进行培训是非常必要的 - 1 -
图 1 中上方所示是实际工厂的生产控制简图 DCS 系统安装在中央控制室,DCS 屏幕显示的温度 压力和流量等参数都是通过变送器从实际生产装置上采集的 生产操作人员通过 DCS 对生产进行操作, 保证生产装置长期 稳定地运行 仿真模拟培训系统实质上是借助于计算机的计算能力, 用数学模型代替实际生产装置的响应 仿真模拟培训系统也模拟工厂的 DCS 系统, 其操作画面 键盘 联锁响应和操作变量的响应均与 DCS 相同 综上所述, 仿真模拟培训系统包括两个任务 : DCS 系统的仿真和数学模型代替实际工厂的仿真 用计算机模拟实际生产装置和实际 DCS 控制系统, 来仿真一个实际工厂如图中下方所示 使用这样的模拟仿真系统, 可以对生产操作人员进行操作培训 仿真模拟培训系统是用数学模型代替实际工厂, 因而数学模型的好坏是仿真模拟培训系统质量的关键 2. DCS 系统的仿真 仿真模拟培训系统也模拟工厂的 DCS 系统, 其操作画面 键盘 联锁响应和操作变量的响应均与 DCS 相同 我们称之为 DCS 系统的仿真 DCS 系统的仿真也是仿真模拟培训系统的一个重要任务 通常有两种方法 : 2.1 DCS lin 仿真模型直接和 DCS 厂商提供的软件相连 如图 2 所示 :controller 可以是实际硬件, 也可以是软件 由于实际硬件价格很高, 通常采用 (DCS 厂商提供的 ) 软件仿真 controller 由于将过程模拟的软件包和 DCS 提供商的软件联起来 必须开发模拟平台和 DCS 提供商的 lin 接口软件 这种方法的优点 : 不必要开发 DCS 仿真的软件, 这是一个很费时的工作 因为要作到和 DCS 提供商的软件一样的操作界面不是一个很容易的事情 可以利用厂方提供的组态的文件, 对模拟培训系统的组态, 节约许多组态工时 模型的复杂控制和联锁搭接也可不必要进行了, 直接采用 DCS 的软件文件结构 这种方法的缺点 : 必须购买 DCS 的许可证费 通常是很贵的 DCS 开发商必须提供开放的接口, 才能开发 lin 接口软件 2.2 DCS 仿真的软件 (emulation) 开发一个软件去仿真 DCS 提供商的软件功能 这种方法的优点和缺点和正好和 DCS lin 相反 典型的 emulation 如图 3 所示 : - 2 -
通常国内的用户都选用 emulation 方案 由于他们通常不太愿意支付昂贵的 DCS 的许可证费 而国外的用户大都选用 DCS lin 方案 由于十多年的开发, 仿真公司已经开发了许多 DCS 的 emulation 但由于 DCS 供应商的版本不断的提高 仿真公司要不断的跟进, 已有 DCS 的 emulation 新版本的开发仍然是一个十分辛苦的工作 3. 化工过程的仿真 用数学模型代替实际工厂的响应称为化工过程的仿真 [1] 这是仿真培训器最核心的任务 我们从一个简单的例子来说明动态模拟的概念. 3.1 常压水容器模拟 - 3 -
一个敞口容器, 水从阀 V1 流入, 水从阀 V2 底部流出 容器的液面高度为 h 过程如图 4: 则 : 流入流量 : F1 = CV 1* SP1* ( P1 Atm) (1) 流出流量 : F2= 2* SP2* ( P3 P2) C V (2) 式中 : P 3 = Atm+ h* D (3) d ( S * h * d ) dt = F1 F 2 (4) 式中 : D: 水的重度 d: 水的密度 S: 敞口容器的截面积 CV 阀的流通能力 SP: 阀的开度. 计算关系如下图 : 依次计算方程 (1),(2),(4),(3), 积分时间不断地积累, 我们就可以模拟出敞口容器的动 态过程 这种算法叫序贯模块法 : 计算按模块的顺序进行 当然, 实际过程的仿真比这要复 杂的多 - 4 -
3.2 系统算法 如上例所示, 仿真算法采用序贯模块法 (2) 但实际过程要复杂的多 一个复杂的化工流程 ( 例 如合成氨和乙烯, 通常用近万个模块来表示 如图所示 : A1 A2 A3 A4 An 每个模块表示一个算法 : 动态模块方程一般为 : dx/dt = f( x,u,q,v) 其中 : u 为输入变量,x 为状态变量,q 为输出变量 v 为模块的参数 这种算法的优点是 : 组合灵活 ; 每个模块对应一个算法, 易于规范数学模型 ; 这种算法问题 : 保证实时, 模型不能复杂 近万个模块来表示一个复杂的化工流程通常需要在 1 到 2 秒内计算完, 才能保证操作工在 DCS 屏幕上操作流程任一部分模型有及时的响应 如果一个复杂的模型在某一个模块较长时间 ( 例如几秒 ) 计算的话, 操作工在屏幕上操作其余模块代表的流程就不会有响应, 屏幕就象冻结一样 这就决定了仿真培训器的模型不能太复杂 某一个模块 BLOC() 和整个系统的联系如图 6 : - 5 -
X ( t) = f ( X U V t) (1) Q ( t) = Q ( X U V ( t)) (2) ' X ( t + 1) = X ( t) + f ( X U V ( t)) * tcycle 对于 n 个 BLOC 的大系统 : Q (t) = (Q1 (t), Q2 (t)...qn (t)) (3) U (t) = (u1(t), u2 (t)...un (t)) (4) 且 X (t)=x (U, V, X,,t) 状态向量仅决定于 U, V 和 t 为方便起见 X (t),u(t),v(t) 有时简化为 X, U, V, 它们都是 t 的函数 Q ( t) = Q ( X, = Q ( X U, U, V V, t) t) 因为一个 BLOC 的输出是另一个 BLOC 的输入 定义 W ( t) Q ( t) W(t) = q(x(w, v, t), U(t), V(t), t) (5) q = (q1, q2,...qn) 动态模拟是解方程 (5) 模拟运行的总体框图如下所示 : 图中 : t=0, W=W(0) ( =1,2,3 n), 表示每个模块赋予 t=0 的初值, 对于整个流程来说, 是一组平衡的稳态初值 模型器通常保留两组稳态初值 冷态初值 (**COLD.IC), 稳态初值 (**SS.IC). 冷态初值是指设备处于开车时的状态 : 常温 常压态 稳态初值是指设备处于 100% 的负荷时的状态 ; 和客户 PFD 提供的数据要求吻合 t=t, W=W(t) ( =1,2,3 n) W(t) 是 time=t 时的一组稳态值, 我们通常 W(t) 称为 time=t 时的 IC, 或称为 time=t 时的快照 - 6 -
3.3 模块 (BLOC) 模块是仿真培训器的基本单元, 输入和输出如图 8 所示 化工流程是一个十分复杂的过程 仿真培训器是由成千上万个模块搭接而成 模块划分的原则如下 : 1) 保证模块的通用性模块划分太大会违反模块的通用性, 较小的模块往往会使之用到各处 2) 通常模块完成独立的物理功能 : 压力, 流量, 温度, 焓物性应该分开, 模块的连接应易于进行 3) 不同的动态特性应该分离, 用不同的积分方法 4) 模块的输入变量和参数在 Tcycle 内应认为是常数, 和状态变量关系不大 - 7 -
BLOC 属性 : 执行 RATE(Tcycle) 只对积分模块有效, 一次积分的步长 ; 执行 STATE 0 不执行 1 执行 模拟系统运行的时标 : 模拟系统可以加快或减慢, 其速率用时标因子来描述 : dx = f ( x) dt 采用另一种时间标度 : t = λτ, dx = f ( x) λdτ dx = λf ( x) dτ dt = λdτ 上式中,λ 是新积分的时标因子 ; λ>1, 加速 λ<1, 减慢 τ - 8 -
4. 数据软件结构 DCS 模拟培训器通常包括工程师站, 教员站和学员站, 软件结构图如下 : 模型的 DATA BASE 数据存储每个模块的属性 ( 计算顺序, 活性,RATE) 输入 输出和系数, 都存储在模型的 DATABASE 中, 系统工程师开发了系统管理程序, 来访问 DATABASE, 以确定模型访问的数据的位置 通常相连的输入或输出只占一个存储单元 每一个操作站都可以访问模型的 DATA BASE, 但互不干扰 5. 过程模块化 过程的模块化就是用模型库中的模型来拼接实际过程 由于化工过程和其操作的复杂性, 我们不能用模型库中的一个模块来表示 模型工程师应该尽量用模型库中的模型来模拟实际过程, 避免开发新的算法 了解实际过程的化工原理, 熟悉模型库中已有的模型, 是过程的模块化的基础 图 10 中 P1 是一个复杂过程, 过程模块化的目的是用模型库中已知的模块 PA,PB,PC 来拼接复杂过程 有些时候, 也是为了弥补实际算法的缺陷 将实际过程虚拟成几个过程组成, 这几个过程即为实际过程 以保证过程不失真, 即保证 : 能量平衡和物料平衡 对于集中参数的过程, 分解的模块 PA,PB,PC 的强度性质, 例如温度, 压力都是相同的 分解之后, 必须满足总个过程的容量性质和原过程 P1 一样 即焓和质量的平衡和 P1 一样 - 9 -
6. 展望 现代化的石油化工企业广泛采用集散控制系统, 推动了仿真模拟培训器制造行业的蓬勃发展 目前大的石油化工企业在新建装置投运之前, 都采用模拟培训器来培训操作工人 我国 90 年代以前, 模拟培训器都是由国外进口 自 1989 年化工部立项自行开发四川化工总厂二 (3) 十万吨合成氨项目以来, 二十多年来, 国内动态模拟仿真软件开发得到很大的发展 国内自行开发的仿真模拟培训器已占到仿真模拟培训器市场分额的一半以上 国内知名的仿真模拟培训器公司都有自己的开发平台 质量和国外的产品差距也不大 而价格却低得多 计算机速度的飞速提高, 给模拟培训器模型提供了充裕的运行时间, 仿真模拟培训器的 PC 机已经代替了原来的小型机 过去, 为了节约计算资源, 同时模拟一个大的石油化工流程, 模型需要做许多简化 今天, 由于计算机速度加快, 采用了更加复杂的模型, 计算的更加精确 例如, 物性计算已经采用了更加严格的物性方程, 甚至采用稳态模拟的物性方程 因而, 仿真模拟培训器除了培训操作工人以外, 可以作为简单的工艺研究的工具 开辟了更加广泛 (4) 的应用前景 Progress of Training Simulator System in Chemical Industry Xu Zhengyu (China National Chemical information Center, Beijing 100029) E-mail:xuzhengyuu@gmail.com Abstract: The basic concept and the progress of algorithm for training simulator was described in this paper that included DCS simulator, simulation for chemical process, sequential bloc algorithm for the simulator and bloc attribution and classing bloc. The structure.of simulator software was introduced in this paper that included engineer station, instructor station and operator station. The foreground of simulator development was described. ey word: simulation,dynamic simulation, simulator, 参考文章 [1] R.G.E.Francs Modeling and Simulation in Chemical Engineering. [2] 彭秉璞, 化工系统分析与模拟, 化学工业出版社,1990 [3] 许正宇. 化工过程的模拟培训器. 化工进展,1996,3:56-60 [3] 许正宇. 我国仿真培训器的发展历史和展望,. 化工进展,2001,3:81-86 * 作者 : 许正宇, 男, 清华大学化工系统工程硕士研究生, 教授级高工, 长期从事化工过程模拟研究 - 10 -