| mym |
2009-04-29 14:21 |
3.模型预估控制(MPC) [ 润树 ] 于:2007-10-07 13:46:47 MPC在十几年前开始红火起来,现在也还没有衰竭的迹象。从技术上来说,我想可能有两个重要的因素在起作用。一是其模型预估的功能,使一些比较难于控制的变量能够得到较好的控制,二是过程模型的建立使得多变量控制变得比较容易实现。其结果,当然必须在改善过程的生产效益,减少能源消耗,提高产能上体现出来。下面,我们就这两个因数具体地谈一谈。
为什么模型预估能够改善控制效果呢?这要从常规PID(比值加积分加微分)控制谈起。如图3.0.1所示的常规PID控制回路方框图,PID的输入e,是我们所希望过程要达到的设定点SP与过程实际输出值y之间的差值,我们把它叫作偏差。当这个偏差稳定在零或很小的数值时,过程就算达到了稳态。一但设定点改变,或过程受到干扰而其输出发生变化,偏差就不再是零,控制器就会通过PID的算法,来改变控制器输出即过程的输入u,来把偏差重新驱动到零。
图3.0.1 典型的控制系统方框图
问题是,究竟过程的输入应该是多少才能使其输出达到设定值,从而使偏差为零呢?PID控制器并不确切地知道,它所知道的是,如果偏差为正值,那么我应该大概增加多少过程输入(这里的过程增益为正),而如果偏差为负值,我就应该大概减少多少过程的输入。这里大概增加多少/大概减少多少的数值,取决于工程师根据对过程的认识来设定的PID参数。因此,参数设定得好,控制系统就能很快消除偏差;反之,则可能要经过很长的时间才能消除偏差(图3.0.2a),严重时偏差将在正负值之间来回振荡,导致系统长时间不能稳定下来(图3.0.2b)。
图3.0.2 不同参数设定下的PID控制响响应
显然,这里的关键是要知道过程的特性,即它的静态增益和动态时间常数(对于大多数的化工过程而言)。事实上,如果知道了该特性,那么一个理想的控制器算法不是PID,而是该过程函数的颠倒(inverse)。一个负反馈系统理想的算法,就静态来说,过程的增益和控制器的增益之乘积应该是1(即它们互为倒数);而就动态来说,过程是滞后的,那么控制器就应该是超前的。比如,一个用阀门开度来控制流量的过程函数是2 /(100S + 1),那么理想控制器应是(100S + 1)/ 2 = 50S + 0.5。也就是说,如果实际流量比设定值小2个单位,那么阀门开度应该增加1个百分度。现在我们用MATLAB仿真来看看这样的理想控制。由于是理想模型控制,我们甚至连反馈也不需要了。用Simulink的传递函数模块不能直接实现(50S + 0.5),但我们可以合理地用(50S + 0.5)/(S + 1)来近似。图3.0.3上方的两个显示分别是过程的输入和输出。我们可以看到,过程输出响应很快,几乎在瞬间就达到了设定点 (否则为什么叫理想?)。下方的两个显示是在缩短到前十几秒来看的输入和输出。
图3.0.3 理想模型控制的响应
当然在实践中,这样的理想控制是不大可能实现的,有两个原因:
1)从上例可以看到,由于控制器算法是一个很强的微分,它在设定点改变瞬间(零时刻)的输出是500,也就是说要阀门的开度达到500%,这显然是不现实的 (最大开度是100%)。也就是说,在实现模型控制时,必须考虑系统的约束条件。
2)无论用什么方法去获得过程的模型,这个模型不可能与过程实际特性完全一致。如果让系统处于开环状态,那么不但不能获得理想的控制效果,甚至连设定值都永远无法达到(没有PID的积分作用)。由于这个原因,模型控制仍然必须有反馈的机制,形成闭环控制。
在考虑以上两点的基础上,利用过程模型来预先计算(预估)过程输入输出在某一时段里的变化轨迹,从而对控制系统进行动态优化的MPC的三个基本方程就出来了:
问题: ( 1 ) Minimize Sum (e[i]’Q e[i] + u[i]’R u[i]) ,e[i] = x[i] - sp
满足: ( 2 ) x[i+1] = A x[i] + B R u[i], x[0] = x0
结果: ( 3 ) u”[i] = K[i]x”[i], i = 1, 2, …… , p
方程(1)中的e[i]’是过程偏差向量e[i]的转置,u[i]’是过程输入向量u[i]的转置,x[i]是过程的状态向量。这个方程提出的问题是,对过程的偏差向量加权的平方以及过程的输入向量加权(Q, R)的平方之和进行最小化。传统上,动态优化控制只考虑控制偏差e的轨迹,而这里输入u的的变化轨迹也成为了一个优化变量,这是因为,u的变化不但要受到物理条件(比如阀门开度不能大于100%)和安全生产(比如压缩机速度不能变化太快)的约束,而且它们的变化本身与生产成本有很大关系。在化工生产中,很大一部份的u都与能源的使用有关(裂解炉的燃料,精馏塔再沸器的蒸汽等等)。
方程(2)是用状态空间函数来描述的过程动态和静态特性。不同的MPC产品,也可能用不同的数学形式来描述此特性。
方程(3)中的u”[i]和x”[i]是求解方程(1)所获得的过程优化输入输出变量值。K[i]是在求解方程 (1) 所对应的黎卡的(Ricatti)方程所获得的状态反馈增益矩阵。
在实际的MPC计算中,还必须加入输入和输出的约束条件(通常用不等式来表达),以及从过程的实时检测来校正过程模型误差,因此比这里的三个方程要复杂得多。如果再应用到多输入多输出的控制系统中,其计算量更是庞大。我们在这里就不深入讨论了。对MPC的理论和计算有进一步兴趣的朋友,可以参考其它文献。这里向你推荐下面这篇论文。
链接出处
使MPC热门的第二个因素是它在多变量过程控制中的应用。传统的过程控制系统是单输入单输出(SISO)的,这对于一些简单的控制回路,像流量,压力,温度等,是很有效的,完全没有必要用MPC。但是如果要通过控制来提高某个生产装置的生产效率,就必须有一个大的控制器来对各SISO系统进行整体的协调,这就诞生了多变量的MPC。事实上,现在工业界说到MPC,都是指多变量的模型预估控制。
在此控制器中,可能有M个控制变量(manipulated variables, MV),N个被控变量(controlled variables, CV)。取决于实际的应用对象,将可能出现下面三种情形:
1)M > N,有无数个解,所有的CV都可被控制在设定值上。 2)M = N,有唯一解,所有的CV都可被控制在设定值上。 3)M < N,无解,不能将所有的CV都控制在设定值上。
由于实际应用中有众多的约束条件,以上3)是最常见的。在这样的情况下,多数CV都是被控制在某一范围之内,而不是在某一个设定值上。
MPC的输出,一般都不是直接送到生产管线上的执行单元,像阀门,电机等,而是作为SISO控制回路的设定值。这就形成了两个级别的控制系统。第一级是常规控制,大约每秒钟计算一次控制器的输出;而MPC是第二级控制,大约每分钟进行一次这样的计算。比如一个精馏塔,在常规控制下,它的塔顶回流是由一个流量调节器控制的,它的再沸器蒸汽流量是由塔底温度调节器控制的,但是这两个调节器的设定点(希望的回流量和温度值)则是由操作工手动设定的。而在MPC控制下,这两个设定点就可能成了MV,MPC通过调节它们的数值来控制塔顶和塔底产品的成分指标,形成一个2 x 2的MPC。当一个MPC所覆盖的过程很大很复杂时,它可能会有十几个甚至几十个MV和CV。
MPC在提高化工生产过程的效率上,主要着眼于以下几个方面:
1)提高原料转换成产品的转换率。这即可能体现在反应器的转换率上,也可以体现在把反应出来的产品尽可能多地从副产品中分离出来的过程中。MPC通常是通过提高过程的稳定性以及卡边操作(将某些CV推向低限或高限)等手段来达成的。
2)提高产能。一个生产装置在设计并投入运行以后,生产者一般都会通过改善操作条件来获得更高的产能,但往往会受到某些约束条件或瓶颈的限制。MPC可以将这些约束条件推倒极限,因而使装置总是处于最大产能的操作状态。
3)降低能源消耗。除了一些卡边操作的手段外,MPC的动态优化控制在这方面具有先天性的优势。
我们将在下一节讲到MPC的软件及其应用时,就MPC在提高化工生产过程的效率上举例作详细的说明。
故事(三) [ 润树 ] 于:2007-10-07 14:03:03 1990年,我踏入美国过程控制的领域,一开始就是在C公司做MPC方面的产品。此时,由在工业界首吃螃蟹,开发和实践MPC的Charlie Cutler所创办和领导的公司DMC(Dynamic Matrix Control),已经在石油炼制厂应用它的DMC产品闯出了名号。C公司的老板和M博士则看上了天然气处理厂这块处女地,决心开发出为这个工业服务的MPC产品。M对化工领域的机理模型情有独钟,且非常了解天然气处理厂的技术和经济原理,想走建立机理模型的路,而不是像DMC那样由工厂试验数据来获得线性模型。我那时刚从学校出来,学了些化工理论,也不大喜欢那种线性模型,对M自然是顶礼膜拜。但后来我们的产品也没有用上机理模型,因为计算实在太复杂了,难于在线实时实现。最后我们是通过仿真产生大量数据,然后用数理统计的方法来找出多变量之间的静态关系(可以是非线性的),再从少量的工厂测试找到动态特性。这样的模型,从理论上来说,应该说不比DMC的模型差,而且在应用中也确实取得了一些成功。但由于模型的非标准性,在软件的实现上也就难于做成标准化的通用软件。不过我们在天然气加工领域的成功,也引起了DMC的注意,他们也加入了竟争。DMC副总裁还写信向我索要在ISA年会发表过的文章。其实我很清楚,此文章他根本无需向我要,他可能是在向我传递可到他那里工作的信号。我此时仍不认为DMC是多了不起的产品,而且觉得如此跳槽到自己公司的竞争对手有些不符合职业道德,回了他的信后就没有再和他联系。后来有个比我低一级的校友Z博士,也是控制专业的,从外州来,要去DMC面试。他先和我见了面,我说你可以向那个副总裁说是我的朋友。他获得DMC录用不久,Aspen Tech收购了DMC。他在十年前就回中国为Aspen打市场,听说商业上做得很成功,但DMC技术上的应用并不好。
C公司产品的一个致命弱点是开始没有采用MPC的标准算法,而是运用多变量的Smith预估器原理,因此在业界并未被看作真正的MPC产品。后来该产品经过改进,C公司竟被通用电气(GE)收购,公司的投资人应该获得了不错的回报。顺便说点八卦。与我同时被C公司录用的,还有一位北京来的才俊,他负责软件的编程。熟了以后知道,其父是1948年的斯坦福物理学博士,后来任职于中国科学院;其母是中国的第一代女飞行员;其泰山大人是中国当时赫赫有名的一位大学校长。一年多以后,我还帮助大学时的三位同班同学进了C公司。在高峰时期,这个30来人的公司,竟有9人来自中国。但正像某位河友在一篇文章里说过的那样,人就像刺猬,靠太近了就不行。为了更好地发展,我们后来都各奔东西。
不过咱们中国人占了世界人口的五分之一强,到哪儿都是一个不小的分数。而你碰巧又是做自动控制这一行的话,这个分数就会更大一些了,甚至可能成为某部门的Majority。话说我1994年离开C公司,加入了R公司,这是家做工程与建筑(E&C)的大公司,颇有名头。它有一个专门做石化工业的部门,我进了其先进过程控制(APC,advanced process control)组。其实这个公司此前并没有什么搞APC的专家和经验,但在接了设计60万吨乙烯厂的任务后,就想罗致一些搞APC的人手。有了项目有了钱,当然就好办事,一时之间,该组就从最初的3人扩张为8人。其组成,你猜怎么样?除了正组长,其余全是老中,其中还有两位高挑的清华MM。这可好,一屋子的刺猬!不过说实话,我们大家相处还是很不错的,中午很多时间都是一起到外面去吃饭,附近众多中餐馆的广东式茶点(dim sum),成了我们的标准午餐。但有和谐,也会有斗争。本组副组长大概是看自己人多势众,他又是这里的元老,还有后台,就想和正组长斗斗法。下面的人当然就要选择站边,长此以往,看在我这样喜欢干净的人眼里,就有些不入目的事情发生。而且大家在想,这个项目做完了,下面怎么办?这几乎是所有在E&C公司工作的人要经常面对的问题。天下哪有不散的宴席,还是先逃吧。我于是进了化学品生产公司H。那是1996年。
这次是在公司的R&D部门,还是控制组。组里除了搞仪表的外,做控制的连我共4个人,但老中却只占了四分之一。我做得还不差,先以动态仿真站住了脚,再帮助厂里的控制工程师搞了一些常规控制系统的改进。那时化学公司在MPC的应用上都比较保守,一是安全生产要紧,不出事保证产品能天天源源不断地生产出来才是上策;二是担心MPC的线性特性不适合化学品生产的控制。因此我们虽然知道MPC的一些优越性,要在工厂里普遍实施却有很大阻力。[url]http://www.ccthere.com/article/1276086[/url]
中国人对旧时军阀–商人–先生之间的关系有很好的归纳,我举三反三,把公司里的上层管理–生产部门–技术人员也来作一个描述:技术人员不敢得罪生产部门,因为他们的项目预算和实施都必须得到生产部门的支持,生产部门对上层管理必须服从,不然吃不了兜着走,没有谁是不可替换的;上层管理对技术人员有些敬畏,到底生产过程要依靠他们来不断改进。因此,2001年,当公司新上任的总裁一声令下,在公司里全面实施APC时,所有阻力都不见了,整个公司都动了起来。此君是GE前总裁Jack Welch的信徒,员工们知道Six Sigma的不多,但那个百分之十是怎么回事却大体听说过。
不久一看,我们组的十分之一好像是组长。他此前推动APC不力,虽暂未遭到免职,上面却另外命名了一个年轻人领头,成立APC老虎队(Tiger Team),到公司的各大厂家去做调查,找出第一批实施MPC的对象。他当然知道上面是什么意思,很快就自动退休了。我代表R&D,忝列老虎队,到外面转了一圈,回来后就全力扑在MPC上了。六年下来,我们公司在同类公司中,就所有生产装置而言,可能是MPC安装率最高的。而我以前的三个同侪,也都或退或离不在了。但这个组搞控制的人员,却有增无减,目前是8位。你再猜一猜它的组成?4个老中,不少了,两分天下有其一。形势喜人呀,但愿我不再需要逃走。[url]http://www.ccthere.com/article/1276086[/url]
3.1 模型预估控制通用软件及其应用 [ 润树 ] 于:2007-10-13 18:25:29 目前在化工界获得广泛应用的MPC软件有Aspen DMCPlus, Honeywell Profit Controller(RMPCT),Adersa HIECON/PFC, Invensys Connois, SGS SMOC等。它们的控制原理都是基于本章上一节所阐述的MPC基本方程,但在许多细节的设计上有差别,体现在建模的方法,模型的形式,反馈方式,优化目标函数及其约束,输出轨迹和区间,求解方法等等。尽管这些差别导致了不同软件在应用上的非标准化,但是它们的实施步骤却是大致相同的,归纳于下:
1) 对应用对象进行先期调查,分析该过程的历史数据,找到控制系统可以改进的空间并估计其经济效益,规划MPC控制器的结构,定义控制变量(MV)和被控变量(CV),确定是否需要附加检测信号。然后根据调查结果提出报告,报请主管部门批准。做这样一个项目,如果能在半年至1年内收回投资成本,一般就能获得批准。
2) 一旦项目获批,即可对过程进行测试,也就是对过程的输入加以人为的扰动,以观察和记录过程的输出对这些扰动所产生的响应。现在的测试方法有自动和手动可供选择,扰动信号即可是阶越也可是伪随机二进制的形式;既可在预定时间段里只对单个变量进行扰动,也可对多个变量同时扰动。如何选择,取决于使用的软件,过程的特性,和使用者的偏好。无论采用何种方法,这一环非常重要。如果没有好的数据,下一步的建模就成了垃圾进垃圾出。为了从DCS获取数据,在这一阶段还必须建立MPC服务器与DCS之间的数据传送接口。
3) 用过程辨识的软件对测试的数据进行处理,以建立过程输入和输出之间的动态模型。理论上,对于一个MxN的控制器,用软件在几分钟内就可以把MxN的动态模型矩阵建好。但直接把这样的模型用于控制器,不但不可能获得好的结果反而会造成灾难。有经验的控制工程师必须根据自己对该过程的认识,对每一个模型进行定性分析和定量估计,使其尽量接近实际过程;而后再确定将哪些模型留在矩阵中,哪些去除。需要这样做的原因在于,从2)获得的数据不可能都是在理想测试条件下产生的,往往需要对单个变量在特定时段里进行辨识,才能得到合理的模型。
4) 控制器的组态,也就是设定每一个MV和CV的特性参数,比如它的变化区间,加权因子等等。
5) 对控制器进行仿真,通过改变CV的上下限,观察能否获得设计时所预期的效果,也可为控制器的参数整定提供借鉴。
6) 制定控制器的操作规程,对操作人员进行培训。
7) 将控制器投入实际运行,并对其进行调试。达到预期目标后将控制系统交付过程的操作者。
8) 根据一段时间里的控制结果,对预期的经济效益进行验算并提出总结报告。
从以上步骤,我们可以看到,MPC控制系统的实施,并没有一个科学的定义,在很大程度上是工程师技艺的展现。特别是关键的3)和4)。也就是说,对于同一个过程,每一个工程师做出来的控制系统的结果可能都是不一样的,甚至出现很大的差别。但是,随着MPC软件的不断改进,以及人们对它的认识越来越丰富,其应用已越来越普遍,实施的效率也在不断提高。在通用MPC投入市场的初期,只有少数工程公司的专家才能使用,而且实施的时间常常要好几个月,费用往往在几十万美元之数。而现在工业界的很多用户内部,都有了能够实施MPC的人才,所需时间缩短,费用也随之降低。
下面我们就来看一个用DMCplus来控制某有机盐生产过程的实例。图3.1.1是该过程的流程,它主要由三个塔组成:
图3.1.1 正丁基酯生产流程
T-1是一个反应器加共沸物蒸馏塔,反应物正丁醇(nBuOH)与乙酸(HAc)在塔釜内进行酯化反应生成正丁基酯(nBuAc)和水(H2O):
nBuOH + HAc = nBuAc + H2O
反应产品酯和水,以及少量的反应物醇被蒸馏到塔顶,在塔底没有物料流出。在塔顶的回流罐里,有机物和水分层,并按操作需要分别回流。控制系统的难点是,要保证反应器内的组分(1)满足物料平衡,(2)有利于正向反应(乙酸成分要高)以及(3)水和酯的共沸(azeotrope)条件,(4)同时要防止乙酸被蒸发到塔顶(与(2)矛盾),造成设备腐蚀和产品超标。由于塔底的进料除了反应物外,还有从中间罐来的循环流,反应器内组分容易受到干扰。而由于催化剂的缘故,塔底组分又难于得到可靠的在线分析。这两个因素加大了控制的难度。
T-2 是产品精馏塔,进料是T-1回流罐里的有机物层,含有酯,醇,和少量水。塔底将得到成品酯,塔顶的有机物和水分层,有机物经中间罐循环回T-1,水则送到T-3。塔底产品有在线成分分析,醇的浓度必须控制在0.4%以下。为了降低单位产量的能耗,提高产品回收率,应将塔底醇的浓度控制在尽量靠近0.4%的数值,同时降低塔顶精馏物中酯的浓度,这就是所谓卡边操作。
T-3是醇回收塔,进料来自T-1和T-2塔顶回流罐的水液层。塔顶回收的醇经中间罐循环回T-1,塔底的水送至废水处理场。这个塔容易控制,但应尽量降低能耗。
为这个过程实施MPC控制系统时,除了需要解决以上的控制难点外,还要求尽可能提高产能。事实上,对于众多的MPC应用项目,通过将装置推向约束极限来提高产能,是控制系统获得经济效益的主要手段。
在工厂测试时,对所有预期的MV的设定值进行了多次不同方向的阶跃改变。分别用有限阶越法(finite step response, FSR)和子空间sub-space)法建模所获得的初始动态矩阵如图3.1.2所示。从图中我们可以看到,用不同的方法获得的模型是有差别的,有时连方向都相反。工程人员不但必须对每一个模型进行仔细分析,决定取舍,有时可能还要对单个模型进行反复计算,以期获得有效模型。
图3.1.2 过程动态矩阵
为了检查某个CV的预估值是否足够准确,可将它与实际值进行比较,如图3.1.3所示。
图3.1.3 水组分的预估值与实际值的比较
前面提到,反应器的在线成分分析不可靠,常常会给出不合理的数值,因此必须找到适当的被控变量作为成分变量出现问题时的后备。在建模时发现,塔底温度与反应器的水的成分和第6块塔板的温度与乙酸的成分之间存在较强的相关性,因此这两个温度被包括在控制器里作为CV。在控制器的计算单元,通过逻辑功能来判断在线分析是否正常,以确定是否将组分CV切换到温度CV。
对于这个过程,可以设计一个有三个分控制器的MPC来控制,每个塔由一个分控制器控制,但有些变量可以相互跨越。T-1分控制器是关键。它的MV和CV定义如下:
变量 控制策略
MV1 - 塔底注水 控制反应器内水的成分和再沸器蒸汽阀门的上限 MV2 - 水层回流 控制反应器内水的成分和再沸器蒸汽阀门的上限 MV3 - 有机回流 控制塔回流塔内水层的导电值和第35块塔板的温度 MV4 - 塔底蒸汽 控制T-1和T-2的塔压差上限 MV5 - 酸/醇比例 控制反应器内酸的成分 MV6 - 循环流量 这是一个前馈变量
T-1 CVs
CV1 – 水成分 作为伪积分变量,控制在设定点。 CV2 – 酸成分 作为伪积分变量,控制在设定点。 CV3 – 导电值 反映酸的微量成分,可推向上限。 CV4 – 蒸汽阀 控制在限定范围内。 CV5 – 塔压差 反映产能,推向上限。 CV6 – 塔底温度 反映水的成分,控制在设定范围内 CV7 – 板6 温度 作为伪积分变量,反映酸向塔顶蒸发,控制在设定点。 CV8 – 板35 温度 反映醇向塔顶蒸发的程度,控制在设定范围。 CV9 – T-2压差 反映产能,推向上限。
根据既定的控制器策略,确定了这个分控制器的动态控制矩阵,如图3.1.4所示。
图3.1.4 控制器动态矩阵
我们拿出其中有机回流与导电值这个模型来看一下,如图3.1.5所示。从这个模型我们知道,控制器到达稳态的时间是4个小时。在有机回流1个GPM的阶跃作用下,塔顶回流罐水层的导电值在滞后大约25分钟后开始响应,以貌似多个一阶响应叠加的形式递减,4小时后稳定下来,降低4.96微欧姆。
图3.1.5 塔顶水层导电值的动态模型
同时请注意到,模型中有些变量的动态特性是直线的形式。对于这些变量,我们称它们为积分或伪积分变量。比如一个截面不变的开口容器的液位,如果其输入变量(如进口流量)产生一个阶跃变化,而输出变量保持不变,那么液位将随时间线性上升,直到从上端溢出。为了保证安全生产,MPC对这些积分变量是控制在设定值,而不是像一般变量一样任其在上下限之间变动。在一个大的干扰下,如果控制器计算出不能再现定时间里将其控制在设定区间内,它就会将控制器关闭。还有一些变量,像反应器内的反应物成分,如果它的进料流量阶跃增加,而其它反应物流量保持不变,那么它的成分在有限时间里也将线性上升。如果这类变量超出范围并不对安全生产构成威胁,控制器无须关闭,就可以把他们作伪积分变量来处理。在本例中,反应器的水和乙酸成分,以及塔底和塔板6的温度,都是作为伪积分变量来处理的。
控制器的动态模型确定以后,就可以将它输入到控制器组态软件里对控制器与DCS的接口参数,以及MV和CV的性能参数进行设定。如图3.1.6和3.1.7分别是控制器中某MV和CV的部分参数。
图3.1.6 MV的参数组态表
图3.1.7 CV的参数组态表
控制器参数设定好以后,可以对控制器进行动态仿真,看它的控制作用是否符合设计的控制策略。也可输入一个与控制(预估)模型不同的过程模型,来研究控制器对模型失佩(model mismatch)的容忍度。图3.1.8和3.1.9分别是MV和CV的仿真显示,在实际操作时,操作工可改变MV和CV上下限数值。图3.1.10是水的成分控制在其设定值该变后的响应。
图3.1.8 MV的仿真显示
图3.1.9 CV的仿真显示
图3.1.10 水组分控制对设定点改变的响应仿真
在以上这些设计工作完成以后,需要用文件记载下来,并且做出一个标准操作手册,供MPC的培训和实际操作之用。
T-2和T-3的设计不做详细说明。下面略述这个过程在MPC控制下的结果。
T-1的控制稳定性有很大改善。MPC实施前,一旦有乙酸被蒸发到塔顶,操作工将手动加大水和有机物的回流,降低酸和醇的控制比例,这样就会严重影响产量,常常要十几个小时才能回到正常操作状态。稳定性提高后,控制器可以安全地增加再沸器蒸汽流量,直到其受到塔压差上限的约束,如此使产能上升,并使单位产品的能耗降低。这个装置可不定期切换用来生产多种醇的酯化物。图3.1.11将MPC应用前几个正丁醇酯的生产周期的产量与MPC实施后一个生产周期的产量进行比较,后者高出前者6.8%,经济效益十分可观。
图3.1.11 MPC实施前后的产能比较
T-2的改善主要体现在减少塔顶的重组分(酯)和塔底轻组分(醇)的卡边控制上。这两者都使塔底产品的收率提高,单产能耗降低。图3.1.12是塔底轻组分(醇)的控制结果的比较。
图3.1.12 MPC实施前后产品成分的控制比较
T-3在常规控制下,某塔板的温度与再沸器蒸汽流量构成串级控制。由于该塔板上的组分差不多是100%的水,它的温度控制设定点只要稍高于平衡点,PID控制器的积分作用就会不断增加蒸汽,而实际温度仍不能达到设定点,造成蒸汽的严重浪费。而MPC只要将该温度控制在上下限就行了,优化目标函数总是尽量减少蒸汽流量,结果使该塔能耗降低60%。
整个过程的单产能耗降低了9%。
3.2 太极自适应模型预估控制* [ 润树 ] 于:2007-10-24 15:36:20 从本章前面的叙述我们可看到,MPC的实施远非一件易事,除了要求实施者具有全面的过程和MPC知识外,步骤也比较复杂。太极模型预估控制器的面市,就是试图将MPC的实施尽可能的简单化和程序化。
太极控制(Tai-Ji Control)是设在荷兰的一家自动控制系统软件开发公司,由朱豫才博士创立。该公司开发出的太极模型预估控制系统,将(1)过程测试,(2)模型辨识,(3)控制器参数设定,(4)仿真,(5)在线控制这五大功能,全部集成在一个在视窗平台上运行的软件包里,其中(1),(2),(5)可连续自动实现。图3.2.1是该系统的人机界面。与之相比较,目前Aspen 的DMCplus,仍将这些功能分成五个软件包分步骤实施。
图3.2.1 太极MPC控制系统人机界面
太极控制的过程测试和模型辨识是基于多变量的渐进法,朱豫才博士在此领域有专著论述(《Multivariable System Identification for Process Control》by Yucai Zhu, Elsevier Science Ltd, Oxford, UK, 372 pages, ISBN: 0-08-043985-3,2000)。它的基本方法是,在控制工程师设定好控制器的控制变量(MV)以及它们在测试时的最大变化幅值,干扰变量(DV),和被控变量(CV)以及它们的稳态时间后,系统可在开环或闭环的条件下,以GBN(PRBS)模式输入激励信号对过程进行自动测试,并由获得的测试数据进行模型辨识。识别出来的模型按频率响应法的准则被分别标示出A, B, C, D四个品质等级,便于取舍。过去,做一个MPC项目时大约有30-40%的时间是消耗于这个过程,而且形目的成功与否很大程度上取决于模型的品质,太极控制在这方面的开创性工作和成效,对于今后MPC在各工业界更广泛的应用,是至关重要的。
Tai-Ji MPC的设计思想是,在一个MPC项目实施时,只要工程人员在前期作出该MPC的结构设计和参数设定(design and parameterize,D&P),上述的(1)(2)(5)的所有工作可由该软件系统连续自动完成。这样不但可以将目前一般要二至三个月的项目周期缩短到二至三个星期,而且实施过程接近于标准化,减低了人为因素带来的不确定性。这几项任务在Tai-Ji MPC中的实现分述于下。
结构设计和参数设定
这项任务须由对应用过程和MPC有相当了解的工程人员来完成。图3.2.2是控制器的结构设计表。在这个表里,工程人员必须决定哪些过程变量是MV和DV,哪些是CV,并设定它们的相关参数。
图3.2.2 太极MPC组态表
图3.2.3是控制矩阵的预期表,即工程人员根据自己的过程的认识,预先估计各模型的增益方向,和确定哪些模型是不可能/不需要出现在该矩阵之中。这样做有利于减少建模计算量,提高模型精度。
图3.2.3 太极MPC控制矩阵预期表
图3.2.4是系统自动产生的MV激励信号。这些信号是并行的,可连续不间断产生,大大提高了测试效率。
图3.2.4 太极MPC过程测试时的MV激励信号
过程测试和模型辨识
图3.2.5是辨识出来的过程模型。其中标示为A,B级别的,可直接用于控制模型矩阵之中,而C,D级别的要么表明它们不重要,要么还需要修改测试计划,作进一步辨识。同时可以对辨识出来的模型进行仿真,观察模型预估值与实际值的拟合程度,如图3.2.6所示。
图3.2.5 太极MPC辨识出的过程模型
图3.2.6 模型预估值与实际值的拟合程度仿真
如果测试是在闭环的状态下进行,辨识出来的A,B等级的模型可立即投入闭环控制。因此,当所有的模型都达到品质要求时,控制器的在线闭环控制试验也完成了。
太极控制目前还在开发自适应的功能,组成一个“控制 -- 监测 -- 辨识”的闭环系统。它的目标是,用一个在线监测的模快来评价MPC的闭环控制品质,当该品质降低到预定指标时,系统将启动辨识模块,对过程重新进行辨识,使控制器自动适应过程的特性变化。
有关太极控制的详细资讯,可参见以下链接:
链接出处
*获朱豫才博士同意,本篇材料均取自他和太极控制发表的相关文章,特别致谢。
4.过程静态最优化(PSSO) [ 润树 ] 于:2007-10-30 15:43:51 在MPC一章里,出现了动态和静态优化的概念,也就是根据MPC的线性模型来计算过程最佳静态操作点和到达此点的动态途径。但是由于其模型没有全面地(MPC的变量只是过程所有变量的一部分)和准确地(忽略了过程的非线性)反映过程的特性,只能说它是一个片面/局部和近似的优化。
所谓过程静态优化(PSSO,process steady state optimization)则是一个远在MPC之前很久就出现了的古老命题:
给定过程的目标函数 J = f(x1, x2, x3, ……, xn),在x的约束条件下,找到优化变量x1, x2, ……, xn的值,使J最大化或最小化。
传统上,有两种方法来实现PSSO,一是通过过程的数学模型来计算(模型法),二是在线搜索(搜索法)。模型法中用到的模型,既可以是基于第一原理的机理模型,也可以是经验模型,或两者的结合,在MPC之前,大多是离线实现。也就是说,通过人工或计算机的计算,找到最佳静态操作变量的设定值,然后手动改变这些变量来实现优化。有了MPC后,PSSO所计算出的最佳变量设定值通过这两个系统间的接口传递到MPC自动实现。因此,PSSO可看着是位于MPC之上的一级控制系统。而在线搜索法则是直接改变优化变量的设定值,然后观察目标函数的变化方向,一步一步地去逼近最大/最小值。
最优化,从本质上说是一个数学问题,我们在高等数学中都学习过了。对于线性和低阶的目标函数和约束条件,可以用求导数和代数的方法来求解,而对于高阶和非线性的目标函数或约束条件,则需要用到更复杂的数学方法,像单纯型法,非线性最小二乘法(NLLS)non-linear least squre),分步二次规划(SQP,sequential quadratic programming),总体降梯度法(GRG,generalized reduced gradients)等等。MATLAB之Optimization Tool Box是用来求解此类问题的好工具。但这里我们不对这些数学方法作进一步的讨论,而将焦点放在过程优化的含义及其具体的工程实现。
我们先来看一个精馏塔。如图4.0.1所示,这个塔的操作目的是将进料中的二元主分Ca和Cb分离成塔顶的轻主分和塔低的重主分产品。一般地,这个分离过程是非理想的,即塔顶会有重主分杂质Xb,而塔底也有轻主分杂质Xa。现在的问题是,怎样的分离才算经济上最优。
图4.0.1 二元精馏塔的分离示意图
我们可以定义这个过程的优化目标函数如下:
J = 产品所得 – 原料成本 – 能源成本 = Fa*$a + Fb*$b - Ff*$f - Qc*$c - Qr*$r (1)
式中, Fa和$a – 塔顶产品流量和价格 Fb和$b - 塔底产品流量和价格 Ff和$f – 进料流量和价格 Qc和$c – 冷凝量和价格 Qr和$r – 再沸器热量和价格
约束条件是: 塔顶和塔底的杂质主分小于产品指标值 Xa <= Xa_spec, Xb<=Xb_spec (2) 冷凝器和再沸器能量受限于最大设计值 Qc <= Qc_max, Qr <= Qr_max (3)
由该塔的物料平衡,我们可以得到: 塔顶产品 Fa = Ff (Ca-Xa) / (1-Xa-Xb) (4) 塔底产品 Fb = Ff (Cb-Xb) / (1-Xa-Xb) (5)
对该塔的能源消耗,我们有经验公式: 冷凝量 Qc = Ff (c1 + c2*Xb + c3*Xb*Xb) (6) 再沸热量 Qb = Ff (d1 + d2*Xb + d3*Xb*Xb) (7)
将(4)-(7)代入(1),可得 J = f(Ff, Ca, Cb, Xb, Xa, $a, $b, $c, $r) (8)
在给定Ff, Ca, Cb, $a, $b, $c, $r的情况下,(8)式中只有Xa和Xb是优化变量,而如果塔底产品价格高于塔顶产品价格,即 $b > $a,那末Xa应控制在其上限(低价值组分作高价值产品),就是所谓的卡边操作。这样就只剩下唯一的优化变量Xb,可以很容易的算出它的优化值是15%,其对应的最大值J是$1006/小时。既然b主分价值高于a主分,为什么不尽量将这个数值控制在最小值呢?这是因为,要获得那样的结果,就需要加大回流量,导致冷凝量和再沸热量的消耗都上升,而抵消或超过由更多的塔底产品所带来的经济利益。图4.0.2是用MS Excell计算的图像显示。顺便说一下,MS Excell里的Add-Ins Solver也可以方便地用来求解复杂的优化目标函数。
图4.0.2 优化分离的图像显示
这个例子很间单,旨在用来说明化工过程中优化概念。实际的情形要复杂得多,我们将在下一节用Aspen Plus 的Real Time Modeling and Optimization来详细考察。
这里提出一个数学上臭名昭著的Banana函数优化问题,有兴趣者不妨用MS Excell里的Solver去求解一下。当然用其它方法也可以。
J = 100*(X2 – X1^2)^2 + (1-X1)^2
求解J的最小值,无约束条件。^2是平方算子。
4.1 Aspen Tech的静态优化软件 [ 润树 ] 于:2007-11-12 18:43:45 Aspen 的实时优化(real time optimization, RTO)是用模型法来作过程静态优化的代表。它是在其原有静态仿真软件Aspen Plus的平台上,加入参数估计(parameter estimation),数据重整(data reconciliation),优化(optimization)这些功能而构成的一个循环计算系统。这个系统通过在线接口与实时控制系统连接,读入过程变量,经过前述循环计算后,将优化变量值输出到实时控制系统,达到过程静态优化的目的。
那么为什么一个优化系统需要有这么一个循环计算过程呢?我们首先对一个优化系统中的变量进行分类,然后解释各计算功能的作用以及这些计算是如何实现的。
一个过程优化系统有过程输入X,操作条件O,模型参数U,以及输出Y和Z四大类变量。我们以前讲到的静态仿真,它所有的模型(数学表达)都是建立在“封闭形式”(closed form)基础上的,即在给定X,O,和U的条件下来计算Y和Z:
Y = f(X,O,U)
Z = f(X,O,U)
这种结构的模型,是通过“程序模块式流程”(sequential modular flowsheeting)的计算方法来求解方程的,必须满足下列收敛指标:
1. 过程设备和产品的设计指标 2. 外循环回路 3. 内循环回路 4. 物性
要对一个过程进行优化,显然不能将输入和操作条件固定起来(它们中的一些变量将被选择为优化变量),因此上述仿真的求解模式是不适合的。这就产生了过程模型的“开放形式”(open form)的数学表达,既
0 = Y - f(X,O,U)
0 = Z - f(X,O,U)
在这组方程中,变量可以是固定的,自由的,和有自由度的,而它们各自状态的选择,取决于下列优化过程中的循环计算模式:
模式 X O U Y Z
仿真 固定 固定 固定 自由 自由 参数整定 固定 固定 自由 固定 固定 优化 自由度 自由度 固定 固定 固定
简单地说,仿真是在输入和参数都固定的前提下来计算输出;参数整定是在给定输入和输出的条件下来找到适合的模型参数(对模型进行校正);优化是在给定参数和满足输出要求的情况下来寻找能使目标函数最大/最小化的输入。优化循环计算的第四个模式是数据重整(data reconciliation),即根据过程的测量值,来对模型的参数进行优化,使模型计算值与过程测量值之间的误差最小。典型的模型参数有精馏塔的塔板效率,热交换器的热交换系数,化学反应器中催化剂的活性系数等。
求解开放形方程的方法是方程取向型(equation oriented, EO)的流程计算法,它的特点是,每一个单元操作都是由开放型的模型来描述的,一些连接方程把这些模型串联起来,然后由一个全局求解器同时趋动所有变量,来寻找使开放方程的残差趋于零的变量值。此种方法可很好的处理那些具有复杂的循环和热量综合利用的过程,其精确的微分解析值能加快找到答案,适用于大型过程,优化求解与仿真求解费时相当,整体效果好。Aspen将这个求解器命名为循序二次规划(successive quadratic programming, SQP)。
从理论上说,RTO可以直接与DCS接口而独立运行,但实践中,从约束条件和系统稳定的角度出发,它一般都是和MPC系统共同操作。因为MPC本身也有优化功能,我们需要对它们作一个比较,如下所示:
MPC的特点 RTO的特点
系统介于DCS和RTO之间 系统介于MPC和工厂计划系统之间 从工厂测试获得线性经验模型 从第一原理建立机理模型 高频优化计算和实现,以分钟计 低频优化运算和实现,以小时计 小范围局部近似优化 大范围全局精确优化 经济指标不经常更新 源于产品价格变化等因素,经济指标经常更新
这里对优化实现频率的问题要作一个说明。RTO之所以计算频率低,除了计算量大难以收敛外,更主要的原因在于,过程在接受新的优化变量值后,需要相当的时间才能到达新的平衡态。而RTO必须在系统到达平衡态以后,才能进行下一次的优化计算,否则,可能将过程导入偏离优化点的状态。
RTO项目费时很长,一个并不非常复杂的化工过程可能都要一年以上才能完成。主要的工作是在建模上。Aspen Plus虽然提供现成的单元操作模型,但很多化学反应的模型常常只有该产品的生产厂家才有。这些模型都是在过去长期实验的基础上建立起来的,大多是用很老的计算机语言写成的。要把这些程序转换到Aspen Plus中需要做大量工作。这一方面我们以前在过程仿真的章节里作个一些介绍,这里不详述。
在前述的所有工作都完成以后,即可将系统投入运行。此后的工作将依赖于工厂的技术人员对系统进行维护。实践证明,这是一项非常严峻的任务。由于系统在运行中需要在过程静态的判断,参数的整定,数据的重整,优化等几种模式之间转换,任何一环出现问题都将使系统不能正常运行,因此使用者必须对系统的内部各个环节有深入的理解,才能有效利用该软件提供的在线监测功能,及时解决可能现的问题,保证系统处于高效运行的状态。
4.2 动态相关积分(DCI)优化技术和软件 [ 润树 ] 于:2007-11-26 12:15:41 从上一节我们可以看到,基于过程机理模型的静态优化系统,需要花费大量时间来建立模型,成本很高。除此之外,它还有两个局限,一是当过程受到干扰而未到达稳态时不能进行优化,二是对于不能建模的过程束手无策。因此,不需要过程模型的在线搜索系统在这些方面就具有相对的优势。下面介绍的相关积分优化系统即是这样的在线搜索优化系统,材料是由北京优化佳控制技术有限公司的创始人王建博士提供的。王建是晨枫和我的大学同班同学,在学期间就显示了很高的科学技术才能。我对他在过程控制领域所取得的成就深感敬佩,同时也要感谢他为本章内容提供丰富材料供选择。有进一步兴趣的朋友还可以从他的网站获得更多信息。
故事(四) [ 润树 ] 于:2007-11-26 12:21:35 1994年9月,在我来美国6年整时,终于有了第一次的回国之行。我的第一站是北京,参加由中石油主办,中石化和休斯敦华人石油协会协办的科技研讨会。是时我刚从原来工作的C公司转到B公司,C公司的老板P先生知道我要去北京,希望与我同行,去会见那里的一个潜在客户。趁此机会,我想把DCI优化技术和产品介绍给他,于是把这个想法告诉了在上海的王建。王建说正好他们在北京燕山炼油厂做了一个DCI的应用项目,他很乐意到北京来带我们去实地看一看。
在会议开始的前一天晚上,中石油的总裁盛华仁先生在长城饭店设宴招待中美全体与会代表,席开数十桌,规格据说是每人400元,是我迄今为止所见最为豪华的宴会。进入宴会大厅,前面站着一排礼仪小姐,大多来自欧美各国。有些代表感到很惊奇,纷纷上前与她们合影。后来看到,这些人都是为前面的主席桌服务的,其它各桌则分别由一个中国小姐服务。总共有十几道菜,做得很精致,都是分盘送到每个人面前。宴会快结束时,大家都到处走动找认识的人和前面主席桌的人碰杯。我领着P先生上前与盛华仁碰杯合影,他们简单交谈了几句,希望今后能够相互合作云云,乃场面上的客套话。
王建晚一天才来。第二天他带我们去看了燕山炼油厂脱蜡装置的DCI优化系统,可惜当天该装置在维修,我们未能看到该系统的在线运作。中午,该厂的接待处负责人在厂招待所设席款待我们,另有数人作陪。席间,谈到前两天晚上的宴会,我说与在美国的宴会比较起来,400元还是很值的。该负责人不知是听我说出400元的数目贬低了他招待所的价值,还是真心疼钱,就说,400元可是一个普通人几个月的伙食费。我听了很有些羞愧难当,因为我自己也是从艰苦生活中过来的。
此行虽未导致王建和C公司之间的技术合作,我和王建的联系却因此而频繁起来,包括在他去英国做访问学者的那一年。王建从英国回国后,就从学校出来自己干,为石化工业做DCI优化应用服务。过了两年,他希望我能帮助他把DCI技术推广到美国来,于是我们考虑在美国注册成立一个公司。由于我不能下决心放弃现有的工作以及其它一些原因,包括王建来美的签证等问题,最后我们的梦想未能实现。1999年,王建在北京中关村的科学园区成立了自己的公司,就是现在的优化佳控制有限公司。目前该公司已走上良好的发展之路,我衷心祝愿王建和他的公司取得更大的成功。 [url]http://www.ccthere.com/article/1332819[/url]
5.数理统计与化工过程控制 [ 润树 ] 于:2008-01-01 16:21:15 统计的过程控制(Statistical Process Control, SPC)在制造业是一个很常见的词。这里的过程,并非单指化工的,而是泛指一切具有因果关系的生产/制造程序。人们用数理统计的理论对这些过程进行分析和控制,从而获得有益的结果。
说起数理统计,我们多数人都不陌生,它不但在工程技术领域广为人知,而且也广泛地应用于社会科学领域和我们的日常生活中。我们知道,科学理论是对世界上那些具有确定性的事物的研究而得出的一般规律,由这些规律所描述的事物的现象和特性是可以确切不移地被重复观察或再现的。而数理统计的理论所研究的对象和由此研究所得出的结论,却大多具有某种程度的不确定性。用来描述这种不确定性的概念,就是我们耳熟能详的概率。
数理统计在化工过程控制的应用中主要有两方面的功能,一是它的描述性(descriptive),即对过程变量本身的变化特性,比如平均值,标准差等,进行定义和计算;二是它的推测性(inferential),即将一个或多个变量输入某个数学模型,比如多项式,来对另一变量进行回归计算。前者的作用是显而易见的,而后者可以帮助控制工程师找出影响过程变量变化的因数,从而对某些不易直接测量的变量进行推测计算,或者通过改变这些影响变量来改善/控制被影响变量的品质 (这也是盛行于工业界的6倍标准差-Six Sigma的主要内容)。将这些功能在计算机上实现的,有通用的数理统计软件,象Minitab,也有专门针对化工过程的建模软件,像Aspen IQ,Pavilion Process Insight等。即使像MPC的建模软件,也运用了数理统计的计算技术,只不过针对过程变量的动态特性加进了时间因数而已。
改善被控变量的品质,主要体现在减小其标准差。一般地说,几乎所有被控变量的平均值,都等于或很接近于其控制设定点。但它们的标准差却可以有很大的差别。控制效果好的,标准差就小,反之就大。而减小标准差,在多数情况下,都可带来生产效益的提高。比如一个化学反应器要防止它在自燃点的条件下操作,通常是计算和控制它接近自燃点的程度,当其低于预设下限值时,装置就会自动保护停车。如果这个值的不良控制导致其上下波动较大,就只能把控制点设定得离下限值较远的地方。而这样做往往是以牺牲生产效率为代价的。因此,如果能够减小其波动幅度(以标准差来衡量),那么就可以将控制点设定在离下限值较近之处。又比如被控变量是精馏塔的产品的杂质度时,通常希望它能接近该产品的指标上限,这样可以降低分离要求,从而减少单位产量的能源消耗。下面这个数据曲线显示,是用来说明这个概念的:左半部分标准差较大,平均值较小;右半部分降低了标准差,控制平均值可安全上移。
图5.0.1 改善变量变化特性的图示说明
5.1 数理统计软件Minitab
Minitab的功能很多,但归纳起来还是在对变量进行定性描述和推测计算两方面。
我们来看一个由在线分析仪得到的某反应器的物料浓度变量,它的典型数理定性描述如下所示。从这个描述我们可以知道,它的5097个数据近似于正态分布,平均值是33.44%,标准差是4.004%。还有其它一些数理特性,不赘述。
图5.1.1 某变量的数理特性
这台在线分析仪可靠性不高,其中一个主要因数是采样管道常被物料中的固体颗粒堵塞。为此,该装置的控制工程师拟用Minitab建立模型,由其它过程变量来推测计算该物料浓度。然而,经过多种变量的组合,均无法找到一个较好的模型。下面的这个模型是最好的一个,但其标准差S仍很高,不能适合工程需要。
该模型是:
AI123 = - 3566 - 0.000788*TI06 + 30.5*TI08 - 0.0636*TI08S + 0.408*PDI08
式中,AI123是浓度,TI06是反应塔塔底温度,TI08是塔板6温度,TI08S是塔板6温度的平方项,PDI08是塔压差。
Predictor Coef SE Coef T P Constant -3565.6 431.5 -8.26 0.000 TI06 -0.00078751 0.00002240 -35.16 0.000 TI08 30.484 3.705 8.23 0.000 TI08S -0.063624 0.007943 -8.01 0.000 PDI08 0.4076 0.3721 1.10 0.273
S = 3.05020 R-Sq = 42.0% R-Sq(adj) = 42.0%
Analysis of Variance
Source DF SS MS F P Regression 4 34339.9 8585.0 922.75 0.000 Residual Error 5092 47374.4 9.3 Total 5096 81714.3
图5.1.2 模型结果的图像描述
这里建模不成功的原因在于,Minitab这样的数理软件只适合于处理静态数据,即各变量之间的关系,不受时间变化的影响。对于化工类的过程,如果对变量的数据进行了时间足够长的平均值计算,而排除了它们之间的动态关联,那么用Minitab来建立数理模型才是可行的。
当然,要找出一个过程多变量输入对单变量或多变量输出之间的静态关系,一个系统性的方法是,用Minitab提供的阶乘实验(factorial design)等实验设计(Design of Experiment, DOE)步骤,对过程进行双位式的扰动,记录下各输出对这些扰动的静态响应值(排除动态关联),再用Minitab的相关分析(correlation analysis)和回归分析(regression analysis),来辨别输出变量对各输入变量的敏度。这种方法被6倍标准差的黑带大师(Master Blackbelt)大为看重。但是,对于真正了解过程的工程技术人员来说,这种方法有点像杀鸡用牛刀,小题大做了。 |
|