首页> 中国专利> 过程控制系统中的在线自适应模型预测控制

过程控制系统中的在线自适应模型预测控制

摘要

本发明涉及过程控制系统中的在线自适应模型预测控制。创建和使用自适应DMC型或其它MPC控制器的方法包括在过程操作期间,利用模型交换技术定期确定用于在线过程回路的过程模型,例如参数化过程模型。当MPC控制器在线操作时,该方法基于新的控制模型,利用过程模型产生MPC控制模型,创建MPC控制器算法并将其下载至MPC控制器。此技术通常适用于单回路MPC控制器,尤其适于控制时域为1或2的MPC控制器,使得MPC控制器在过程的正常操作期间可调整,以改变MPC控制器所基于的过程模型,从而解决过程变化的问题。自适应MPC控制器不需要大量计算上的开销,因此在过程控制系统的分布式控制器中易实现,并提供与PID控制器一样或某些情况下比PID控制器更好的控制。

著录项

  • 公开/公告号CN101807048A

    专利类型发明专利

  • 公开/公告日2010-08-18

    原文格式PDF

  • 申请/专利权人 费舍-柔斯芒特系统股份有限公司;

    申请/专利号CN201010174036.3

  • 发明设计人 德克·西勒;威廉·K·沃琼斯尼斯;

    申请日2006-09-30

  • 分类号G05B13/04;

  • 代理机构北京德琦知识产权代理有限公司;

  • 代理人罗正云

  • 地址 美国德克萨斯州

  • 入库时间 2023-12-18 00:44:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-10

    授权

    授权

  • 2010-10-06

    实质审查的生效 IPC(主分类):G05B13/04 申请日:20060930

    实质审查的生效

  • 2010-08-18

    公开

    公开

说明书

技术领域

本发明总地涉及过程控制系统,尤其涉及过程控制系统内在线自适应模型预测控制器或其它模型预测控制型控制器的创建和使用。

背景技术

诸如化学、石油或者其它工业中所使用的分布式或可扩展的过程控制系统,一般包括一个或多个过程控制器,这些过程控制器经由模拟、数字或模拟/数字混合总线,彼此通信相连,或者与至少一个主机或操作员工作站以及一个或多个现场设备通信连接。现场设备可以是例如阀、阀门定位器、开关、传感器(例如温度、压力和流量传感器)等,它们在过程中执行诸如开启或关闭阀以及测量过程参数等功能。过程控制器接收用于表示由现场设备产生的过程测量值的信号,和/或属于现场设备的其它信息,利用这些信息执行控制例行程序,并随后产生通过总线发送到现场设备以控制过程操作的控制信号。来自现场设备和控制器的信息典型地用于由操作员工作站执行的一个或多个应用程序中,以使操作员执行任何期望的与过程相关的功能,例如查看过程的当前状态、修正过程操作等等。

过程控制器一般被编程为对过程所限定或所包含的多个不同回路中的每个,执行不同的算法、子程序或者控制回路(所有这些都是控制例行程序),这些控制回路例如流动控制回路、温度控制回路、压力控制回路等。一般来说,上述每个控制回路都包括一个或多个输入模块,比如模拟输入功能块;也包括单输出控制模块,比如比例-积分-微分(PID)控制功能块或者模糊逻辑控制功能块;并且还包括单输出模块,比如模拟输出(AO)功能块。由于控制模块产生用于控制单过程输入的单控制输出,例如阀门位置等,所以这些控制回路一般都采用单输入/单输出控制。然而在某些情况下,采用单独操作的单输入/单输出系统并不十分有效,这是因为被控过程参数受到不只一个单过程输入的影响。事实上,每个过程输入都会影响许多过程输出的状态。举个例子,比如一个过程有一个储罐,这个储罐被两个输入管道填充,又被单个输出管道抽空。其中,每个管道都被不同的阀控制,储罐的温度、压力以及吞吐量都被控制在各自的期望值(设定点)或者其附近。由上可知,可以通过单独的吞吐量控制回路、单独的温度控制回路和单独的压力控制回路来控制储罐的吞吐量、温度和压力。然而,在这种情况下,温度控制回路通过改变某个输入阀的设置来控制储罐内的温度,可能引起储罐内的压力上升,从而迫使压力控制回路通过打开出口阀来减小压力。这个操作随后可能使吞吐量控制回路关闭一个输入阀,因此又可能影响储罐内的温度,导致温度控制回路再次采取某些其它操作。从这个例子可以知道,单输入/单输出控制回路使过程输出(在这个例子中为吞吐量、温度和压力)不可接受,因为输出不断振荡,不能达到一个稳定的状态条件。

使用动态矩阵控制(DMC)技术的模型预测控制(MPC)或其它类型的先进控制已经用于在如下状态中执行过程控制:对一个特定控制过程变量的改变会影响一个以上的过程变量或者输出。从上世纪70年代末开始,已经报导了很多成功的模型预测控制的具体实现,而MPC也成为过程领域中先进多变量控制的主要形式。进一步的,MPC控制已经被当作分布式控制系统的层软件,运行在分布式控制系统中。美国专利4,616,308和4,349,869已经描述了这种可以在过程控制系统中使用的MPC控制器。

一般来说,MPC是多输入/多输出控制策略,其中可以测量到很多过程输入(即,操纵变量)中的每一个的改变给很多过程输出(即,被控变量)中的每一个所带来的影响,并且这些所测量的响应随后可以用于创建在控制过程时使用的控制矩阵。控制矩阵包括过程模型(通常限定了过程的动态操作),该过程模型必须经过数学转换才能在多输入/多输出控制器中使用或者作为多输入/多输出控制器使用,以根据过程输入的改变控制过程输出。在某些情况下,过程模型表示为对应每个过程输入的过程输出响应曲线(通常为阶跃响应曲线)。这些曲线可以根据一系列例如发送给每个过程输入的伪随机阶跃变化来创建。这些响应曲线可以用已知的方式对过程建模。由于模型预测控制在本领域是公知技术,所以这里不再赘述其细节。然而,Qin,S.Joe和Thomas A.Badgwell在1996年的美国化学工程师协会(AIChE)会议上所发表的“工业模型预测控制技术综述(An Overview of Industrial ModelPredictive Control)”总体上描述了MPC。

虽然MPC在很多过程控制情形中都是有用的,但在工业中应用的MPC还是主要使用动态矩阵控制(DMC)技术,DMC技术需要产生通常复杂的过程模型(通常表示为数学上的递归算法或者矩阵运算),并在随后通过对该模型求逆来创建MPC控制器中使用的控制矩阵。因此,创建MPC控制器在计算上的开销很大。更进一步,为了开发在创建MPC控制器时使用的准确过程模型,传统上需要用例如阶跃信号的已知控制信号对每个控制输入扰动或者打乱过程,而且需要确定每一个过程变量或者被控变量对控制输入中的已知变化的反应。名称为“过程控制系统中的集成最优模型预测控制(Integrated Optimal Model Predictive Control in a Process Control System)”的美国专利6,721,609,详细描述了在分布式过程控制系统中实现此过程的一种方式,在此将其公开合并。

尽管这种过程扰动技术通常产生高度准确的过程模型,但是扰动程序不但花费时间,而且打乱了过程的正常操作,因此,当过程在线运行时,如果不是实际上无法执行,那么其实现也是较难的。相反,这种过程扰动技术通常需要在如下过程中执行:过程不是在创建实际产品时操作,比如过程或者MPC控制器正在初始化。当然,这个局限性严重地限制了确定过程模型所需的时间。所以无论如何,这种技术都不适合在自适应MPC控制器(即,其MPC控制矩阵在过程的在线操作过程中被改变)中使用,因为自适应MPC控制器在每个自适应周期内都需要对过程进行打乱。此外,对于任何大尺寸的MPC控制器(即,具有多个输入和多个输出的控制器)来说,这种方法花费在计算上的开销都比较大,因为控制矩阵必须在确定新的过程模型后进行求逆和应用。这样的计算量使得很难在分布式过程控制器中实现自适应MPC,其中分布式过程控制器受到可以与在线过程控制活动一起进行的额外计算量的限制。

