罗 军
(中科合成油工程股份有限公司 电仪部,北京 100003)
在石油化工流程工业中,常规的PID 控制基本可以满足大部分装置的控制需求,并得到广泛的推广应用。然而随着石油化工装置向着集成化、连续化、大型化发展,出现百万吨级的项目,随之出现了控制的“瓶颈”,比如变量间的匹配和回路间耦合等。由于先进控制并不普及,出现了无法投入自动控制以及投入大量人力成本等问题,甚至威胁装置的安全。基于此,本文结合已建项目,探索先进控制策略并将其在实际工程项目中实现。
随着智能工厂的建设推进,石油化工厂的建设与设计对于智能控制要求也越来越高,各个科学技术领域和生产部门、管理部门都迫切要求数字化、定量化,以便更精确地描述、反映不同的事物和处置各类问题[1]。
图1 模糊控制系统方框图Fig.1 Block diagram of the fuzzy control system
在自动控制系统中,因为大多数被控对象动态特性的复杂性与时变性,所以会在控制的过程中出现现今绝大多数仪器仪表无法精确测量的模糊量,比如汽包液位的测量,由于“虚假液位”的存在,仪表不能够准确测出[2]。虽然三冲量控制方案具有理论上良好的控制效果,但实际上由于工况变化,对于PID 参数的整定要求非常高,从而得不到预期的控制效果。若是让有经验的工程师进行人工调节,就可实现自动控制,基于这样的思路,使用程序算法模仿有经验的工程师的操作流程,来进行对控制过程的调节、操作与监视。这就导致了模糊控制理论的诞生。模糊控制适用于如下的情形:
1)适用于数学模型不易得到的被控对象,但是可以获取有经验的工程师的知识、操作流程和操作数据等。
2)控制规律采用了较简单易理解的语言变量来表达,避开了复杂的传递函数。
3)适用于时变、非线性、高阶、滞后的工业被控对象,具有很强的鲁棒性。
4)适用于多输入多输出的被控对象,可统筹兼顾各个参数变量。
Zadeh 教授在1965 年发表了名为《模糊集合论》的论文,其在论文中创造性地提出了用“隶属函数”来描述现象差异的过渡,这与古典数学中讲求绝对关系的集合论完全不同。后经扎德教授演变推进整合,将古典数学的严格性与Zadeh 教授提出的模糊数学整合起来,从而得出了“模糊集合”的概念,这标志着模糊数学的正式诞生。
控制论的创始人维纳将这一思想运用于控制领域,类似于仿生学的原理,使用计算机模仿人类的思考模式,让计算机完成复杂的控制任务。在实际应用中,需要把一个事物“不明确”的程度用数字定量化地表达出来,亦即“不明确”的程度究竟有多少,隶属函数可将不确定的程度进行定量,故为了实现模糊控制。比如依据现场工程师的经验研究出所需参数的合理准确的隶属函数,隶属函数的准确程度决定了模糊控制的准确性与快速性。若把液位60%以上都称为高液位,那么60%以上的液位从属于“高液位”这个集合的程度是不一样的,可以用0 ~1 中的一个实数去度量不同的元素隶属于模糊集合的程度,这个数就是隶属度,用函数来描述它就构成了隶属函数。
模糊控制器包含着模糊控制算法,模糊控制算法就是使用模糊集合理论,将工作经验转化为计算机语言,达到使用计算机进行运行的目的。从而模拟人类的智能,实现生产过程的有效控制。模糊控制非常适合于控制复杂、非线性、大滞后和不确定性的被控对象。由于模糊控制系统是一种计算机控制系统,故其组成类似于一般的数字控制系统如图1 所示,仅仅是数字控制器中的控制算法是模糊运算。
模糊控制器一般由以下4 个部分组成:
1)模糊量化处理(模糊化接口):寻找隶属函数的过程,此过程可使用模拟软件进行设计,通过模拟可检验隶属函数的准确程度。在控制器中,该功能模块是将A/D 转换器得到的数字量,依据有经验的工程师的知识进行模糊化,找到隶属函数。任何输入的变量皆需要模糊化,若是存在求取变量间的差值,则先进行差值运算再进行模糊化。比较常用的模拟量化处理的方法:可根据对事物的判断习惯沿用正态分布的思维特点,对应模糊子集的隶属函数采用正态分布函数表示,将在某区间的确切量X 模糊化为这样的一个模糊子集,在点X 处隶属度为1,除X 外其余各点的隶属度均取0。在实际工程中,隶属函数的选择取决于控制系统中所有设备的状况,在确定模糊子集时,应该去了解控制设备的运行情况,然后再决定。但涉及模糊控制器的工程师一般很难了解实际设备情况,此时可选择等级量的论域与模糊量论域相等,并让每一个等级量响应模糊量的隶属度为1,其余为0,形成等腰三角形。合理找到适合实际工程应用的隶属函数是模糊量化处理的关键。
2)模糊控制规则:模糊控制规则是模糊控制算法的核心内容,在自动控制中,可将变量分为输入变量与输出变量,控制规则的主要目的就是基于输入变量推理出适合实际工况的输出变量,隶属函数就起了决定性的作用,由此可量化地推出合理的输出变量。但是,随着对控制要求的提高以及流程工业复杂程度的提升,也可以设置模糊控制为在线学习,可增加神经网络控制算法在线改变语言值的参数等。
图2 简单控制回路Fig.2 Simple control loop
3)模糊决策:即模糊推理机。它是利用模糊控制规则库中的知识模拟人的推理过程,目的是让计算机实现人的操作。
4)非模糊化处理(确切化接口):非模糊化处理是将模糊决策得到的输出值转化为执行机构可以执行的确切值。非模糊化处理的方法有很多,比较常用的有最大隶属度、重心法、左取法和右取大法以及加权平均值法,然后通过D/A 转换器再把它转换成模拟量送给执行器。
根据模糊控制器的特点,将其应用到实际工程中,将会明显提高回路控制的效果。由于设计模糊控制器时,各参数的设定并不是根据被控对象的数学模型来确定的,由此说明模糊控制对被控对象的非线性和时变性具有一定的适应能力即鲁棒性较好的特点。此外,由于模糊控制器设置的论域是一个区间,故只要能使系统稳定,那么所需的控制作用频率是很低的,对于化工生产装置而言,大大提高装置运行的平稳性、安全性以及经济性,对于执行机构调节阀来说,也可降低调节阀动作的频率,从而提高调节阀的使用寿命以及降低维护调节阀的次数以及成本。但是,由于模糊控制器本身的特点,不能够消除系统的静差,这在实际工程应用中是不被允许的。
实际工程应用中,基本都在使用PID 控制器,这是由于PID 控制器本身具有原理简单,即根据设定值与测量值的差计算出控制器的输出值给执行机构[5],此外具有使用方便、较好的鲁棒性、控制器的参数整定比较容易以及无静差调节等特点。但是PID 控制要求模型结构非常精确,而在实际工程应用中,大多数工业过程都不同程度地存在非线性、参数时变性和模型不确定性,工艺专业在设计工艺流程时就会假设很多工况,这也说明了被控对象的多变性,因而采用常规的PID 控制无法实现对过程的精确控制。
模糊自整定PID 控制就是基于以上思路而产生,不依赖被控对象数学模型,而是根据工程设计人员的经验设计模糊控制规则,并将其与有关信息(评价指标、初始PID参数)作为知识存入计算机知识库中[4],然后计算机根据被控对象(比如汽包液位)运行情况,依据模糊控制规则进行模糊推理,即可自动实现对PID 参数的自动在线整定,从而使得PID 控制器的调节效果最佳。
化工装置中大部分回路为单回路控制,故在此选择单回路控制为基础,为其设计模糊自整定PID 控制器。将详细介绍模糊自整定PID 控制在工程中实现的步骤,使得工程人员可依据各自面对的被控对象的特性,设计出符合实际工况的PID 控制器。如图2 是一个简单控制回路。
简单控制回路由控制通道与测量通道组成,控制通道一般由控制器、执行器以及被控对象组成,测量通道则是由测量元件及变送器组成。简单控制回路是根据设定值与实际输出值构成控制偏差如式(1):
PID 控制规律如式(2):
在简单控制回路中,PID 控制器的kp、TI、TD三个参数是由工程人员整定得到的,整定的方法很多,大多是依据工程经验试凑得到的,在工程人员进行参数整定完以后,一般不再做调整。
模糊PID 是根据偏差E 和偏差变化率Ec,Ec 如式(3):
在不同工况下,PID 控制器想要获得好的控制效果,就必须设置不同的参数。模糊PID 控制器就是依据这样的思路,可通过事先制定的模糊规则不断在线自动调整PID参数来获得在不同工况下的最佳PID 参数。基本原理是:应用模糊集合理论建立参数Kp,Ki,Kd与偏差E 和偏差变化率Ec 之间模糊逻辑关系,并根据不同的E 和Ec 在线自整定PID 参数的一种模糊控制器。其结构如图3 所示。
模糊PID 控制器不断检测误差值E 和误差变化率Ec,控制算法的本质是找出比例系数k、积分系数ki 和微分系数Kd 三个参数与输入与输出差值E 和该差值的变化率Ec之间的模糊关系,通过模糊控制算法求出适合实际工况的控制参数,从而使被控对象有良好的动、静态性能。
基于理论结合实际的思路,总结出了4 个步骤来完成模糊自整定PID 控制在工程中的实现步骤,如下:
图3 模糊PID控制器结构Fig.3 Fuzzy PID controller structure
1)现场数据收集:现场数据收集主要是收集操作数据以及各种装置流程图,并同现场操作人员就一些运行与控制策略进行讨论,以最大限度地获取一线的经验知识和数据,这些经验知识对系统的设计具有重要的价值。尤其对一些特殊装置的限制条件要进行仔细地研究与讨论,针对特殊的限制进行相应的控制策略的设计。
2)数据分析:对收集到的现场数据以及操作参数进行统计分析,计算相应产生的经济效益,同时也确定是否需要对现有设备进行维修,或需要额外增加相关仪表或仪器。
3)系统实施条件的确定:首先,确定影响经济效益的主要因素,例如本单元中催化剂还原的效率与质量;其次,工程的基础结构必须明确,必须具备先进控制的实施平台,如DCS 控制系统和一些必要的检测设备。
4)典型数据的需求:装置资料、操作数据和经济数据。其中,装置资料主要指装置的控制图以及装置目前存在的瓶颈等问题。操作数据即一定时间段的每一股进料的操作日志,还包括操作策略和对象等。经济数据是指与经济效益有关的数据,比如原料的价格、产品的价值、能量(本单元中的蒸汽,其热源的供给是消耗能源的)损耗以及工程账目的计算方法。
5)效益估计:以投运之前的装置稳定运行的某月的数据为基准,评估装置运行状况与装置原设计指标(或最大实际运行能力等)的差距,比较产量、质量、能耗、系统平稳性以及掌握存在的装置瓶颈等,以此为基础初步估计应用先进控制可能产生的效益。
6)效益获取途径:先进控制的效益可通过多种途径获取,通常用于改善系统运行平稳率等提高装置的工艺操作极限。一个比较好的方法是使用稳态增益矩阵,其中增益矩阵可以通过稳态仿真或阶跃测试得到。
7)可行性报告:将以上6 个方面写成分析报告。
初步确定先进控制策略。根据可行性报告,分析得到对先进控制系统的需求,进行初步的控制功能的设计和规划,并最终形成正式的功能设计报告,此报告将是系统实施的主要功能依据。
将设计与完善先进控制策略以及工程的初步实施计划。详细设计阶段一般都是以与现场人员开会为序幕展开的,会上将最终确定项目组组成人员,并对项目建立一系列的标准,包括各种位号命名的协定,一些示意性的格式以及软件的标准等。
1)确定最终的详细控制方案、策略。主要包括以下内容:
◇ 针对不同的过程对象设计详细的控制策略,并选择合适的软件工具。
◇ 如有必要对软件进行二次开发,主要考虑到不同过程需要的软件功能有所差异,可以进一步完善控制策略。
◇ 开发DCS 控制图形界面显示。图形界面将会更直观地将信息显示出来,使得控制更加贴近实际并易于操作。
◇ 对没有在线仪表检测的工艺变量或目标进行组态计算,或者采用软测量建模。
◇ 对过程对象进行阶跃测试,以获得过程的输入输出对应的数据,为建立先进控制所需模型做准备;若采用机理分析建模方式,本步和下一步工作均无需进行专门的装置测试,但要通过了解工艺过程原理和有关工艺装置参数,并根据有关装置的测量数据进行模型的建立、验证和修正,并建立最终的模型矩阵。
◇ 对通过阶跃测试得到的输入输出对应数据进行系统辨识,并从中选择最终的模型矩阵。
◇ 根据求得的模型矩阵,设计多变量预测控制器。
◇ 首先,在设计室或在现场对上述多变量预测控制器进行离线测试。
◇ 阶段总结和阶段性报告。阶段性报告主要是对所进行的工作的总结,同时对下一阶段的工作进行合理安排,对工作计划作相应的修改。同步准备文档,比如操作工指导、工程师手册等。
2)控制软件进行系统整合
在静态测试条件下,对控制软件进行性能示范,以展示软件的运行功能。对适当的控制行为进行验证,从而校正任何辨识方面的问题。
调试运行阶段是系统设计与现场实施相互交叉的阶段。就先进控制的实施而言,此阶段应该对现场人员进行必要的培训,不仅让他们掌握现场的操作,也能使他们具备一定的理论知识。同时,验证此先进控制系统设计的正确性、有效性。从设计的角度出发,通过现场实施可以得到系统实现中的反馈信息,发现设计中存在的问题,并加以改正。例如被控变量的调节和控制区域设置,控制器整定参数的修订,约束的设定,软测量计算的修订以及模型的修正等,最终完成整个系统的设计工作。
图4 模糊控制算法流程图Fig.4 Flow chart of fuzzy control algorithm
利用可行性调研得到的数据分析实际工况参数,设计出合理的模糊控制规则以及隶属度函数,再参照图4 模糊控制算法流程图,用高级编程语言进行编程实现控制算法。
普通PID 控制可由组态的方式来完成。一般先进的控制算法想要完全由组态的方式来完成是比较复杂的,可采用高级语言编程。即将先进算法用高级语言编程,之后使用编译工具进行处理,最后下载到DCS 的控制器中来实现先进算法的控制。由于目前石化项目普遍都使用DCS 系统进行现场仪表的管理与控制,故这种方法具有很强的可实施性。实现原理框图如图5 所示。
图5 模糊PID自整定控制算法在DCS中实现的原理框图Fig.5 Block diagram of fuzzy PID self-tuning control algorithm implemented in DCS
从图5 中可以看出,正是基于C 语言程序与DCS 功能块之间进行相互操作,C 语言程序的输出可传送给DCS 的参数调整功能块才得以实现对控制器的PID 参数进行在线的校正。同时,配套的功能模块有存储分配块、C 程序调用块、程序输出块、逻辑开关块、模拟块切换块和模拟量加法块等。通过开发软件包Microtec ANSI C Cross Compiler和Bailey C Utility Program 实现C 语言程序与DCS 接口部分。
在某单元反应中,该单元自动控制方案可分为两个阶段:第一阶段是围绕反应器的吸热,给反应器提供足够多的热量;第二阶段是围绕反应器的放热,带走多余的热量,使得反应器温度维持在设定值附近。
由图6 可看出,目前的工艺专业所选择的控制方案是由汽包提供循环热水给反应器,两个阶段皆是如此,不同之处在于:吸热阶段的循环热水的温度大于反应器的温度设定值,为的是使得反应器能够迅速升温至设定值;而放热阶段是循环热水的温度小于反应器的温度设定值,为的是使得循环热水带走反应器放热的热量,从而维持反应器的温度在设定值附近。
若想实现自动控制,就需要测量反应器内的温度,控制方案的主要目的就是维持该温度值在设定值附近。该方案的思路是测量反应器中层的温度,测量多点温度值,取平均值,将该值作为设定值给汽包的入口蒸汽管线的蒸汽流量控制回路,从而构成温度-流量串级控制。该方案存在的明显不足之处:
1)反应器内温度测量的滞后以及汽包的惯性,使得控制系统控制不及时。
2)汽包的三冲量控制是维持液位的稳定,而给反应器提供的循环热水来自于汽包,且反应器的温度值作为设定值给汽包的入口蒸汽流量控制回路以构成温度-流量串级控制,在此处,三冲量控制与串级控制具有很强的耦合性,从而降低了控制效果。
在温度控制器内设计模糊控制器,从而控制器的输入可以等效为∑out,过程测量值PV 为TT-001,设流量的偏差E、控制量u 的实际论域为:E=u ∈[-1.5,1.5],选择E、u 的等级量论域为:E=U={-3,-2,-1,0,+1,+2,+3},量化因子为:K=(2×3)/(1.5-(-1.5))=2。选择模糊子集为{NB,NM,NS,ZO,PS,PM,PB},子集中元素分别代表负大、负中、负小、零、正小、正中,正大[6]。根据人手动控制的一般经验,总结一些控制规则如下:
图6 反应流程原理图Fig.6 Schematic diagram of the reaction process
表1 Kp的模糊规则表Table 1 Kp fuzzy rules table
表2 Ki的模糊规则表Table 2 Ki fuzzy rule table
表3 Kd的模糊规则表Table 3 Kd fuzzy rules table
图7 Kp,Ki,Kd的变化趋势Fig.7 Trends in Kp, Ki, Kd
① 若误差E 为0,说明温度值接近SP,蒸汽调节阀开度不变。
② 若误差E 为正,说明温度值低于SP,蒸汽调节阀开度增大。
③ 若误差E 为负,说明温度值高于SP,蒸汽调节阀开度减小。由此可得,针对Kp,Ki,Kd三个参数分别整定的模糊控制表。
设E 和Ec,Kp,Ki,Kd均服从正态分布,因此可得出各模糊子集的隶属度。根据各模糊子集的隶属度赋值表和各参数模糊控制模型,应用模型合成推理设计PID 参数的模糊矩阵表,查出修正参数带入下式计算。使用效果,方可用于实际装置。本文理论结合实际,将模糊控制思想如何在实际装置上的实现作了讲述,具有一定的工程应用价值。
通过以上方式可实现控制器PID 参数的自整定,模糊控制规则可由有经验的工程师来提供参考意见进行定量设计,在实际投入运行以后也可继续修改以达到好的控制效果。经过以上工作,实现了该单元的模糊自整定PID 控制,使得该单元的时间滞后性得到解决,反应器的温度得到很好的控制。在自整定模式下,Kp,Ki,Kd的变化趋势如图7 所示。
模糊控制算法可依据人工经验与隶属函数的范围大小设计出预期的控制效果,在实际工程应用中需要提前测试