然而,在很多情况下,需要在过程操作时调整MPC控制器,以解决过程模型不匹配的问题。尤其在实现MPC时,在配置阶段确定的过程模型只反映了过程模型创建时的过程。过程的任何后续变化,通常为在运行过程期间必然发生的变化,都不会反映在MPC控制器所使用的过程模型中,并且可能因此导致MPC控制器的模型不匹配以及非最优控制。在过程回路的死区时间(dead time)中,MPC控制器对建模误差很敏感。很多控制情形下,希望并且有时是需要补偿这种模型不匹配。

过去,一种在DMC或者其它MPC控制器中补偿模型不匹配的方法为:利用过程打乱或扰动技术,定期创建新的过程模型并产生新的控制模型和控制器。然而由上述可知,这一程序不能经常使用,并且由于需要打乱过程以确定新的过程模型,以及考虑到在控制器矩阵产生的过程中需要进行的计算量,这一过程的计算只能离线进行。名称为“带有非线性预测能力的多输入/多输出控制块(Multiple-Input/Multiple-Output Control Blocks with Non-LinearPredictive Capabilities)”的美国专利10/454,937,描述了另一种为非线性过程补偿模型不匹配的方法。该方法将非线性过程模型和利用过程打乱技术产生的MPC控制器结合使用。一般而言,该技术对使用非线性过程模型研发的预测过程变化和使用MPC过程模型研发的预测过程变化进行比较,以创建表示模型不匹配的误差信号,然后利用这些误差信号来补偿过程的非线性特性,其中,在产生MPC控制器时,并未解决该过程的非线性特性或为该非线性特性建模。然而,这种技术基于复杂非线性过程模型的使用,以准确地反映过程操作,并为MPC控制器创建合适的补偿信号。另外,在很多情况下,非线性过程模型和实际过程之间可能仍然存在模型不匹配,这可能造成较差的控制性能。更进一步地,由于无论是非线性过程模型还是MPC过程模型在控制器的在线操作中都不能改变,所以该技术不是自适应的。

部分由于创建和实现有效的自适应MPC控制器或者其它类型的自适应DMC控制器比较困难,所以在过程模型的过程操作期间经常改变的情况中,过程控制领域都采用自适应PID控制器。尽管自适应PID控制器很知名,并且用于在过程操作期间的调整,但是为了令人满意地操作,这些PID控制器必须在死区时间占主导地位的过程内,非常保守地解调或者调谐,这导致了较差的性能。更进一步地,当控制器的重启时间常数和实际过程的时间常数之间出现不匹配时,尤其是在过程动态变化较快的情况下,PID控制器对较差的控制性能特别敏感。不幸的是,确定过程时间常数(直接与达到稳态的过程时间有关)是当使用已知的过程模型辨识方法进行研发时最不确定的因素。因此,当控制一个死区时间占主导地位的过程时,尤其是当达到过程稳态的时间频繁变化时,PID控制器不是最好的选择。

发明内容

创建和使用自适应DMC或其它MPC控制器的方法包括在过程操作期间,利用模型交换技术(model switching technique)定期确定用于在线过程回路的过程模型,例如参数化过程模型,而无需人为地激励过程。然后,该方法使用该过程模型产生MPC控制模型,并创建在线的,即过程正常执行时的MPC控制器算法。此技术通常适用于单回路MPC控制器,尤其适用于控制时域为1或2的MPC控制器,并且此技术使得MPC控制器可以在线调整,即在过程正常操作时调整,以改变MPC控制器所基于的过程模型,并因此解决了随着时间的推移过程中的变化问题。这样的自适应MPC控制器不需要大量的计算开销,因此在过程控制系统的分布式控制器中很容易实现,同时提供与PID控制器一样的控制,在某些情况下,甚至提供比PID控制器更好的控制。更特别的,已经发现在死区时间占主导地位的回路中,尤其是在过程动态变化导致过程回路遭受过程模型不匹配的情况下,具有较小控制时域,比如1或2的自适应单回路MPC控制器,可以提供比PID控制器更好的控制。另外,MPC控制器可以很容易地容纳多于一个的前馈输入,而这种输入在PID控制器中通常不可用。

附图说明

图1是包括控制模块的过程控制系统框图,其中该控制模块具有例如自适应MPC控制器功能块的自适应DMC控制器功能块,用于控制一个或者多个过程回路;

图2是可以在图1的功能块内实现的自适应MPC控制器的框图;

图3是图2所示的自适应MPC控制器的操作流程图;

图4是可以用在过程控制器内以实现图2所示的自适应MPC控制器的控制模块的框图;并且

图5是与配置或者操作员界面例行程序相关的屏幕显示,其示出用户查看和影响图2所示的自适应MPC控制器操作的方式。

具体实施方式

现在参见图1,过程控制系统10包括过程控制器11(可以为分布式过程控制器),其通信连接至数据历史记录器12以及一个或多个主机工作站或计算机13(可以包括任何类型的个人计算机、工作站等)。每个主机工作站或计算机13都具有显示屏幕14、存储器和处理器(未示出)。控制器11还通过输入/输出(I/O)卡26和28,与现场设备15-22相连。数据历史记录器12可以是任何期望类型的数据采集单元,其具有用于存储数据的任何期望类型的存储器以及任何期望的或已知的软件、硬件或固件。数据历史记录器12可以与工作站13之一分开设置(如图1所示),或者可以作为工作站13之一的一部分。举例来说,控制器11可以是爱默生过程管理公司出售的DeltaVTM控制器,控制器11经由例如以太网连接或者所需的其它类型的通信网络29,通信连接至主机13和数据历史记录器12。通信网络29可以采用局域网(LAN)、广域网(WAN)和电信网等形式,并可以利用硬布线技术或者无线技术来实现。控制器11利用任何所需的硬件和软件与现场设备15-22通信相连,其中软件例如相关于标准的4-20毫安设备和/或任何智能通信协议,例如现场总线协议(Fieldbus)、HART协议等。

现场设备15-22可以是任何类型的设备,例如传感器、阀、变送器、定位器等。I/O卡26和28可以是符合任何所需的通信协议或者控制器协议的任何类型的I/O设备。在如图1所示的实施例中,现场设备15-18是通过模拟或模拟/数字线路与I/O卡26相连的标准的4-20毫安设备或HART设备,现场设备19-22是智能设备,例如Fieldbus现场设备,其利用Fieldbus通信协议,通过数字总线与I/O卡28通信。当然,现场设备15-22均可以遵从任何其它所需的标准或者协议,包括在未来研发出来的任何标准或协议。

控制器11可以是工厂10内众多拥有至少一个处理器的分布式控制器中的一个,它执行或者监视存储在控制器中或者与之相关的一个或者多个过程控制例行程序,其中过程控制例行程序可以包括控制回路。控制器11也与现场设备15-22、主机13以及数据历史记录器12通信,以便以任何所需的方式控制过程。值得注意的是,如果需要的话,任何在此描述的控制例行程序或者元件都可以包括被不同控制器或者设备执行的部分。同样地,这里描述的要在过程控制系统10内实现的控制例行程序或者元件可以采用包括软件、固件、硬件等在内的任何形式。为了实现这个讨论的目的,过程控制元件可以是例如过程控制系统的任意部件或者部分,其中过程控制系统包括存储在任何计算机可读介质上的例行程序、块或者模块。控制例行程序可以是模块或控制程序的任何部分,比如子例行程序、部分子例行程序(比如几行代码)等,控制例行程序可以通过任何所需的软件形式实现,比如使用梯形逻辑、顺序功能图、功能块图、面向对象的编程或者任何其它软件编程语言或设计范例。同样地,控制例行程序可以被硬编码进例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或者其它硬件元件或者固件元件中。进一步地,可以利用任何设计工具,包括图形设计工具或者任何其它类型的软件、硬件或固件编程或设计工具,来设计控制例行程序。因此,可以用任何所需的方式将控制器11配置成执行控制策略或控制例行程序。

在一个实施例中,控制器11使用通常所谓的功能块来执行控制策略,其中每个功能块是总控制例行程序的一部分或者对象,并且与其它功能块(经由被称作链接的通信)结合操作,以便在过程控制系统10中实现各种过程控制回路。功能块典型地执行输入功能、控制功能或输出功能之一,以便执行过程控制系统10内的某种物理功能。其中,输入功能例如与变送器、传感器或者其它过程参数测量设备相关;控制功能,例如与执行PID控制、模糊逻辑控制等的控制例行程序相关;输出功能控制某个设备的操作,例如阀。当然,混合的以及其它的功能块同样存在。功能块可以存储于控制器11中并被其执行,此时典型的情况是这些功能块被用于或相关于4-20毫安设备及一些类型的智能现场设备,例如HART设备;或者功能块可以被存储在现场设备中并由现场设备本身执行,这时的情况可以是现场设备为Fieldbus设备。虽然这里利用使用了面向对象编程范例的功能块控制策略对控制系统进行描述,但是也可以使用其它协议,比如梯形逻辑、顺序功能图等,或者使用其它所需的编程语言或范例来执行或者设计控制策略或控制回路或模块。

如图1中的扩展块30所示,控制器11可以包括如例行程序32和34所示的许多传统的单回路控制例行程序,也可以执行如控制回路36所示的一个或多个自适应DMC型控制回路。每个传统的或者DMC型控制回路通常都被称为控制模块。控制例行程序32和34都被描述为分别使用单输入/单输出模糊逻辑控制块和单输入/单输出PID控制块,执行单回路控制,其中单输入/单输出模糊逻辑控制块和单输入/单输出PID控制块与适当的模拟输入(AI)以及模拟输出(AO)功能块相连,控制例行程序32和34可以与例如阀的过程控制设备相关,也可以与例如温度和压力变送器的测量设备相关,或者可以与过程控制系统10中的任何设备相关。自适应DMC型控制回路36将会作为自适应MPC控制回路被详细地描述,自适应DMC型控制回路36包括自适应MPC控制块38,其中,尽管自适应MPC控制块38的输入和输出可以通信连接至任何其它所需的功能块或控制元件,以接收其它类型的输入并且提供其它类型的输出,但是其输入还是通信连接至一个或者多个AI功能块,输出通信连接至一个或者多个AO功能块。进一步地,虽然自适应MPC控制块38在图1中示出为多输入/多输出控制块,但是应该理解,这种控制块可以是拥有反馈控制通道的单回路控制块,如果需要的话,该单回路控制块还可以有前馈控制通道。

如同更加详细地描述一样,自适应MPC控制块38在过程操作期间,为在线过程(或者控制块38所控制的过程的回路或者至少一部分)监视过程,并重新计算过程模型,比如参数化的过程模型。然后,自适应MPC控制块38使用在任何时候确定的新的过程模型,以重新计算在控制块38中使用的MPC控制模型以及MPC控制算法,从而基于新计算出的过程模型,调整MPC控制块38中的MPC控制器,以更好地匹配或者控制。这种自适应MPC控制既不需要执行为了确定新的过程模型而人为地打乱过程,也不必为了在MPC控制器中计算并安装新的MPC控制器模型和算法而使过程离线,就可以发生。可以知道,在过程操作期间的任何时刻,都可以重新定义过程模型,并可以重新产生MPC控制器,以便降低或消除随着时间的推移,由于过程中的变化所引起MPC控制器和过程之间的模型不匹配。

由上述可知,尽管这里描述的自适应控制块38包括模型预测控制(MPC)块,但是控制块38也可以使用与在此描述的原理相同的原理,实现其它DMC型控制技术。更进一步地,应该理解,如图1所示的功能块,包括自适应MPC控制块38,可以由控制器11执行,或者可以位于例如工作站13之一或者甚至现场设备19-22之一的其它处理设备中,并由其执行。

如图1所示,工作站13之一包括自适应MPC配置例行程序40,其用于创建、下载和执行自适应MPC控制块38(或者控制块38所在的控制模块36)。虽然自适应MPC控制块配置例行程序40可以存储在工作站13的存储器中,并由工作站13中的处理器执行,但是如果需要的话,也可以将该例行程序(或者其任何一部分)附加地或者可替代地存储在过程控制系统10中的任何其它设备中,并由过程控制系统10中的任何其它设备执行。一般而言,自适应MPC配置例行程序40包括控制块创建例行程序42,其用于创建在此描述的自适应MPC控制块,并将该自适应MPC控制块连接到过程控制系统。该创建和配置例行程序可以与用于创建和配置其它类型的模块和功能块的例行程序形成一个整体,或者可以与之相同。其中,其它类型模块和功能块可以是此处的模块32和34和/或FLC和PID功能块等,这些功能块的例行程序在本领域通常是公知的。因此,自适应MPC功能块38可以是一组不同功能块中的一个,它可以用与现有的和本领域公知的功能块的方式相似的方式,选择和配置。此外,如图1所示,用户或者操作员界面应用程序44可以在自适应MPC控制块38操作期间,与自适应MPC控制块38进行通信,以使例如控制操作员的用户查看关于MPC控制块38的信息和数据,修改方式,其中利用这种方式MPC控制块38操作以开发过程模型并使MPC控制块38产生新的MPC控制模型和根据过程模型的MPC算法。在某些情况下,用户界面例行程序44使用户可以为自适应MPC控制块38提供调谐输入,以影响自适应MPC控制块38的操作。进一步地,用户界面例行程序44可以存储在任意工作站13中并由其执行,或者存储在通信连接至控制系统的任何其它所需的用户输入设备中并由其执行,例如手持设备、个人数据助理(PDA)、移动电话。

图2描述了自适应MPC控制块38的一个实例的详细框图,其中自适应MPC控制块38通信连接至过程50。应该理解,在操作过程中,自适应MPC控制块38产生一个或多个操纵变量MV,这些MV被提供给依次与过程50的控制输入相连的其它功能块(图2中未示出)。如图2所示,自适应MPC控制块38包括自适应模型发生器52和MPC控制器块54。在这个例子中,MPC控制器块54是单回路控制块,例如是一个拥有单个控制信号(或者操纵变量MV)的形式的单个控制输出的单回路控制块,其中,MV被依次提供给过程50以进行过程控制。图2中所示的控制器块54包括反馈和前馈通道,并因此包括这些通道的输入。然而,在某些情况下,也可能使用标准的M×M方形(这里M可以是比1大的任何数字)的具有相同数量的输入和输出的MPC控制例行程序,尽管这里没有对此类设备进行描述。

MPC控制器块54接收所测量的被控变量CV(在过程50内进行的测量)、扰动变量DV、设定点值或者矢量SP和操纵变量MV,作为输入,其中,设定点值或者矢量SP定义了被控变量CV所期待的目标矢量,操纵变量MV由控制器块产生。已知的,扰动变量DV表示过程50中测量的和预测的变化(例如,扰动),并且它被提供给过程50,与此同时,作为一个值还被提供给控制器块54。一般来说,扰动变量DV表示对MPC控制器54的前馈通道的输入,而被控变量CV表示对MPC控制器54的反馈通道的输入。

典型地,在MPC控制器中,被控变量CV和扰动变量DV连同MPC控制器54产生的操纵变量MV,被提供给被控变量过程模型70的输入端(也被称为被控变量预测单元)。被控变量预测单元70使用自身存储的过程模型(被称为控制模型),基于操纵变量MV和扰动变量DV的当前值和/或预测的未来值,预测被控变量CV的未来值。(典型地,单独的控制模型用于这些输入变量中的每一个。)被控变量预测单元70产生输出72,输出72表示对当前被控变量CV的之前所计算的预测,并且矢量加法器74从被控变量CV的实际测量值中减去当前被控变量CV的预测值,以在输入76中产生误差或者预测修正矢量。

一般来说,被控变量预测单元70使用阶跃响应矩阵(在此例中可以是从过程模型中通过数学方法研发得到),以便根据扰动变量DV和操纵变量MV,以及提供给被控变量预测单元70的其它输入的误差信号,在预测时域的每个时间预测被控变量CV的未来值。单元70的输出示出为预测CV矢量。设定点预测单元80基于从任何期待的源提供而来的设定点SP提供被控变量CV的目标矢量,其中,源例如为优化器、用户、控制操作员等。在一实施例中,设定点预测单元80可以使用设定点SP和预先建立的变化或滤波器矢量,其中,预先建立的变化或滤波器矢量定义了随着时间的推移,被控变量CV被驱动到其设定点值的方式(即,定义控制器的鲁棒性和速率)。设定点预测单元80产生被控变量CV的动态控制目标矢量(被称为预测CV目标矢量),其定义了在预测时域限定的时段内,被控变量CV的设定点值的变化。加法器84可以是矢量加法器,它从动态控制目标矢量中减去预测CV矢量,以定义被控变量CV的未来误差矢量。然后,被控变量CV的未来误差矢量被提供给MPC算法块85,MPC算法块85操作以选择操纵变量MV步幅(达到控制时域之前的每个时间周期),该步幅例如在控制时域上将最小均方误差降到最小。当然,MPC算法块85可以使用控制矩阵或者其它算法,其它算法由MPC控制器块54输出的操纵变量与输入到MPC控制器52的被控变量CV和扰动变量DV之间的关系研发而来。众所周知,MPC算法块85试图最小化带有控制时域上最小操纵变量MV移动(move)的被控变量CV的误差,同时把被控变量CV保持在操作约束条件内,并在有限的时间内获得操纵变量MV和被控变量CV的稳定状态。

一般来说,MPC控制器块54在每次控制器扫描时都执行一次,以产生作为被控变量CV的单回路MPC控制信号,该控制信号基于分别存储在块70和85内的MPC控制模型和控制算法,对过程50进行控制。然而,由上述可知,过程50的动态通常随时间变化,这可能导致过程50的实际操作和MPC控制器块54内使用的过程50的模型之间产生不匹配。

为了弥补这个问题,自适应模型发生器52重新确定或者更新过程模型,该过程模型表示过程50,特别表示被MPC控制块54控制的过程50的回路。如果需要,自适应模型发生器可以为MPC控制器54的反馈通道和前馈通道确定同样的或者各自的过程模型。然后,自适应模型发生器52用更新的过程模型来确定用在块70中新的MPC控制模型和用在块85中新的MPC控制算法,从而使得MPC控制器54能够基于更准确反映过程50当前操作的过程模型来操作。这个更新过程使得MPC控制器54,在过程50的操作过程中,更适合在线过程50,从而消除或者减少模型的不匹配,并提供更好的控制。

一般来说,过程模型发生器52包括过程模型估计器90,其用于当过程50在线并正在运行时,为过程50,尤其是为过程50的正被MPC控制器块54控制的特定回路,确定或者重新计算新的模型。过程模型估计器90的输出是过程模型,比如参数化的模型,该参数化的模型根据一组参数限定过程50的操作。尽管其它参数化模型也可以在这里使用,但是最常见的参数化过程模型是一阶加滞后(first oder plus dead time)过程模型,它包括过程响应时间参数、过程增益参数和过程死区时间参数。名称为“自适应反馈/前馈PID控制器(Adaptive Feedback/Feedforward PID Controller)”的美国专利6,577,908以及名称为“基于自适应反馈前馈PID控制器的状态(State BasedAdaptive Feedback Feedforward PID Controller)”的美国申请公开2003/0195641,描述了根据用在自适应PID控制器中的过程变量限定或估计过程模型的方法。在此,将这两个申请的全部内容合并作为参考。

一般来说,在过程的正常操作过程中,过程模型估计器90定期采集在过程的正常操作期间表示被控变量CV、一个或多个操纵变量MV、扰动变量DV、设定点SP的数据,以及如果需要的话,表示可能的其它变量的数据。然后,过程模型估计器90检查或者分析这种数据(或者使用户通过如图1所示的用户界面例行程序44来做这些工作),以确定使过程50起作用或者使过程50需要被控制的任何过程输入变量何时会发生显著变化,例如设定点SP的变化、扰动变量DV的变化或者被控变量CV的变化。一旦检测到这种变化,过程模型估计器90就确定过程变量(即被控变量CV)何时达到稳态条件,并用在两个点之间采集的过程数据来确定过程对于该变化的响应。更特别地,过程50中的扰动或者设定点SP中的变化可以使MPC控制器54执行控制信号(操纵变量MV)的变化以便改变过程50。被控变量CV中的变化,随后将过程的响应反映在该变化上,并且过程模型估计器90可以用已知的技术来确定对过程50进行描述或者建模的参数化过程模型。由上述可知,该参数化过程模型可以是一阶加滞后过程模型或者任何其它类型的参数化过程模型。然而,重要的是,过程模型估计器90不需要为了确定过程模型而扰动或者打乱过程50,相反,它在过程50的正常操作或在线操作中分析所采集到的数据。因此,过程模型估计器90可以像在过程控制器设备(例如,图1中的过程控制器11)中的后台处理一样,在过程50的正常操作过程中连续执行,而不会给控制器处理器带来巨大的计算量,也不会扰动过程50。

在确定新的过程模型后,过程模型估计器90将过程模型(比如,所计算的过程增益K、死区时间DT和时间常数Tc)提供给MPC模型计算单元92以及移动补偿和设定点目标矢量滤波单元94。MPC模型计算单元92用新的过程模型计算典型的用在被控变量预测单元70中的MPC控制模型。该MPC控制模型通常以传递函数的形式被表示为响应曲线,该响应曲线定义了随着时间的推移到预测时域,被控变量CV对操纵变量MV(或用于前馈通道的扰动变量)中阶跃变化的响应。由于被控变量CV(用于直达预测时域的每个扫描时刻)的系列值,都源自参数化过程模型准确定义的过程,而参数化过程模型又是过程模型估计器90为了响应操纵变量MV的阶跃变化而开发的,所以该模型通常易于进行数学计算。

在确定MPC控制模型以后,MPC模型计算单元92将该模型提供给MPC算法计算单元96,并且为了将来使用或者为了更新MPC控制器54时,将该模型下载到MPC控制器54的被控变量预测单元70中,存储该模型。本质上同时,移动补偿(penalty on move)和设定点目标矢量滤波单元94计算或者以不同的方式确定将在MPC控制器54中使用的移动补偿和设定点轨线或者滤波系数。在下面将作更详细描述的一个实施例中,设定点目标矢量滤波轨线和移动补偿分别是用在SP预测单元80和MPC算法块85中的控制调谐变量,它们可以被自动计算。例如,移动补偿会自动基于到达稳态的过程时间Tss,该Tss根据过程模型估计器90开发的过程模型的响应时间被依次确定。在另一个实施例中,移动补偿和设定点目标矢量滤波轨线可以由例如控制操作员的用户输入或者指定。

MPC算法计算单元96利用MPC控制模型(典型地将该模型求逆)和移动补偿值,基于新确定的过程模型,确定适当的控制算法供MPC算法块85使用。此后,在适当的时候,比如当过程50处于稳态或者类似稳态时,或者当被用户通过用户界面指令时,自适应模型发生器52通过将新的MPC控制模型下载到被控变量预测单元70,将新的SP轨线或者滤波系数下载到SP预测块80(如果SP轨线或者滤波系数发生变化),并将新的MPC控制算法下载到MPC算法块85,来更新MPC控制器块54。

通过这种方式,当过程模型估计器90确定或者发现与用于配置MPC控制器54的过程模型在某些重要的方式上不同的用于过程50的过程模型时,MPC模型计算单元92和MPC算法计算器块96,可以以该模型计算新的MPC控制器参数、模型和算法为基础,然后将这些新的MPC控制器元素下载到MPC控制器54。

重要的是,可以确定,控制时域为1或2,也可能更多的单回路MPC或其它DMC型控制器,不需要大量计算就可以如上述一样调整,因此可以确定,当过程正在运行时,这样的自适应控制器可以在在线分布式或者其它过程控制器中运行或者执行,从而提供了可靠的在线自适应MPC(或者其它DMC型)控制器。特别地,用于控制时域为1或2的单回路MPC控制器的MPC控制算法(如用在图2中的块85中)可以被直接定义,即用非递归的不使用矩阵计算的一个或多个简单数学公式来定义。因此,在这些情况下,为块85确定MPC控制算法在计算上的开销不大,从而基于接收到的新过程模型,允许对MPC控制块54的新的MPC控制模型和控制算法进行频繁和快速的重新计算。由于这样的调整可以快速并实时地进行,并且可以在实际上执行MPC控制器54的分布式控制器中进行,所以可以在过程50运行的同时更新或调整在线MPC控制器块54。

更进一步地,由上述可知,已经确定,在很多情况下,比如在死区时间占主导地位的过程中,以及过程到达稳态的时间随着时间的推移而改变的情况下,包括具有较小的控制时域(例如,为1或更大,最多可能为五)的MPC的单回路MPC控制器,比PID控制器提供了更好的控制性能。

图3示出了流程图100,其可以被自适应MPC控制块38使用以便在图1所示的控制器11内执行自适应控制。在例行程序100的第一部分102中,过程模型估计器90在过程50在线操作的同时操作,以采集过程输入/输出数据,比如表示被控变量CV、操纵变量MV、设定点SP和扰动变量DV的数据,以及其它任何所需的或者必要的数据,并将这些数据存储在存储器中。定期地,比如在每次数据采集事件之后、在采集一定数量的数据之后、在一定时间后、响应用户的命令等,过程模型估计器90查找用于定义新的过程模型的数据块,特别地,在过程输入中查找扰动(比如,控制信号的变化),该扰动会引起过程输出(比如,被控变量CV)发生改变,然后达到稳态值。当检测到这样的变化时,或者响应于用户对一组数据的选择,以用于开发过程模型时,过程模型估计器90分析所选择的或者所确定的过程数据块来产生新的过程模型。

更特别地,可以由过程模型估计单元90实现的框104,采集过程输入/输出数据,框106确定是否在一段时间内采集了足够的数据,其中在这段时间内过程所经历的改变足以计算新的过程模型。框106也可以对用户命令做出响应,以根据所选择的一组过程数据产生过程模型。如果所采集的数据不是那些过程模型估计单元90可以用来计算新过程模型的数据,或者用户没有指令例行程序100开发新的过程模型,则框104继续采集过程输入/输出数据。另一方面,如果在过程所经历的改变或扰动足够计算新的过程模型的时间段内,已经采集了足够的过程数据,或者如果用户已经发起过程模型计算,那么框108就利用例如美国专利6,577,908和/或美国专利公开2003/0195641中描述的技术,计算新的过程模型,并将新的过程模型提供给例行程序100的第二部分110。

例行程序100的部分110根据所确定的过程模型确定新的MPC模型和算法。为了描述方便,框108所确定的过程模型将被假设为参数化的一阶加滞后过程模型,其包括反馈通道和前馈通道的限定过程增益、过程死区时间和过程时间常数的参数。然而,应该理解,过程模型可以只包括反馈通道的参数,也可以是不同类型或不同种类的一阶过程模型,或者可以是除一阶过程模型以外的任何过程模型。因此,一般而言,其它类型或形式的过程模型都可以代替该过程模型来使用。

如图3所示,例行程序100的部分110包括计算框112,其可以由图2所示的移动补偿和设定点目标矢量滤波单元94实现。框112基于新的过程模型,为MPC控制器确定扫描速率、执行时间、预测时域(predictive horizon)和达到稳态的时间中的一个或多个。

同自适应PID控制技术类似,基于过程模型,更特别地,基于过程模型的时间常数,在每次成功的进行完模型辨识后,对达到稳态的时间TSS进行更新。然而,不同于可以以任何扫描速率(只要扫描速率比过程响应速率快两倍)运行的PID控制器,自适应MPC控制器必须以一扫描速率运行,其中该扫描速率使得达到稳态的时间TSS在MPC控制器所使用的预测时域的范围内。为了调整或改变作为自适应过程的一部分的MPC控制器的扫描速率,并因此提供更好的控制,已经确定MPC控制器所使用的执行时间或者预测时域(通常被固定在MPC控制器中)可以改变,以便因此提供更好的MPC控制操作。

为了保证选择新的合适的扫描速率,框112首先用任何已知的方式,尤其是基于例如MPC控制器54的反馈通道的过程模型中所确定的时间常数,根据新的过程模型确定达到稳态的过程时间TSS。达到稳态的时间TSS可以由实际的时间(比如,分钟、秒等)确定或表示,或者基于达到稳态的时间TSS是基于固定的每个执行周期的控制器执行时间,所以达到稳态的时间TSS可以由控制器所需的执行周期的数量来表示。

接下来,执行时间可以被计算成达到稳态的时间TSS除以允许的最大预测时域,其中,该允许的最大预测时域可以由用户设定或者由配置工程师在自适应MPC控制器的配置阶段设定。这个计算式可以表示为:

Exec_Time=Trunc[TSS/PHmaX]

其中:

Exec_Time=执行时间;

TSS=达到稳态的时间;

PHmax=最大预测时域。

这里,Trunc是数学上的截尾操作。

在所描述的实施例中,所使用的最大预测时域PHmax为120,这意味着最多120个预测可以在每次扫描期间由被控变量预测单元70计算。然而,在很多情况下,这种计算会导致余数,这使得MPC的操作出现多多少少的不准确。为了避免除法中带有余数,进而减少浮点误差和控制器操作中的抖动,可以允许预测时域在最小值PHmin和最大值PHmax之间变化,并且可以选择,以便预测时域PH和执行时间的乘积等于达到稳态的时间TSS。然后,所选择的预测时域代替允许的最大预测时域PHmax,用作MPC控制器内所有内部回路(即,如图2所示的控制块54中的块70、74、80、84和85)的预测时域。因此,在这种情况下,预测时域根据为新过程模型所确定的达到稳态时间TSS,可以在例如60到120之间变化。

下述的表1示出各种执行时间Exec_Time和所选择的预测时域PH的组合的示例,这些组合可以基于特定的达到稳态时间TSS,有利地用在MPC控制器54内。应该理解,在这个例子中,表中的达到稳态的时间TSS(其是已知变量,根据该变量确定执行时间和预测时域)是在10到12800秒之间变化,同时执行时间在0.1到213ms之间变化,以使得所选择的预测时域PH在各种情况下都在60到120之间变化。虽然不是必须的,但是对于每个大于3200的达到稳态的时间,预测时域都被设置为60,即,允许的最小值,这是因为大于60的预测时域对于这么大的达到稳态的时间是不必要的。在任何情况下,如果需要的话,表1或者类似这样的预先计算的表所示的结果,可以被存储在自适应模型发生器52内,用于基于所确定的过程模型达到稳态的时间TSS,确定用在MPC控制器中的预测时域,其中,类似这样的预先计算的表,将需要的预测时域和执行时间的组合与所确定的不同的达到稳态的时间TSS相关联。当然,基于所确定的达到稳态的时间,产生预测时域和执行时间的组合的任何其它所需的方式,可以替换使用。

表1

  TSS  Exec_Time  PH  10  0.1  100  20  0.3  67  30  0.5  60  40  0.6  67  50  0.8  63  60  1  60  70  1  70  80  1  80  90  1  90  100  1  100

  110  1  110  120  2  60  130  2  65  140  2  70  150  2  75  160  2  80  170  2  85  180  3  60  190  3  63  200  3  67  210  3  70  220  3  73  230  3  77  240  4  60  250  4  63  260  4  65  270  4  68  280  4  70  290  4  73  300  5  60  310  5  62  320  5  64  330  5  66

  340  5  68  350  5  70  360  6  60  400  6  67  800  13  62  1600  26  62  3200  53  60  6400  106  60  12800  213  60

可见在任何情况下,自适应MPC控制器块38实际上能在调整过程中调整或改变它的预测时域和执行时间,以保证控制器的扫描速率被设置成在预测时域内保持达到稳态的时间TSS。如果需要的话,框112可以比较执行时间和控制器的扫描速率来确定所选择的或者所计算的执行时间是否小于所配置的控制器的扫描速率。如果此条件为真,框112可以经由例如操作员界面应用程序44给用户发送警告消息,指示应该增加控制器块的扫描速率来使MPC控制器正常运行。

接下来,可以在如图2所示的MPC模型计算块92中执行的框114,确定或者建立阶跃响应模型(MPC控制模型),该模型定义了随着预测时域PH所定义的时间的推移,被控变量CV对于操纵变量MV(用于反馈回路)的阶跃变化的反应,以及随着预测时域PH所定义的时间的推移,被控变量CV对于扰动变量DV(用于前馈回路)的阶跃变化的反应。当然,这样的阶跃响应模型可以根据块90开发的过程模型通过数学计算产生。一般而言,针对每个控制器扫描数,计算被控变量CV的响应,其中,控制器扫描数被框112定义的预测时域PH所限定。因此,如果预测时域是120,响应于第一次操纵变量MV中的阶跃变化,将确定120个不同的被控变量CV的响应,以定义MPC阶跃响应模型(用于反馈控制器通道)。此阶跃响应模型在此被表示成为阶跃响应矢量B,用非向量形式表示即为(b1,b2,....,bi,...bp),其中,p是所选择的预测时域,bp是在所选择的预测时域时的响应。

接下来,框116计算或者确定用在MPC算法中的移动补偿和误差补偿,并且如果需要的话,计算或者确定用在MPC控制器中的设定点滤波器常数或者轨线,以确定MPC控制器54的响应和鲁棒性。本质上,这些参数是MPC控制器的调谐参数。如果需要的话,误差补偿、SP滤波因子和移动补偿可以被自动确定,或者由用户通过例如图1所示的用户界面应用程序44进行设定。

自动设置设定点目标矢量滤波时间常数的一种方式是:定义设定点目标矢量滤波时间因子,该设定点目标矢量滤波器时间因子定义了关于过程达到稳态的时间的设定点目标矢量滤波的操作。比如,设定点目标矢量滤波器时间因子的范围可以为0到4,随后,设定点目标矢量滤波时间常数(定义了设定点目标矢量滤波器的时间常数)可以确定为过程达到稳态的时间TSS与设定点目标矢量滤波时间因子的乘积。应该理解,这个设定点目标矢量滤波因子可以随着每次对新过程模型的辨识而改变。当然,如果需要的话,设定点目标矢量滤波因子或者设定点目标矢量滤波时间常数都可以由用户选择或者提供。

一般而言,误差补偿(在计算控制器的移动时,定义了MPC控制器算法应用于期望的CV和预测的CV之间的误差矢量的系数)可以被设为1,并且不需要改变。事实上,在单回路系统中,只有移动补偿(POM)和误差补偿(PE)之间的比例重要,这意味着只要这些变量中的一个是可变的,其它的就不需要是可变的了。

在一个实施例中,每当过程模型变化时,都可以根据下式计算缺省的移动补偿(定义了MPC控制算法在计算控制器移动的过程中,获得单元控制信号的移动补偿):

PM=3(1+6DTPH+3G×DTPH).

这里DT是过程死区时间(来自过程模型),PH是预测时域,G是过程增益(来自过程模型),PM是所计算的移动补偿。一般而言,这个已经基于观察被启发式地确定的方程式,随着过程死区时间的增加,以及较低程度的随着过程增益的增加,获取更高的移动补偿。当然,可以替代使用计算移动补偿的推荐或缺省值的其它方程式或方法。

在任何情况下,移动补偿的推荐值都可以作为只读参数,示出在用户界面(比如,使用图1所示的界面应用程序44)上。然而,如果需要的话,用户界面应用程序44可以允许用户将推荐值(可以被当作默认值使用)改为其它值。执行这种改变的方式包括:允许用户直接指定需要的POM,或者允许用户指定用于改变推荐值的POM因子(即,作为推荐值的乘数)。这样的POM因子的范围可以为例如从0.1到10,也可以由用户使用用户界面显示屏幕的滚动条或者属性对话框,进行改变或者选择。在任何情况下,除了推荐POM值和POM因子,用户界面还可以制定用在MPC控制器中的POM的实际值(实际值是POM因子和POM推荐值的乘积)。

再次参见图3,接下来,框118计算或者确定用在图2所示的MPC算法块85中、在MPC控制器54的操作中使用的MPC控制算法。一般而言,当MPC控制器54是控制时域为1或2的单回路控制器时,这种算法可以用封闭的形式表示,这意味着基于模型更新,重新产生此算法可以被直接计算出来。

框118一般根据阶跃响应模型(或阶跃响应矢量)、移动补偿(POM)和误差补偿(对于此讨论,它被假设为1),开发MPC无约束增量控制器。在控制器扫描为k时,控制时域为m和预测时域为p的增量控制器一般的解决方案是:

ΔU(k)=KEp(k)=(SuTΓyTΓySuuTΓu)-1 SuTΓyTΓyEp(k)

其中:

K为MPC控制器的待计算的控制器增益矩阵;

ΔU(k)是m阶正增量控制器输出移动矢量;

Γy=diag[γ1,γ2,…,γp]是输出误差的补偿矩阵;

Γu=diag[u1,u2,…,um]是控制移动的补偿矩阵;

Su是p×m过程动态矩阵(控制矩阵);

Ep(k)是预测时域上的误差矢量。

对于控制时域等于1的MPC控制器,动态矩阵(转置矩阵)是:

SuT=BT=[b1,…,bi,…bp]T,其是简单的转置阶跃响应矢量。

另外:Γy=diagp[γ,γ,…,γ]和Γu=diag[u]=u

其中,每个u是单独的移动补偿,每个y是单独的误差补偿。现在,由上述可知,MPC控制器矩阵通常可以表示为:

K=(SuTΓyTΓySu+u2)-1SuTΓyTΓy=γ2(b1,...,bi,...,bp)Σipbi2γ2+u2=b1,...,bi,...,bpΣipbi2+u2γ2

这样假设是合理的,并且建立自适应控制器,以便γ=1。因此,控制器增益矩阵可以表示为:

K=b1,...,bi,...,bpΣipbi2+u2=b1,...,bi,...,bpc1+c2

因此,可以很容易地看到:控制时域为1的单回路MPC控制器是简单的由两个系数之和依比例确定的阶跃响应矢量,这两个系数为:

c1=Σipbi2,并且c2=u2

因此,作为一种封闭形式的非递归和非矩阵的公式,重新产生控制器增益矩阵K,是简单的计算步骤,其中该公式在每次新的过程模型被辨识且过程正在运行的同时,被控制器11中的如图2所示的MPC算法块85在线使用。

在控制时域等于1的MPC控制器的情况下,动态矩阵(转置矩阵)可以表示为:

SuT=b1,...,bi,...,bp-1,bp0,b1,...,bi,...,bp-1T

Γy=diagp[γ,γ,...,γ]

Γu=diag[u]=u,00,u.

在这种情况下,控制器增益矩阵K被推导为:

K=(SuTΓyTΓySu+u2,00,u2)-1SuTΓyTΓy=γ2Σ1pbi2+u2,γ2Σ1p-1bibi+1γ2Σ1p-1bibi+1,γ2Σ1p-1bi2+u2-1b1,...,bi,...,bp-1,bp0,b1,...,bi,...,bp-1γ2

K=γ2Σ1p-1bi2+u2γ2,-Σ1p-1bibi+1-Σ1p-1bibi+1,Σ1pbi2+u2γ2γ4(Σ1p-1bi2+u2γ2)(Σ1pbi2+u2γ2)-γ4(Σ1p-1bibi+1)2b1,...,bi,...,bp-1,bp0,b1,...,bi,...,bp-1γ2

K=b1(Σ1p-1bi2+u2γ2),b2(Σ1p-1bi2+u2γ2)-b1Σ1p-1bibi+1,...,bp(Σ1p-1bi2+u2γ2)-bp-1Σ1p-1bibi+1-b1Σ1p-1bibi+1,-b2Σ1p-1bibi+1+b1(Σ1pbi2+u2γ2),...,-bpΣ1p-1bibi+1+bp-1(Σ1pbi2+u2γ2)(Σ1p-1bi2+u2γ2)(Σ1pbi2+u2γ2)-(Σ1p-1bibi+1)2.

为了更简单地表达此公式,可以将以下变量定义为:

m=Σ1p-1bi2+u2γ2;

n=Σ1pbi2+u2γ2=m+bp;

l=Σ1p-1bibi+1;

r1=lm;and

r2=nl.

随后,利用这些变量,控制器增益矩阵K可以被表示为:

K=b1m,b2m-b1L,...,bpm-bp-1l-b1l,-b2l+b1n,...,-bpl+bp-1nmn-l2=m(b1,b2(1-b1b2r1),...,bp(1-bp-1bpr1))l(-b1,-b2(1-b1b2r2),...,-bp(1-bp-1bpr2))mn-l2

其也可以被重新表示为:

K=m(b1,b2(1-b1b2r1),...,bp(1-bp-1bpr1))l(-b1,-b2(1-b1b2r2),...,-bp(1-bp-1bpr2))mn-l2=m1m2mn-l2.

现在,对于k1的第一控制器移动的MPC控制器增益矩阵(即,两个控制时域中较大的第一控制器)为:

k1=[m1]mn-l2=[m(b1,b2(1-b1b2r1),...,bp(1-bp-1bpr1))]mn-l2=[b1,b2(1-b1b2r1),...,bp(1-bp-1bpr1)]n-lr1

因此,应该理解,双移动控制器的第一移动是重新调整的阶跃响应矢量,在某种程度上与控制时域为1的控制矢量类似。所有的阶跃响应系数的常数比例因子为:

1n-lr1=1Σ1pbi2+u2γ2-(Σ1p-1bibi+1)2Σ1p-1bi2+u2γ2.

当移动补偿(u)增大时,该系数减小,所以每个阶跃响应系数的单个比例因子可以表示为:

1-bp-1bpr1=1-bp-1bpΣ1p-1bibi+1Σ1p-1bi2+u2γ2.

这个推导得到的公式用更清楚的方式描述了阶跃响应矢量和控制器矢量的类似之处。然而,这个公式并不适合控制器计算,因为在这个阶跃系数比例中存在被0除的不可控制的可能性。然而,更合适的实现形式可以定义为:

k1=[b1m,b2m-b1l,...,bpm-bp-1l]mn-l2.

为了确定第一移动的控制器增益,可以设置如下的计算顺序:

首先,按照计算m。

第二,按照计算n。

第三,按照计算1。

接下来,计算mn-l2

此后,用m重新调整阶跃响应,然后用1重新调整阶跃响应并右移,即令b1=0。接下来,减去这两个经过重新调整的阶跃响应mB-1B(移位),并且用重新调整从此步骤获得的矢量,以便得到控制器矢量。用同样的方式,第二控制器移动k2的MPC控制器矩阵或增益可以被表示为:

k2=[m2]MN-L2=[(-b1,-b2(1-b1b2R2),...,-bp(1-bp-1bpR2))]MR2-L.

由上述可知,对于控制时域为2的单回路MPC控制器的情况,控制器增益公式不需要花费大量的计算,因此当控制器正在操作以控制过程时,该控制器增益公式可以在控制器内部被在线确定。此外,尽管在这里已经提出了控制时域为1和2的MPC控制器的控制器增益算法,但是控制时域较大,比如3、4、5甚至更大的MPC控制器,也可以利用数学计算来表达和确定,其中这些数学计算可以在过程控制器设备中执行,从而使得在过程的实际控制中,能够在线重新产生自适应MPC控制器。

再次参见图3,框118计算或者产生用在图2所示的MPC算法块85中的控制器增益算法之后,框120确定是否应该用新的控制器参数更新MPC控制器54。作为该处理的一部分,框120可以确定当前过程是否处于稳态或者处于类似的稳态,再或者是否已经准备更新MPC控制器54。框120可以确定或者替代确定是否用户已经发起自适应周期,或者是否已经指定MPC控制器54应该基于新的过程模型进行更新。如果过程目前正在经历控制变化,或正在经历被控变量CV的显著波动,那么框120可以等待,直到过程处于稳态或者类似的稳态。然而,当过程处于稳态或者正在经历控制器变化的状态,以及如果需要的话,用户已经被授权进行控制器更新,那么框122就将新的控制算法下载到MPC算法块85,并将新的响应模型下载到被控变量预测单元70。另外,框122将新的扫描速率、达到稳态的时间、执行时间和预测时域下载到MPC控制器54的所有块70、74、76、80和85中,因此这些块都根据相同的预测时域、扫描速率和执行时间进行操作。更进一步,如果需要的话,新的设定点目标矢量滤波常数或因子可以被下载到SP预测单元80,而新的移动补偿值可以被提供,以便在控制器算法85中使用,从而基于新的过程模型,用新的控制常数调谐MPC控制器54。

当下载完成后,框122将控制返回到框104,以继续采集数据。当然,应该理解,在例行程序100的其它块的操作过程中,控制框104可以继续采集过程数据。更进一步,由上述可知,设定点目标矢量滤波因子或者时间常数以及移动补偿变量这两个调谐因子,可以被用户随时改变,并可以随时被下载到MPC控制器中,以改变MPC控制器的操作。因此,可以在不同的时间调谐MPC控制器,也不需要等到MPC控制器已经基于新的过程模型更新后再进行调谐。换句话说,在过程操作期间,MPC控制器54可以在任何时候,用新的设定点目标矢量滤波因子和新的移动补偿值进行更新。

图4总地示出了自适应MPC控制器块,其表示或描述为功能块150,该功能块内部连接到功能块152和154,以形成控制模块。功能块152被描述为AI功能块,功能块154被描述为AO功能块,即使其它类型、种类和数量的功能块可以替代它们使用,并且在过程操作期间,在控制器(比如图1中所示的控制器11)中操作,以影响功能块150的输入和输出功能。如图4所示,自适应模型发生器52和MPC控制器54都被存储在自适应MPC控制器功能块150中并由其执行,并且这些模块通信方式连接,以接收必要的AI块152发送的输入,并将必要的输出提供给AO块154,从而影响过程回路或过程的控制。当然,可以提供足够数量的AI块152和AO块154,并且这些功能块可以用任何公知的方式连接到加工厂内的任何所需的组成部分,以接收任何所需的信号或者发送信号。然而,一般而言,需要提供给单回路MPC控制器至少一个单独的AI和单独的AO块,以在反馈通道中进行控制。然而,如果需要的话,附加的输入和输出可以通信连接到自适应模型发生器52以及MPC控制器54,以对前馈通道提供类似的单回路MPC控制,前馈通道可以按照与上述关于反馈通道的控制相似的方式被控制。另外,MPC控制器54可以按照此处对反馈通道所描述的一般方式,适用于前馈通道。更进一步,如果需要的话,自适应模型发生器52可以从加工厂接收输入信号,其中,MPC控制器54不用这些信号控制过程。

图5示出显示屏幕200,其由图1所示的用户界面应用程序44提供在显示设备上,例如图1所示的用户界面屏幕14,以允许用户查看在自适应MPC功能块150或38内发生了什么,以及指导自适应MPC过程。特别的,用户界面应用程序44可以提供显示器200,以使用户查看和选择用于确定过程模型的数据;初始化模型调整程序;为MPC控制器提供或改变调谐参数等。特别的,显示器200包括过程操作显示区域210,用于示出过程的当前操作,尤其是,被控变量、设定点、操纵变量和/或任何其它所需变量的历史值,以便用简单易懂的方式表示或显示过程操作。如果需要的话,用户可以查看这些数据,并且可以加重或选择(利用鼠标或其它输入设备)部分数据,用于标明当计算过程的新过程模型时使用的数据。

显示器200的部分220描述了与过程和MPC控制器有关的各种模型的信息,用于使用户更好地了解现在,在过程内部或过程的自适应MPC部分内正在发生什么。图5的部分220被分为四个子部分,包括反馈模型部分222、MPC反馈模型部分224、操作部分226和MPC调谐部分228。一般而言,反馈模型部分222将过程模型的指示提供给用户,其中,该过程模型是为MPC控制器的反馈通道计算的最新过程模型,并且在这种情况下,反馈模型部分222为这种模型提供模型参数的值,其中模型参数定义为过程增益、过程时间常数和死区时间。当前模型不需要是并且将来也不太可能是用于产生正在工厂内部运行的MPC控制器的过程模型。

MPC反馈模型部分224示出(在名称为“Calculated”的栏下面)MPC模型,该模型用于计算MPC算法和当前正在被MPC控制器的反馈通道使用的MPC过程模型。在这种情况下,过程控制器当前正在利用基于具有过程增益为1.00、时间常数为20.0和死区时间为1.0的过程模型产生的MPC控制器来操作。然而,在实现时,部分224也示出了最新为过程确定的作为在下一个调整周期中使用的过程模型的“Current”值。该模型示出在图5的示例中,作为反馈模型部分222中示出的最近计算的过程模型。正如所表示的那样,如果需要的话,用户可以通过为模型的参数输入新的值,来改变或者变更该过程模型。另外,更新按钮230允许用户使用在过程模型的当前值部分中指定的新的过程模型,来发起自适应MPC产生或计算。当然,如果需要的话,除了用户用更新按钮230发起更新以外,在每次过程模型产生后,可以自动使用最新计算的过程模型,并且可以自动地并周期地执行MPC控制器调整,以更新MPC控制模型。

显示器200的操作部分226示出过程当前正在运行的操作区域。值得注意的是,过程可以被定义为拥有独立的操作部分,如同由例如被控变量的值或任何其它类型变量的值所确定的一样。如果需要的话,可以基于过程正运行在其中的操作区域选择不同的模型。事实上,一些操作区域可能更适于这里所描述的自适应MPC控制器使用。操作区域226表明过程模型估计单元正在采集数据且处于学习模式。

重要的是,MPC调谐部分228通过允许用户改变SP滤波器的设置和移动补偿变量,来允许用户调谐MPC控制器。尤其,在这种情况下,用户可以在输入框235中指定SP滤波因子(当前设置为2),该因子与过程模型达到稳态的时间相乘,以确定在MPC控制器中使用的SP滤波时间常数。此外,滚动条238允许用户改变移动补偿的值以调谐MPC控制器,从而得到更慢或者更快的响应特性。一般而言,滑动条238可以用于指定或者改变移动补偿因子,该移动补偿因子与如上面对图3中框113的描述所计算的缺省移动补偿相乘。当然,如果需要的话,用户可以直接改变设定点目标矢量滤波和移动补偿因子。

无论如何,用户显示屏幕220可以被例如控制操作员的控制或者其它用户使用,以改变MPC控制器的调谐,基于在区域210中选择的过程数据更新过程模型或者使过程模型被重新计算或更新,使MPC控制器用最新的计算过程模型更新等。因此,用户界面显示屏幕200给用户提供了对于MPC控制器的自适应更新的高度或高水平的输入,包括能够选择SP滤波因子和移动补偿因子定义的控制器的鲁棒性,能限定用于产生新过程模型的数据以及是否和何时基于特定的过程模型更新MPC控制器。当然,自适应MPC控制器块可以完全自动化或者半自动化,其中这些功能可以自动地、周期地或者在重要时间,比如在确定了新的过程模型后执行。更进一步,由上述可知,自适应MPC控制器可以基于所估计的达到稳态的时间自动计算调谐参数,其中,所估计的达到稳态的时间由过程模型计算确定,这消除了已知MPC控制器的共同缺点,即需要执行初始调谐。在一个实施例中,初始过程模型可以根据过程数据确定,达到稳态的时间也可以根据过程数据计算出来,或者用户可以在开始就输入达到稳态的时间,其可以用于如上述一样地为POM和SP滤波因子确定调谐参数,也可以用于为控制器确定预测时域和执行时间。同样地,如果需要的话,用户可以指定初始过程模型,在第一次建立或者运行MPC控制块时使用。

尽管自适应MPC功能块在这里被描述和示出为拥有位于同一功能块中的自适应MPC模型发生器,并因此作为MPC控制器块在同一设备中执行,但是它也可以在单独的设备中执行自适应模型发生器,比如在用户界面设备中。尤其是,自适应模型发生器可以位于不同的设备中,比如工作站13之一中,并且自适应模型发生器也可以在控制器的每次运行或扫描期间,在MPC更新阶段等,结合图2所示与MPC控制器进行通信。当然,如果需要的话,通信接口,例如已知的OPC接口,可以用于在其中拥有MPC控制器的功能块和其它实现或执行自适应模型发生器块的工作站或计算机之间,提供通信接口。

另外,虽然在这里介绍的自适应MPC控制器块和其它块以及例行程序,都被描述为同Fieldbus和标准4-20毫安设备集合使用,但是它们同样可以利用其它的过程控制通信协议或编程环境来实现,并且可以与任何其它类型的设备、功能块或控制器一起使用。尽管这里描述的自适应MPC或其它自适应DMC控制块和有关的生成和查看例行程序都优选用软件实现,但是它们也同样可以用硬件、固件等实现,并且可以由任何其它与过程控制系统相关的处理器执行。因此,如果需要的话,这里描述的例行程序100或者它的任何部分,都可以在一个或者多个标准的多用途CPU或特定设计的硬件或诸如ASIC之类的固件中执行。当用软件实现时,软件可以存储在计算机可读存储器中,比如磁盘、激光盘、光盘、闪存或其它存储介质中,也可以存储在计算机或处理器等的RAM或ROM中。同样地,这些软件可以通过任何已知或所需的传送方法传送给用户或者过程控制系统,例如,包括通过计算机的可读盘或其它可移动的计算机存储机制;或者这些软件可以被调制,然后通过诸如电话线、因特网等通信信道发送出去(其被视为与通过可移动的存储介质提供这些软件相同或者可以互换)。

因此,尽管本发明已经参考具体示例进行了描述,其中,这些示例仅仅是示例性的,而不是限制性的,但是本领域的普通技术人员应该知道,在不脱离本发明的精神和范围的情况下,可以对所公开的实施例作修改、增加或删除。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号