说明书利用并行过程仿真的多目标预测过程优化
本申请是申请日为2006年12月5日、申请号为200680045695.9(PCT/US2006/046590)且名称为“利用并行过程仿真的多目标预测过程优化”的发明的分案申请。
相关申请
本专利对在2005年12月5日提交的、临时申请序号为60/742,322的美国专利(U.S.Provisional Application Serial No.60/742,322)提出优先权要求,所述美国专利的全部内容在此通过引用,明确地被并入本专利。
技术领域
本公开总体上涉及过程设备中的过程控制系统,尤其涉及利用过程仿真及预测模型的过程优化。
背景技术
过程控制系统广泛地用于制造产品或控制过程(例如化学品制造、发电厂控制等等)的工厂及/或车间。过程控制系统也用于自然资源的开采,比如石油及天然气钻探及处理过程等等。实质上,任何制造过程、资源开采过程等等,可以通过一个或多个过程控制系统的应用而得以自动化。相信所述过程控制系统最终也将更广泛地用于农业。
过程控制系统-如那些用于化学、石油、或其他过程的过程控制系统-典型地包括一个或多个集中式或分布式过程控制器,过程控制器通过模拟通信协议、数字通信协议或模拟/数字混合总线,与至少一个主机或操作员工作站或与一个或多个过程控制及仪器设备(比如现场设备)通信连接。现场设备可能是阀、阀定位器、开关、传送器及传感器(例如温度传感器、压力传感器、及流率传感器),它们在过程中发挥功能,如开启或关闭阀及测量或过程参数。过程控制器接收现场设备所进行的或与现场设备有关的过程测量的信号及/或关于现场设备的其他信息,并使用这些信息来实施控制例程,然后产生控制信号并通过一条或多条总线或其他通信线传送至现场设备,以 控制过程的操作。来自现场设备及控制器的信息通常传送到由操作员工作站执行的一种或多种应用程序,以使操作员能够针对过程执行必要的功能,比如检视过程的当前状态、更改过程的操作等等。
过程设备中的多种装置可以在物理及/或逻辑组中互连,以创建一个逻辑过程,比如一个控制环路。同样地,一个控制环路可以与其他控制环路及/或设备互连,以创建一个单元,而一个单元接着可以与其他单元互连,以创建一个区。过程设备一般包括互连区,而商业实体一般包括可以互连的过程设备。因此,一个过程设备包括带有互连资产的多级的层次,而一个企业可能包括互连过程设备。换句话说,与一个过程设备有关的资产或多个过程设备可以组合在一起,以构成在较高层次的资产。
过程控制器一般被编程来为定义予过程或过程中包含的多个不同环路中的每个环路执行不同的算法、子例程或控制环路(它们都是控制例程),比如流率控制环路、温度控制环路、压力控制环路等等。一般而言,每个这样的控制环路包括一个或多个输入功能块(比如模拟输入(AI)功能块)、单输出控制块(比如比例微分积分(PID)或模糊逻辑控制(FLC)功能块)及单输出功能块(比如模拟输出(AO)功能块)。这些控制环路一般执行单输入/单输出控制,这是由于控制块产生单控制输出,用于控制单过程输入,比如阀位置等等。然而,在某些情况下,使用多个独立操作的单输入/单输出控制环路并不是很有效,这是由于被控制的过程变量受超过一个单过程输入的影响,而且事实上每个过程输入可能影响许多过程输出的状态。例如,单输入/单输出控制环路导致过程输出以无法接受的方式运转,其中所述输出在永远不能达到稳定状态的情形下不停变化。
工业过程优化已经被用来确定特定问题的最佳解,除了考虑工厂收入的最大化、限制放射、最小化生产成本等等之外,其满足客户对不同产品的需求及在资源及设备的极限内进行。自1960年起,优化器便已经被开发。然而,优化中涉及的问题包括选择一个或多个优化变量、选择目标函数及识别各种制约,比如以上提供的例子。因此,问题涉及的制约限制了解的确定。
实时优化器(RTOs)已经被用于优化过程功能。一般上,实时优化器(RTO)使用线性及非线性高保真模型,它们一般需要充分的开发及维护工夫。然而,实施实时优化器(RTO)涉及的困难导致只有很少成功的安装,其成功安装比与模型预测控制(MPC)实施有关的成功安装还少得多。
模型预测控制(MPC)或其他类别的高级控制已经在特定被控制过程变量影响超过一个过程变量或输出的情形下被用于执行过程控制。自1970年代以来,许多成功的模型预测控制(MPC)实施已经成为过程工业中的高级多变量控制的主要形式。此外, MPC控制已经作为分布式控制系统层次化软件,实施在分布式控制系统中。4,616,308及4,349,869号美国专利(U.S.Patent Numbers 4,616,308and 4,349,869)概括地描述可以用于过程控制系统内的MPC控制器。典型的MPC应用优化器以实现经济优化及制约处理。
一般而言,模型预测控制(MPC)是一种多输入/多输出控制策略,其测量多个过程输入中的每个过程输入对多个过程输出中的每个过程输出的影响,然后使用这些测得的响应来创建过程的控制矩形阵或模型。所述控制矩形阵或模型(其概括地定义过程的动态操作)被数学地求逆,然后用于多输入/多输出控制器或作为多输入/多输出控制器使用,以便根据对过程输入的改变来控制过程输出。在有些情况下,过程模型以所述多个过程输入中的每个过程输入的过程输出响应曲线(典型地是阶跃响应曲线)代表,而且这些曲线可以根据传送到所述多个过程输入中的每个过程输入的一系列(例如)伪随机阶跃变化来创建。这些响应曲线可以以已知方式用于模拟过程。由于模型预测控制(MPC)在本领域中广为人知,因此这里将不对其细节进行描述。然而,模型预测控制(MPC)在“1996美国化学工程师学会会议”(AIChE Conference,1996)上由Qin,S.Joe及Thomas A.Badgwell发表的“工业模型预测控制技术评论”(An Overview of Industrial Model Predictive Control Technology)中概括地描述。
模型预测控制(MPC)已经被查明是一种有效和有用的控制技术,而且已经与过程优化共同被使用。为了优化使用模型预测控制(MPC)的过程,优化器使得由模型预测控制(MPC)例程确定的一个或多个过程输入变量最小化或最大化,以促使过程在最佳点位运行。虽然这个技术在计算上为可能,但需要选择(例如)对改善过程的经济运作(例如过程生产量或品质)有重大影响的过程变量,以便从经济立场对过程进行优化。就财政或经济观点而言,在最佳点位运行过程典型地需要同时控制许多过程变量,而不只是控制单一过程变量。带模型预测控制(MPC)的优化器的成功实施可以贡献这些因素:方便实施应用模型预测控制(MPC)的过程模拟、与配置系统的集成、用于模型修正的模型预测控制(MPC)反馈以及在优化模型中使用过程稳态模型预测。在这四个因素之中,与配置系统的集成是一重要因素。配置系统指定可利用什么设备、所述设备怎样配置,并指定与设备有关的制约。
在使用模型预测控制(MPC)的大多数情况下,过程中可用的操纵变量(即模型预测控制(MPC)例程的控制输出)的数目比过程的控制变量的数目(即必须被控制在特定设定点的过程变量的数目)来得大。因此,有更多自由度可用于优化及制约处理。在理论上,要执行这样的优化,应计算由过程变量显示的值、制约、界限及定义过程的最佳操作点的经济因素。在许多情况下,这些过程变量是受制约变量,这是由 于这些过程变量有界限,这些界限涉及与它们有关的过程的物理特性,而且这些变量必须保存在这些界限内。例如,代表蓄槽存量的过程变量限于实际蓄槽可实际达到的最高及最低水平。优化函数可以计算与每个受制约变量或辅助变量有关的成本及/或利润,以便在利润最大化及成本最小化的水平进行操作等等。这些辅助变量的测量可以接着作为输入,提供给模型预测控制(MPC)例程,并由模型预测控制(MPC)例程处理为设定点与由优化例程定义的辅助变量的操作点相等的控制变量。
使用优化器的预测稳态使得能够在不需要计算模拟的过程导数的情况下执行优化,而计算模拟的过程导数是一项复杂而容易产生错误的操作。在正常的操作情形下,模型预测控制(MPC)优化器为最佳经济解提供可接受的范围及界限。然而,如果所述的解不存在于预定义的范围及界限,则过程优化器就不能提供解。其后果是,过程优化器不能在每种情况下提供解。
操作过程环境中的过程仿真已经作为过程设计工具被使用,而且已经成功地达到过程控制的目的,包括操作员培训、控制策略设计及测试、过程优化及相关应用。并行仿真技术的引进已经扩展了仿真概念及其可应用领域。明确地说,使用并行仿真,过程与其操作同时地被仿真,从而创建仿真过程“影像”。多种仿真技术可以以这个方式使用,从高保真第一主模型到“黑箱”通用建模。例如,这个并行仿真方式已知能够在设计设备时使用HYSYS(一种高保真仿真编程)来实施过程仿真及能够在稍后使用相同的仿真来协助执行设备操作。并行仿真允许根据过程测量来对模拟结果进行连续的反馈更新,使得能够实现更高的性能表现及保真度,特别是与简单的模拟技术比较更是这样(比如不应用并行仿真的阶跃响应)。其结果是,开发及运行仿真的成本大幅度缩减,而且可被一般实施的过程控制系统接受。带有并行仿真特征的过程控制系统改善了性能表现,并扩展了功能,包括强化的处理系统诊断及优化。
在并行仿真中应用优化,对保持模型预测控制(MPC)优化的优点,有一定用处。提供可在任何情况下(不论预定义范围及界限)提供解的过程优化器,也很有用。现有恢复技术是基于受制约及受控制变量的优先级。明确地说,惩罚性松弛变量的使用,可能总是能够或几乎总是能够为制约优化问题提供可行的解。
发明内容
本发明提供一种利用过程仿真的优化系统及方法。明确地说,所述优化器使用根据过程仿真而得的过程仿真输出来开发目标值,以控制过程。仿真过程输出可以施加于所述优化器,直到达到过程的稳态,而所述优化器也可以使用实际过程输入。同时执行过程与过程操作使得能够使用得自实际过程的反馈来修正仿真结果。所述优化器 与仿真过程同时使用,并同时维持所述优化器与所述仿真之间的独立性。这些考虑是基于线性模型及多目标线性编程优化。然而,也可以使用附加技术,比如二次编程(QP)、非线性或线性化优化技术。所述优化稳态模型的建立及更新是根据动态线性或非线性仿真模型。优化器输出可以使最佳目标作为目标操纵变量或作为目标控制变量,施加于过程输入。
通过将最佳解的搜索扩展到主制约变量之外,可以在任何情况下确定优化问题的、由所述目标值定义的最佳解。明确地说,所述优化器可以使用目标函数(其可能包括亦被称为“松弛变量”的附加柔性变量),以便将所述目标函数扩展到预定义变量界限之外。所述优化器使目标函数最小化或最大化,同时使控制变量及操纵变量保持在预定义界限内。如果在预定义变量界限内没有找到解,则将松弛变量施加到目标函数。松弛变量的包合触犯预定义变量界限,而且使解的搜索范围扩展到预定义界限之外。实质上,松弛变量的包合使目标函数扩展到超过制约变量的自由度。
松弛变量的包合可以增量地施加,而松弛变量的每个施加使目标函数扩展到进一步的自由度,直到找到解为止。然而,每个松弛变量的包合可能伴随惩罚,以便试图在预定义界限内获得解,或尽量使超出界限的超额保持在最低程度。惩罚值可能视正在被触犯的变量的优先级而定,而且在一个例子中,惩罚值可能比优化过程涉及的任何成本或利润大得多。
由于利用过程仿真来进行优化,优化变量的选择可以有效地简化;在有些情况下,可以为精选配置选择正确的变量。在所有的情况下,控制策略、仿真及优化可能坐落及互相作用在一起,使得目标系统的所有部分发生联系,而且可以保持完整性。线性或非线性优化器有一定义多目的目标函数及柔性过程界限,这可以保证在任何过程条件下获得最佳解。通过使用实时过程仿真以及通过将得自过程的测量输入施加到优化器而获得预测稳态值,优化性能得以改善。稳态增益矩阵被优化器使用,并实时更新。所述稳态增益矩阵可能是基于仿真模型,尤其可能是基于阶跃响应模型。
附图说明
图1为一过程设备的原理图,其显示在一过程设备中实施的设备层次结构及指令的一个范例。
图2为一过程控制系统的框图,该过程控制系统包括带有结合优化器于MPC控制器的高级控制器功能块的控制模块。
图3为图2的所述高级控制器功能块的框图,该高级控制器功能块带有集成的优化器及MPC控制器。
图4为一流程图,其描绘创建及安装图3的集成优化器及MPC控制器功能块的方式。
图5为一流程图,其描绘图3的所述集成优化器及MPC控制器功能块在联机过程操作期间进行的操作。
图6为一示意图,其图解为制约处理而施加松弛变量。
图7为一示意图,其图解为使单边范围控制最大化而施加松弛变量。
图8为一示意图,其图解向双边范围控制施加松弛变量。
图9为一示意图,其图解为计算优选结算值而施加惩罚性松弛变量。
图10为一简化框图,其图解一仿真系统,该仿真系统带有多个仿真块,这些仿真块使用过程模型来提供未来预测过程值,并根据过程测量或用户输入来更新所述过程模型。
图11为一框图,其图解过程仿真与所述集成优化器及MPC控制器之间的互相作用。
图12为一示意图,其图解由所述优化器驱动的控制参数范围及方向。
图13为一示意图,其图解由所述优化器驱动的制约参数范围及方向。
图14为一示意图,其图解由所述优化器驱动的操纵参数范围及方向。
具体实施方式
现在参看图1,一过程设备10包括多个商业计算机系统或其他计算机系统,这些计算机系统通过一个或多个通信网络与多个控制及维护系统互联。过程设备10包括一个或多个过程控制系统12及14。过程控制系统12可以是传统的过程控制系统,比如PROVOX系统或RS3系统,或任何其他分布式控制系统(DCS),其包括一操作员界面12A,操作员界面12A连接到一控制器12B,并连接到输入/输出(I/O)卡12C,输入/输出(I/O)卡12C接着连接到多种现场设备,比如模拟现场设备及HART(可寻址远程传感器高速通道)现场设备15。过程控制系统14可以是分布式过程控制系统,比如DeltaVTM控制系统,其包括一个或多个操作员界面14A,操作员界面14A通过总线-比如以太总线-连接到一个或多个分布式控制器14B。举例而言,分布式控制器14B可以是由德克萨斯州(Texas)奥斯丁市(Austin)的费舍尔·柔斯芒特系统有限公司(Fisher Rosemount System,Inc.)出售的DeltaVTM控制器或任何符合要求的类别的控制器。分布式控制器14B通过输入/输出(I/O)设备(包括无线连接及输入/输出(I/O)设备),连接到一个或多个现场设备16,例如HART(可寻址远程传感器高速通道)现场设备或 Fieldbus(现场总线)现场设备或任何其他智能或非智能现场设备,例如包括那些使用(过程现场总线)协议、(工厂仪表世界协议)、(设备网)协议、(执行器传感器接口)协议及(控制器局域网络)协议其中之一的现场设备。已知现场设备16可以提供模拟的或数字的信息到涉及过程变量以及其他设备信息的控制器14B。操作员界面14A可以存储及执行过程控制操作员可利用的工具,以控制过程的操作,例如包括控制优化器、诊断专家、神经网络、调谐器等等。
此外,维护系统,例如执行AMS(资产管理系统)应用程序-比如执行由德克萨斯州奥斯丁市(Austin,Texas)的费舍尔·柔斯芒特系统有限公司(Fisher Rosemount System,Inc.)出售的AMS Device Manager(资产管理软件设备管理器)应用程序或任何其他设备监测及通信应用程序--的计算机,可以连接到过程控制系统12及14或连接到其中的单一设备,以执行维护及监测活动。例如,一维护计算机18可以通过任何符合要求的通信线或通信网络(包括无线的或手持的设备网络)连接到控制器12B及/或连接到设备15,以和设备15通信及在有些情况下在设备15上重新配置或执行其他维护活动。同样地,维护应用程序-比如AMS应用程序-可以安装在与分布式过程控制系统14有关的一个或多个用户界面14A内,并由与分布式过程控制系统14有关的一个或多个用户界面14A执行,以执行维护和监测功能,包括采集涉及设备16的操作状况的数据。
过程设备10也包括多种旋转设备20,比如涡轮、发动机、等等,这些旋转设备通过某种永久的或暂时的通信链接(比如总线、无线通信系统、或连接到设备20以取得读数然后被拆除的手持设备)连接到一维护计算机22。维护计算机22可以存储及执行已知的监测及诊断应用程序23,例如由田纳西州的诺克斯维尔市(Knoxville,Tennessee)的CSi系统公司(CSi Systems,Inc.)出售的RBMwareTM应用程序、由德克萨斯州奥斯丁市(Austin,Texas)的费舍尔·柔斯芒特系统有限公司(Fisher Rosemount System,Inc.)出售的AMS Device Manager(资产管理软件设备管理器)应用程序或任何其他已知的、用于诊断、监测及优化旋转设备20的操作状态的应用程序。维护人员通常使用应用程序23来维护及监视设备10中的旋转设备20的性能,以确定旋转设备20存在的问题,以及确定旋转设备20在什么时候必须修理或更换或确定旋转设备20是否必须修理或更换。
同样地,发电及分配系统24具有与设备10有关的发电及分配设备25,其通过(例如)总线连接到另一台计算机26,该计算机运行并监视设备10内的发电及分配设备25的操作。计算机26可以执行已知的电能控制及诊断应用程序27,例 如那些由力博特公司(Liebert)及ASCO公司或其他公司提供的电能控制及诊断应用程序,以控制及维护发电及分配设备25。
计算机系统30通信连接到与设备10内的所述多种功能性系统有关的计算机或界面,包括与过程控制功能12及14、维护功能(比如那些在计算机18、14A、22及26内实施的功能和商业功能)有关的计算机或界面。明确地说,计算机系统30通信连接到传统过程控制系统12,及通信连接到与该控制系统有关的维护界面18,计算机系统30连接到分布式过程控制系统14的过程控制及/或维护界面14A,计算机系统30连接到旋转设备维护计算机22及连接到发电及分配计算机26,所有这些连接都是通过总线32完成的。总线32可以使用任何符合要求的或适当的局域网(LAN)或广域网(WAN)协议,以提供通信。如图1所示,计算机30也通过相同的或另一不同的网络总线32连接到商业系统计算机及维护计划计算机35及36。计算机30也可以通过(例如)总线32连接到一设备级局域网(LAN)37、一企业级广域网(WAN)38、以及连接到一计算机系统40,使得能够从遥远位置对设备10进行远程监测或与设备10通信。可选择地或附加地,计算机系统30、过程控制系统12、分布式过程控制系统14、维护界面18、过程控制及/或维护界面14A、旋转设备维护计算机22及/或发电及分配计算机26可以通过互联网互联及通过互联网兼容协议进行通信。因此,设备10可以具有通过一个或多个远程设备来进行检视及控制的功能,以便检视及控制设备10内的多种系统、计算机及例程。
此外,远程监测设备可以通过互联网通信连接到设备10,以便提供附加分析及诊断资源存取通路。在一个范例中,设备10可以连接到一个故障防卫计划系统,该系统包括多种设备资产的分析,并根据这些设备资产对设备或对设备内的系统的重要性来优先化资产,以提供临界数据。
参看图2,其中显示一使用集成模型预测控制及优化的过程控制系统100的进一步范例。作为一个范例,过程控制系统100可能总体上相应于图1的过程控制系统10。虽然以下描述一个模型预测控制及优化范例,但更详细的范例见公布于2006年5月23日、标题为“过程控制系统中的集成模型预测控制及优化”(Integrated Model Predictive Control and Optimization Within a Process Control System)的7,050,863号美国专利(U.S.Patent No.7,050,863),所述美国专利的全部公开内容在此通过引用被并入本专利。
过程控制系统100包括过程控制器110,过程控制器110通信连接到历史数据库120,并通信连接到一个或多个主工作站或主计算机130(其可以是任何类别的 个人计算机、工作站等等),每个主工作站或主计算机130带有一个显示屏幕140。控制器110也通过输入/输出(I/O)卡260及280连接到现场设备150-220。历史数据库120可以是任何期望类别的数据采集单元,其具有任何期望类别的存储器及任何期望或公知的用于存储数据的软件、硬件或固件,而且可以与其中一个工作站130分开(如图2所示)或可以成为其一部分。控制器110(举例而言,其可以是由艾默生过程控制有限公司(Emerson Process Management)出售的DeltaVTM控制器)通过(例如)以太网连接或任何其他期望的通信网络290,通信连接到主计算机130及历史数据库120。通信网络290的形式可以是局域网(LAN)、广域网(WAN)、通信网络等等,而且可以使用固定线路或无线技术来实施。控制器110还使用任何期望的硬件及软件(例如与标准的4-20mA设备及/或任何智能通信协议-比如FOUNDATION Fieldbus TM协议、HART协议等等有关的-硬件及软件),通信连接到现场设备150-220。
现场设备150-220可以是任何类别的设备,比如传感器、阀、变送器、定位器等等,而输入/输出卡260及280可以是任何类别的符合任何期望通信协议或控制器协议的输入/输出设备。在图2所示的实施例中,现场设备150-180是标准的4-20mA设备,它们沿着模拟线路通信连接到输入/输出卡260,而现场设备190-220是智能设备,比如Foundation FieldbusTM现场设备,它们使用Fieldbus协议通信并沿着数字总线通信连接到输入/输出卡280。当然,现场设备150-220可以遵循任何其他期望的一个或多个标准或协议,包括将来开发的任何标准或协议。
控制器110(其可以是设备100中有至少一个处理器的许多分布式控制器其中之一)实施或监督一个或多个过程控制例程,过程控制例程可以包括存储于其中或与其有关的控制环路。控制器110也与现场设备150-220、主计算机130及历史数据库120进行通信,以便以期望方式来控制过程。应该注意的是,在此描述的任何控制例程或元件的部分可以由不同的控制器或其他设备实施或执行(如果需要的话)。同样地,在此描述的需要在过程控制系统100中实施的控制例程或元件可以采用任何形式,包括软件、固件、硬件等等。以本讨论为例,过程控制元件可以是过程控制系统的任何部分或局部,例如包括存储在在任何计算机可读媒介上的例程、块或模块。控制例程可以是控制程序的多个模块或任何部分,比如子例程、子例程的多个部分(比如多条代码线)等等,所述控制例程可以以任何期望的软件格式实施,比如使用梯形逻辑、顺序功能图、功能块图,对象导向编程、或使用任何其他软件编程语言或设计范式来实施。同样地,所述控制例程可以被固化成一个或多个可擦除可编程只读存储器(EPROMs)、电可擦除可编程只 读存储器(EEPROMs)、专用集成电路(ASICs)、或任何其他硬件或固件元件。此外,所述控制例程可以使用任何设计工具来设计,包括图形设计工具或任何其他类别的软件/硬件/固件编程或设计工具。因此,控制器110可以配置成以任何期望方式来实施控制策略或控制例程。
在一个实施例中,控制器110使用通常称为功能块的元件来实施控制策略,其中每个功能块是一个完整控制例程的一个部分或对象(例如子例程),而且每个功能块(通过被称为“链接”的通信)与其他功能块一起工作,以便实施过程控制系统100中的过程控制环路。功能块典型地执行以下功能的其中之一,以便执行在过程控制系统100中的一些物理功能,即:输入功能,比如与变送器、传感器或其他过程参数测量设备相关的输入功能;控制功能,比如与执行PID、模糊逻辑等控制有关的控制功能;或输出功能(其负责控制一些设备(比如阀)的操作)。当然,存在混合的及其他类别的功能块。在这些功能块用于或与标准的4-20mA设备及某些类别的智能现场设备(比如设备)相关时,这些功能块可以典型地存储于控制器110中并由其执行;或在这些功能块用户或与Fieldbus设备相关时,这些功能块可以存储于所述现场设备本身,并由所述现场设备本身执行。虽然在此使用功能块控制策略(其使用对象导向编程范式)来描述所述控制系统,但所述控制策略或控制环路或模块也可以使用其他协议(比如梯形逻辑、顺序功能图等等)来实施或设计,或使用任何其他期望的编程语言或范式来实施或设计。
如图2的扩展块300所示,控制器110可以包括多个单环路控制例程,如图解的例程320及340,而且,控制器110可以实施一个或多个高级控制环路,如图解的控制环路360。每个这样的环路典型地称为控制模块。单环路控制例程320及340被图解为分别使用单输入/单输出模糊路基控制(FLC)块及单输入/单输出PID控制块来执行单环路控制,所述模糊路基控制(FLC)块及单输入/单输出PID控制块连接到适当的模拟输入(AI)功能块及模拟输出(AO)功能块,所述模拟输入(AI)功能块及模拟输出(AO)功能块可以与过程控制设备(比如阀)有关、与测量设备(比如温度变送器及压力变送器)有关、或与过程控制系统100中的任何其他设备有关。高级控制环路360被图解为包括一个高级控制块380,该高级控制块380具有通信连接到多个模拟输入(AI)功能块的多个输入,并具有通信连接到多个模拟输出(AO)功能块的多个输出,虽然高级控制块380的输入及输出可以连接到任何其他期望的功能块或控制元件,以接收其他类别的输入并提供其他类别的控制输出。将作进一步描述的是,高级控制块380可以是集成了模型 预测控制例程与优化器的、对过程或过程的局部执行优化控制的控制块。虽然高级控制块380在此被描述为包括模型预测控制(MPC)块,但高级控制块380也可以包括任何其他多输入/多输出控制例程或程序,比如神经网络建模例程或神经网络控制例程、多变量模糊逻辑控制例程等等。应该了解的是,图2所示的功能块(包括高级控制块380)可以由控制器110执行,或可以位于并由任何其他处理设备执行,比如由工作站130的其中之一或甚至是现场设备190220的其中之一执行。
如图2所示,工作站130的其中之一包括一高级控制块产生例程400,高级控制块产生例程400用于创建、下载及实施高级控制块380。虽然高级控制块产生例程400可以存储在工作站130的存储器并且由其中的处理器执行,但如果需要,这个例程(或其任何部分)也可以附加地或替代地存储在过程控制系统100中的任何其他设备或由过程控制系统100中的任何其他设备执行。一般而言,高级控制块产生例程400包括一控制块创建例程420(控制块创建例程420创建如在此进一步描述的高级控制块,并将这个高级控制块连接到所述过程控制系统)、一过程模拟例程440(过程模拟例程440根据由所述高级控制块采集的数据,为过程或过程的局部创建过程模型)、一控制逻辑参数创建例程460(控制逻辑参数创建例程460根据所述过程模型,创建控制逻辑参数,并存储或下载所述高级控制块中的这些控制逻辑参数,以用于控制过程)及一优化器例程480(优化器例程480创建一优化器,以便同所述高级控制块一起使用)。应该了解,例程420、440、460及480可以由一系列的不同的例程组成,比如由第一例程(第一例程创建一高级控制元件,该高级控制元件的控制输入适合接收过程输出,其控制输出适合提供控制信号给过程输入)、第二例程(第二例程使得用户能够在过程控制例程(其可以是任何期望的配置例程)中下载及通信连接所述高级控制元件)、第三例程(第三例程使用所述高级控制元件来为每个过程输入提供激励波形)、第四例程(第四例程使用所述高级控制元件来采集反映所述过程输出中的每个过程输出对所述激励波形的响应的数据)、第五例程(第五例程为所述高级控制块选择或使用户能够为所述高级控制块选择一集合输入)、第六例程(第六例程创建一过程模型)、第七例程(第七例程根据所述过程模型来开发高级控制逻辑参数)、第八例程(第八例程将所述高级控制逻辑放置在所述高级控制元件,而且如果需要,将所述过程模型放置在所述高级控制元件,以使得所述高级控制元件能够控制过程)以及第九例程(第九例程选择或使用户能够选择优化器,以用于高级控制块380)。
图3为一更详细的框图,其图解通信连接到一过程500的高级控制块380的一个实施例,已知高级控制块380产生一集合操纵变量MVs,操纵变量MVs被提供给其他功能块,而这些其他功能块接着连接到过程500的控制输入。如图3所示,高级控制块380包括一MPC控制器块502、一优化器504、一目标转换块505、一阶跃响应模型或控制矩阵506及一输入处理/过滤块508。MPC控制器502可以是任何标准的方形的M x M(M可以是任何大于一的数)MPC例程或程序,其输入数与输出数相同。MPC控制器502接收在过程500中测量的一集合的N个控制变量CV及辅助变量AV(它们是数值的向量)、一集合的扰动变量DV(它们是已知的提供给过程500的或预计在未来某个时候提供给过程500的改变或扰动)以及一集合的、提供自目标转换块505的稳态目标控制变量CVT及目标辅助变量AVT,作为输入。MPC控制器502使用这些输入来创建所述集合的M个操纵变量MV(以控制信号的形式),并将这些操纵变量MV信号传输,以控制过程500。
此外,MPC控制器502在预测时域计算并向输入处理/过滤块508提供依次代表控制变量CV、辅助变量AV以及操纵变量MV的预测值的一集合的预测稳态控制变量CVSS及稳态辅助变量AVSS,以及一集合的预测稳态操纵变量MVSS。输入处理/过滤块508处理所述控制变量CVSS、辅助变量AVSS及操纵变量MVSS的已确定的预测稳态值,以减低噪音及未预知的扰动对这些变量的影响。应该了解,输入处理/过滤块508可以包括一低通过滤器或任何其他输入处理器,所述低通过滤器或任何其他输入处理器减低噪音、模拟误差及扰动对这些值的影响,并向优化器504提供已过滤的控制变量CVSSfil、已过滤的辅助变量AVSSfil及已过滤的操纵变量MVSSfil。
在这个例子中,优化器504是一线性编程(LP)优化器,其使用可从选择块510提供的目标函数(OF)来执行过程优化。可选择地,优化器504可以是二次编程优化器,而二次编程优化器是带有线性模型及二次目标函数的优化器。一般而言,目标函数(OF)将指明与每个控制变量、辅助变量及操纵变量有关的成本及利润,而优化器504通过最大化或最小化所述目标函数,为这些变量设定目标值。选择块510可以选择被提供给优化器504的目标函数(OF),作为数学地代表定义过程500的最佳操作的不同方式的一集合的预存储目标函数514的其中之一。例如,预存储目标函数514的其中之一可以配置成最大化设备的利润,另一个预存储目标函数514可以配置成最小化对供应不足的特定原材料的使用,而再另一个预存储目标函数514可以配置成最大化在过程500中制造的产品的品质。一般而言,所述目标函数使用与控制变量、辅助变量及操纵变量的每个移动有关 的成本或利润,确定由控制变量CV的设定点或范围及辅助变量AV及操纵变量MV的界限定义的可接受的点的集合中的最佳过程操作点。当然,可以改为使用任何期望的目标函数,或除了使用在此描述的那些目标函数之外,还可以使用任何期望的目标函数,包括使多个方面的利害关系中的每个方面的利害关系(比如原材料、利益率等等)优化到某个程度的目标函数。
要选择目标函数514的其中之一,用户或操作员可以通过在操作员终端或用户终端上(比如在图2的工作站130的其中之一上)选择该目标函数,提供需使用的目标函数514的指示,这个选择是通过提供一输入512到选择块510而进行的。为响应输入512,选择块510将所选择的目标函数OF提供给优化器504。当然,用户或操作员可以在过程的操作期间改变正在被使用的目标函数。如果需要,可以在用户不提供或不选择目标函数的情况下使用一默认目标函数。以下将对一个可能的默认目标函数进行更详细的讨论。虽然被描述为高级控制块380的部分,但不同的目标函数可以存储在图2的操作员终端130,而且这些目标函数的其中之一可以在高级控制块380的创建或产生期间被提供给这个块。
除了接收目标函数OF之外,优化器504还接收一集合的控制变量设定点(它们典型地是由操作员为过程500的控制变量CV指定的设定点,而且可以由操作员或其他用户修改)及接收与控制变量CV中的每个控制变量CV有关的范围及加权或优先级,作为输入。优化器504还接收正被用于控制过程500的、辅助变量AV的一集合的范围或制约界限及一集合的加权或优先级以及操纵变量MV的一集合的界限。一般而言,辅助变量及操纵变量的范围定义(典型地是根据设备的物理特性)辅助变量及操纵变量的界限,而控制变量的范围则提供控制变量可符合要求地对过程进行控制的运行范围。控制变量及辅助变量的加权指明在优化过程期间控制变量与辅助变量相互之间的相对重要性,而且在有些情况下,如果有些制约被触犯,控制变量及辅助变量的加权可以使优化器504能够产生控制目标解。
在操作期间,优化器504可以使用线性编程(LP)技术来执行优化。对于有多个操纵输入(独立变量)及多个控制或制约变量(因变量)的过程单元而言,优化技术是有用的控制技术。一个方式是使用带稳态模型的线性编程(LP)。仿真环境(比如模型预测控制)有可轻易地利用的过程稳态。已知线性编程是用来解一集合的线形方程式及不等式的一种数学方法,这个数学方法最大化或最小化某个被称为目标函数的附加函数。所述目标函数的最终形式是所述独立操纵变量mvi的函数或所述独立操纵变量的增量δmvi的函数:
Q=c1mv1+c2mv2+...+cmmvm
其中ci是与mvi单位改变相关的成本或利润。一般上,原始目标函数可以建立成用户在输入MV及输出CV的优化目标的混合。原始目标函数可以得自以下方程式:
Qmin=UCTT*ΔCV(t+p)+UMVT*ΔMV(t+c)]]>
其中ΔCV(t+p)是在预测时域的末端的控制变量增量(过程输出)的向量,ΔMV(t+c)是在控制时域的末端的操纵变量增量的向量,而UCT及UMV依次是CV及MV的单位成本的向量。可以假设所有CV变量是位于预测时域的末端及所有MV变量是位于控制时域的末端-即使如果以上的方程式中没有使用时间变量。
以上方程式的向量标记代表许多目标函数。明确地说,每个cvi的目标可以以分别的目标函数代表,其形式如下:
qi=ucti*δcvi=ucti(ai1δmv1+ai2δmv2+...+aimδmvm)=
c1δmv1+c2δmv2+...+cmδmvm=qi(ΔMV)
其中aij是过程模型增益系数,它们使过程输出i及过程输入j发生联系。因此,原始目标函数可以表示为:
Qmin=Σ1mqi(ΔMV)+qm+1(ΔMV)=Σ1m+1qi(ΔMV)]]>
这个形式的目标函数相应于非标准化加权和的多目标函数。
如以上所述,所述目标函数可以表示经济值,如成本或利润,但也可以改为表示其他目标。此外,应该了解,稳态增益矩阵定义操纵变量及控制变量或辅助变量的每个可能的配对的稳态增益。换句话说,稳态增益矩阵定义因每个操纵变量及扰动变量中的单位改变而在每个控制变量及辅助变量中产生的稳态增益。这个稳态增益矩阵通常是个N x M矩阵,其中N是控制变量及辅助变量的数目,而M是用于优化器例程的操纵变量的数目。一般上,N可以大于、等于或小于M,而最普遍的情况是N大于M。
使用任何已知的或标准的线性编程(LP)算法或技术,优化器504反复确定目标操纵变量MVT集合(根据稳态增益矩阵确定),这些目标操纵变量MVT最大化或最小化已选择的目标函数OF,并同时使过程操作满足或符合控制变量CV设定点范围界限、辅助变量AV制约界限及操纵变量MV界限。在一个实施例中,优化器504实际上确定操纵变量中的改变,并使用预测稳态控制变量CVSSfil、稳态辅助变量AVSSfil及稳态操纵变量MVssfil的指示来确定过程操作中相对于其当前的操作的改变,即确定MPC控制例程在达到目标或最佳过程操作点的过程期间 的动态操作。这个动态操作很重要,这是由于有必要确保从当前的操作点到目标操作点的移动期间不触犯任何制约界限。
在一个实施例中,线性编程(LP)优化器504可以设计成最小化以下形式的目标函数:
Q=Pt*A*ΔMV+CtΔMV
其中Q是总成本/利润,P是与Avs及CVs相关的利润向量,C是与MVs相关的成本向量,A是增益矩阵,而ΔMV是MVs的计得改变的向量。
假设所述目标函数被最小化,则利润值被设为负数,而成本值被设为正数,以指明它们对目标的影响。使用这个目标函数,线性编程(LP)优化器504计算使所述目标函数最小化的、操纵变量MV中的改变,并同时确保控制变量CV保持在距离它们的目标设定点的一个范围之内、确保辅助变量AV保持在它们的制约上限及下限之间以及确保操纵变量MV保持在它们的上限及下限之间。
基于阶跃响应及用于模型预测控制的过程模拟技术在控制时域上应用操纵变量(MV)增量,造成预测时域的末端的控制及制约值(CV)的增量值。在一个可以使用的优化程序中,操纵变量的增量值在目前时间(t)时被使用,操纵变量的一个数目的增量被应用在控制时域上,而控制变量及辅助变量的增量值(而不是线性编程(LP)应用中的典型的当前值)在预测时域的末端被确定。当然,可以适当地为这个变化修改线性编程(LP)算法。无论如何,线性编程(LP)优化器504可以使用稳态模型,因此,其应用需要稳态条件,而且在过程模拟中可利用预测时域末端的稳态条件。有了通常在MPC设计中使用的预测时域,就可为自调节过程担保未来稳态。一个m x n输入-输出过程的、其预测时域p及控制时域c以增量形式表示的一个可能的预测过程稳态方程式是:
ΔCV(t+p)=A*ΔMV(t+c)
其中:
ΔCV(t+p)=Δcv1ΛΔcvn]]>
表示在预测时域的末端(t+p)的输出的预测改变的向量,
A=a11Ka1mMOMan1Kanm]]>
是过程稳态n x m增益矩阵,其中anm是过程模型稳态增益系数,它们使输出n及输入m之间的过程输出i及过程输入j发生联系,以及
ΔMV(t+c)=Δmv1ΛΔmvm]]>
表示在控制时域的末端(t+c)的操纵变量的改变的向量。
向量ΔMV(t+c)代表由每个控制器输出mvi在控制时域上所进行的改变的和,所以每个控制器输出的改变可以表示为:
Δmvi=Σj=1cmvi(t+j)]]>i=1,2,…,m.
所述改变应满足操纵变量MVs及控制变量CVs(辅助变量在这里被当成是控制变量)的界限:
MVmin≤MVcurrent+ΔMV(t+c)≤MVmax
CVmin≤CVpredicted+ΔCV(t+p)=CVpredicted+A*ΔMV(t+c)≤CVmax
在这个例子中,用于最大化产品价值及最小化原料成本的目标函数可以联合定义为:
Qmin=-UCVT*ΔCV(t+p)+UMVT*ΔMV(t+c)]]>
其中UCV是控制变量CV过程值的单位改变的成本向量,而UMV是操纵变量MV过程值的单位改变的成本向量。
应用以上第一个方程式,所述目标函数可以以操纵变量MV表示为:
Qmin=-UCVT*A*ΔMV(t+c)+UMVT*ΔMV(t+c)]]>
为了求得最佳解,线性编程(LP)算法计算由这个方程式定义的范围中的初始顶点的目标函数,并在接下来的每个步骤改善所述的解,直到所述算法以目标函数的最大(或最小)值作为最佳解来确定顶点为止。确定的最佳操纵变量值被应用为需在控制时域中实现的目标操纵变量MVT。
一般而言,在准备的矩阵上运行线性编程(LP)算法可获得三个可能结果。第一,有目标操纵变量MVT的一个唯一解。第二,所述的解无界限,而如果每个控制变量及辅助变量有高限及低限,这不应发生。第三,没有解,这意味对辅助变量的界限或制约太严厉。为了处理第三个情况,可以放松总体制约以便获得解。基本的假设是,优化器不能改变对操纵变量的界限(高/低限)。对于辅助变量而 言,优化器也一样不能改变其制约或界限(高/低限)。然而,优化器可以从驱动控制变量CV到指定的设定点(CV设定点控制)改变为驱动控制变量CV到距离设定点的一个范围内的或设定点周围的任何的值(CV范围控制)。在这种情况下,允许将控制变量的值放置在一个范围内,而不是将控制变量的值放置在一特定设定点。如果有几个辅助变量AV触犯它们的制约,而且从CV设定点控制到CV范围控制的转换不能提供一个解,也可以根据所提供的加权或优先级指定来放松或忽略所述辅助变量的制约。在一个实施例中,可以通过允许每个辅助变量触犯其各自的制约来最小化所述辅助变量的方差或通过以有顺序的方式放弃最低优先级的辅助变量的制约来确定解。
如以上所述,目标函数OF可以由控制块产生编程400选择或设定为默认。以下提供一个确定这样的默认设置的方法。明确地说,虽然有必要提供优化的能力,但许多情况可能只是需要以还是遵守辅助变量及操纵变量的操作制约的方式来保持控制变量的设定点。对于这些应用而言,高级控制块380可以配置成单独地作为MPC功能块来操作。为了提供这个使用方便,一默认“操作”目标函数可以自动地创建,而连同默认辅助变量AV加权,默认成本被分配予其中不同的变量。这些默认值可以设定辅助变量AV的所有成本,操纵变量MV使一些其他预定成本分配与辅助变量AV及操纵变量MV相等,或操纵变量MV提供一些其他预定成本分配予辅助变量AV及操纵变量MV。当专家选项被选择时,则用户可以创建附加优化选择及定义附加优化选择的与不同目标函数514相关的成本。专家用户也将被允许更改所述默认目标函数的默认辅助变量AV加权及控制变量CV加权。
在一个实施例中,当(例如)不为过程配置定义经济学时,目标函数可以根据MPC配置自动地建立。一般上,目标函数可以使用下列公式来建立:
CDT=CT+PT*A=[C1,...,Cj,...,Cm]+[Σi=1npiai1,Σi=1npiai2,...,Σi=1npiaim,]=[CD1,...,CDj,...,CDm]]]>
变量Cj及pj可以根据所配置设置来定义。明确地说,假设控制变量CV设定点只能定义于LL(低限)或HL(高限),则pj值以下列方式定义:
pj=-1 如果设定点定义于LL(低限),或“最小化”被选择;以及
pj=1 如果设定点定义于HL(高限),或“最大化”被选择。
假设没有为辅助变量AV输入任何配置信息,则所有辅助变量AV的pj=0。同样地,对于操纵变量MV而言,Cj值视优选操纵变量目标MVT是否被定义而 定。在优选操纵变量目标MVT被定义时:
Cj=1 如果MVT是在HL(高限),或“最大化”被选择;
Cj=-1 如果MVT是在LL(低限),或“最小化”被选择;以及
Cj=0 如果MVT未被定义。
如果需要,可以调整同时使用优化器504与MPC控制器502的选择,以便从而提供一优化程度。为了执行这个功能,通过对由MPC控制器502及优化器504确定的操纵变量MV的改变应用不同的加权,可以修改由控制器502使用的操纵变量MV的改变。操纵变量MV的这样的加权结合在此称为“有效操纵变量”(MVeff)。有效MVeff可以确定为:
ΔMVeff=ΔMVmpc(αS)+ΔMVopt(1-α)]]>0≤α≤1,
其中S被任意地或启发式地选择。典型地,S将大于一或可能在十的范围内。
在这里,在α=0时,优化器贡献在产生时设定的有效输出。在α=1时,控制器只提供MPC动态控制。当然,0和1之间的范围贡献不同的优化器及MPC控制。
以上所述的默认目标函数可以用于确定优化器在其不同的可能操作模式期间的操作。明确地说,当控制变量CVs的数目匹配操纵变量MVs的数目时,所述默认设置的预期行为是,只要辅助变量Avs及操纵变量MVs被预测将在它们的界限内,则控制变量CV设定点将保持不变。如果预测一辅助变量或一操纵变量将触犯其界限,则控制变量工作设定点将在它们的范围内改变,以防止这些界限被触犯。如果在这种情况下优化器504不能找到满足辅助变量界限及操纵变量界限的解及同时使控制变量保持于它们的范围之内,则控制变量将保持在它们的范围之内,与此同时,辅助变量被允许偏离它们的制约界限。在寻求最佳解的过程中,被预测触犯界限的那些辅助变量Avs将被平等地对待,而且它们的平均界限偏移将被最小化。
要实现这个行为,目标函数使用的默认成本/利润将自动地被设定,使得控制变量CV将被分配以一利润1(如果该范围被定义允许在所述设定点之下的偏移)及一利润-1(如果该范围被定义允许在所述设定点之上的偏移)。在界限内的辅助变量Avs将被分配以一利润0,而操纵变量MVs将被分配以一成本0。
当控制变量CVs的数目小于操纵变量MVs的数目时,则额外的自由度可以用来满足与配置的操纵变量的MV最终静止位置相关的必要条件。在这里,只要辅助变量及操纵变量被预测将在它们的界限内,则控制变量设定点(如果任何控制变量CVs被定义)将保持不变。操纵变量相对于配置最终静止位置的平均偏移将 被最小化。如果预测一个或多个辅助变量或操纵变量将触犯其界限,则控制变量工作设定点将在它们的范围内改变,以防止这些界限被触犯。在这种情况下,如果存在多个解,则用于控制的解将使操纵变量相对于配置最终静止位置的平均偏移最小化。
当优化器504不能不能找到满足辅助变量界限及操纵变量界限的解(即:解不存在)及同时使控制变量保持于它们的范围之内,则控制变量将保持在它们的范围之内,与此同时,辅助变量被允许偏离它们的制约界限。在寻求最佳解的过程中,被预测触犯界限的那些辅助变量将被平等地对待,而且它们的平均界限偏移将被最小化。要实现这个行为,目标函数使用的默认成本/利润将自动地被设定,使得控制变量将被分配以一利润1(如果该范围被定义允许在所述设定点之下的偏移)及一利润-1(如果该范围被定义允许在所述设定点之上的偏移)。辅助变量将被分配以一利润1或-1,而操纵变量将被分配以一成本0.1。
无论如何,在操作之后,优化器504向目标转换块505提供所述集合的最佳或目标操纵变量MVT,而目标转换块505使用所述稳态增益矩阵来确定由所述目标操纵变量MVT产生的目标稳态控制变量及目标稳态辅助变量。这个转换在计算上很直接,这是由于所述稳态增益矩阵定义操纵变量与控制变量及辅助变量之间的相互作用,而且所述稳态增益矩阵可以从而根据所定义的目标(稳态)操纵变量MVT来唯一地确定目标控制变量CVT及目标辅助变量AVT。
一旦被确定,N个目标控制变量CVT及目标辅助变量AVT中的至少一个子集合被提供给MPC控制器52,作为输入,而如以上所述,MPC控制器52使用这些目标值CVT及AVT来(在控制时域上)确定新的稳态操纵变量MVSS集合,这个集合驱动当前的控制变量CV及辅助变量AV到预测时域的末端的目标值CVT及AVT。当然,已知所述MPC控制器按阶跃改变辅助变量,以试图达到这些变量MVSS的稳态值,而在理论上,这些变量MVSS的稳态值将是由优化器504确定的目标操纵变量MVT。由于优化器504及MPC控制器502在每个过程扫描期间如以上所述的那样操作,操纵变量的目标值MVT可以因不同扫描而不同,因此,所述MPC控制器绝不可能实际地达到这些目标操纵变量MVT集合中的任何一个特定集合,特别是在过程500中存在噪音、未预料的扰动及改变等的情况下更是如此。然而,优化器504总是驱动控制器502使操纵变量MV移向最佳解。
已知MPC控制器502包括一控制预测过程模型516,控制预测过程模型516可以是N x(M+D)阶跃响应矩阵(其中N是控制变量CV的数目加上辅助变量AV的数目,M是操纵变量MV的数目,而D是扰动变量DV的数目)。控制预测过 程模型516在一输出518上为每个控制变量CV及辅助变量AV产生一个先前计得的预测,而一向量求和器520从控制变量CV及辅助变量AV的实际测量值减去这些当前时间的预测值,以在输入522上产生一误差或校正向量。
控制预测过程模型516接着使用所述N x(M+D)阶跃响应矩阵,根据被提供给控制预测过程模型516的其他输入的扰动变量及操纵变量,预测每个控制变量CV及辅助变量AV在预测时域的未来控制参数。控制预测过程模型516也向输入处理/过滤块508提供控制变量及辅助变量的预测稳态值CVSS及AVSS。
控制目标块524使用先前为高级控制块380建立的轨道过滤器526,确定由目标转换块505提供给它的N个目标控制变量CVT及辅助变量AVT中的每个目标控制变量CVT及辅助变量AVT的控制目标向量。明确地说,所述轨道过滤器提供一单位向量,定义控制变量及辅助变量在一定时间期间应被驱动到它们的目标值的方式。控制目标块524使用这个单位向量及所述目标变量CVT及AVT,产生定义在由预测时域时间定义的一定时间期间目标变量CVT及AVT的改变的每个控制变量及辅助变量的动态控制目标向量。一向量求和器528接着从所述动态控制向量减去每个控制变量CV及辅助变量AV的未来控制参数向量,以定义每个控制变量CV及辅助变量AV的误差向量。每个控制变量CV及辅助变量AV的未来误差向量接着被提供给MPC算法,MPC算法运行来选择使操纵变量MV在控制时域期间的(例如)最小方差最小化及使控制变量CV及辅助变量AV在预测时域期间的(例如)最小方差最小化的操纵变量MV阶跃。当然,MPC算法或控制器使用根据输入到MPC控制器502的N个控制变量及辅助变量与由MPC控制器502输出的M个操纵变量之间的关系开发的M x M过程模型或控制矩阵。
更明确地说,对优化器起作用的所述MPC算法有两个主要目标。第一,所述MPC算法试图在操作制约内以最小限度的MV移动来最小化CV控制误差,及第二,试图达到由优化器设定的最佳稳态MV值及达到根据所述最佳稳态MV值直接计算的目标CV值。
为了满足这些目标,可以扩展初始的无制约MPC算法,以使MV目标值包合到最小方解中。这个MPC控制器的目标函数为:
minΔMV(k){||Γy[CV(k)-R(k)]||2+||ΓuΔMV(k)||2+||Γ0[ΣΔMV(k)-ΔMVT]||2}]]>
其中CV(k)是控制输出p-阶跃向前预测向量,R(k)是p-阶跃向前参考轨道(设定点)向量,ΔMV(k)是c-阶跃向前增量控制移动向量,Γy=diag{Γy1,...,Γyp}是控制输出误差上的惩罚矩阵,Γu=diag{Γu1,...,Γuc}是控制移动上的惩罚矩阵, p是预测时域(阶跃数目),c是控制时域(阶跃数目),而Γo是在控制时域期间的控制器输出移动的和相对于由优化器定义的MV的目标最佳改变的误差上的惩罚。为了简易起见,用于单输入/单输出(SISO)控制的目标函数被显示。
应该了解,首两项是适用于无制约MPC控制器的目标函数,而第三项设置一个附加条件,使控制器输出移动的和等于最佳目标。换句话说,首两项为控制器动态操作设置目标,而第三项设置稳态优化目标。
应该注意的是,这个控制器的一般解与无制约MPC控制器的一般解一样可以表示为:
ΔMV(k)=(SuTΓTΓSu+ΓuTΓu)-1SuTΓTΓEp+1(k)=KompcEp+1(k)
其中ΔMV(k)是在时间k时MPC控制器输出的改变,Kompc是优化MPC控制器增益,Su是根据一单输入/单输出(SISO)模型的维数为p x c的阶跃响应及一有m个操纵输入及n个控制输出的多输入/多输出(MIMO)模型的维数为p*n x c*m的阶跃响应而建立的过程动态矩阵。
对于优化MPC而言,单输入/单输出(SISO)模型的动态矩阵扩展成:(p+1)xm,而多输入/多输出(MIMO)模型的动态矩阵扩展成:(p+m)*n x c*m,以便容纳MV误差。Ep+1(k)是预测时域期间的CV误差向量,及控制时域期间的控制器输出移动的和相对于MV的目标最佳改变的误差。矩阵Γ结合矩阵Γy及Γo,而且在单输入/单输出(SISO)控制器是维数为(p+1)的方形矩阵,在多变量控制器是维数为[n(p+m)]的方形矩阵。上标文字T表示一转置矩阵。
已经确定的是,由于优化器504根据所有控制变量CV及辅助变量AV来优化,以确定一目标集合的操纵变量MVT来定义一唯一最佳操作点;MPC控制器502不使用其控制矩阵中的子集合的控制变量CV及辅助变量AV来进行操作,以从该子集合实际地产生操纵变量输出,并没关系,这是由于当控制器502驱动所选择的子集合的控制变量CV及辅助变量AV到它们的相关目标时,整个集合的控制变量及辅助变量的其他子集合也将会是在它们的目标值。因此,已经确定可以一带M x M控制矩阵的方形(M x M)MPC控制器可以与使用一长方形(N x M)过程模型的优化器一同被使用来执行过程优化。这使标准MPC控制技术能够在不需要在控制器中以这样的转换技术的伴随近似值及风险来求逆非方形矩阵的情况下,与标准优化技术一同被使用。
最佳操纵变量输入(MV)值作为设定点被应用于本地MV环路-如果CV是在人工或前馈控制之下。如果CV是在自动反馈控制之下,则最佳CV值作为需以 预测时域达到的目标值(设定点)被应用。在一个实施例中,当MPC控制器成方形时(即:当操纵变量MV的数目与控制变量CV的数目相等时),则操纵变量MV目标值可以通过以下CV值的改变而有效地达到:
ΔCV=A*ΔMVT
其中ΔMVT是MV的最佳目标改变,而ΔCV是达到最佳MV所需的CV改变。CV改变是通过管理CV设定点来实施。
在操作中,优化器504在每个扫描为MPC无制约控制器设置及更新稳态目标。因此,MPC控制器502执行无制约算法。由于目标CVT及AVT是以考虑制约的方式设置,只要可行解存在,所述控制器在制约界限内工作。优化因此是所述MPC控制器的组成部分。
图4及图5描绘一流程图600,流程图600图解用于执行集成模型预测控制及优化的步骤。流程图600概括地分为两部分,即600a(图4)及600b(图5),这两部分图解在过程操作之前发生的函数(600a)及在过程操作期间(例如在过程操作的每个扫描期间)发生的函数(600b)。在过程操作之前,操作员或工程师采取多个步骤来创建高级控制块380,包括一集成MPC控制器及优化器。明确地说,在流程块602,一高级控制模板可以被选择,以作为高级控制块380使用。所述模板可以存储在及复制自用户界面130上的配置应用程序中的一个库,而且可以包括MPC控制器例程520的通用数学及逻辑函数及没有所述特定MPC的优化器540、过程模型及稳态增益或控制矩阵及所述特定目标函数。这个高级控制模板可以放置在带有其他块(比如配置成与过程500中的设备进行通信的输入块及输出块)以及其他类别的功能块-比如控制块(包括比例微分积分(PID)、神经网络及模糊逻辑控制功能块)。应该了解,在一个实施例中,模块中的所述的每个块是一对象导向编程范式中的对象,其输入及输出相互连接,以执行所述的块之间的通信。在操作期间,运行所述模块的处理器在不同时间按顺序执行每个块,使用对所述的块的输入来产生所述的块的输出,这些输出接着按所述的块之间的指定通信链路的定义,被提供给其他块的输入。
在流程块604,操作员定义需用于控制块380的特定操纵变量、控制变量、制约变量及扰动变量。如果需要,在一配置编程中(比如图2的编程400中),用户可以检视所述控制模板,选择需命名及配置的输入及输出,使用任何标准浏览器在配置环境中进行浏览以找出控制系统中的实际输入及输出,以及选择这些实际控制变量作为所述控制模板的输入及输出控制变量。
在选择对所述高级控制功能块的输入及输出之后,用户可以定义与所述控制变量相关的设定点,与所述控制变量、辅助变量及操纵变量相关的范围或界限,以及与每个所述控制变量、辅助变量及操纵变量相关的加权。当然,有些信息(比如制约界限或范围)可能已经与这些变量相关,这是由于这些变量在过程控制系统配置环境中被选择或找到。如果需要,在图4的流程块606,操作员可以通过为每个操纵变量、控制变量及辅助变量指定单位成本及/或利润,配置需在优化器中使用的一个或多个目标函数。当然,在这个时候,操作员可以如以上所述的那样选择使用默认目标函数。
在所述输入(控制变量、辅助变量及扰动变量)被命名及联系到所述高级控制模板,而所述加权、界限及设定点与所述高级控制模板发生联系时,在图4的流程块608,所述高级控制模板被下载到过程中的选定控制器,作为将用于控制的功能块。所述控制块的一般特性及配置这个控制块的方式描述于标题为“过程控制系统中的集成高级控制块”(Integrated Advanced Control Blocks in Process Control Systems)的6,445,6063号美国专利(U.S.Patent No.6,445,6063),所述美国专利被转让予本专利的受让人,而且在此通过引用,明确地被并入本专利。虽然本专利描述创建过程控制系统中的MPC控制器的特性而不讨论优化器可以连接到该控制器的方式,但应该了解,连接及配置所述控制器所采取的一般步骤可以用于在此与所述模板一同描述的控制块380,包括在此讨论的控制块380的所有逻辑元件,而不只是包括本专利中描述者。
无论如何,在所述高级控制模板被下载到所述控制器之后,操作员可以在流程块610选择运行所述高级控制模板的测试阶段,以产生将在MPC控制器算法中使用的阶跃响应矩阵及过程模型。如以上识别的专利中所述,在测试阶段,高级控制块380中的控制逻辑向过程提供一系列的伪随机波形,作为操纵变量,并观察控制变量及辅助变量(其实质上被MPC控制器处理成控制变量)的改变。如果需要,操纵变量及扰动变量以及控制变量及辅助变量可以由图2的历史数据库120采集,操作员可以设置配置编程400(图2)来从历史数据库120获取这些数据,并以任何方式对这些数据执行趋势分析以获得或确定阶跃响应矩阵,而每个阶跃响应识别控制变量或辅助变量的其中之一的时间相对于操纵变量及控制变量的其中之一(而且只是其中之一)的单位改变的响应。这个单位改变一般是个阶跃改变,但可以是另一类别的改变,比如脉冲或倾斜改变。另外,如果需要,控制块380可以在对过程500应用伪随机波形时产生阶跃响应,以响应所采集的数据,然后将这些波形提供给正在由创建及安装高级控制块380的操作员或用户使用的操 作员界面130。
所述测试例程可以为操作员提供采集及倾向数据的图,这使操作员能够指令阶跃响应曲线的创建,因此能够指令在所述高级控制块的MPC控制器中使用的过程模型或控制矩阵的创建。在为所述高级控制块创建过程模型之前,操作员可以指定将使用的来自趋势图的数据。明确地说,操作员可以指定所述图的起点及终点作为用来创建阶跃响应的数据。当然,用户可以包括或排除任何期望数据,而且可以为多个趋势图的每一个执行这些函数,并使不同的趋势图与(例如)不同的操纵变量、控制变量、辅助变量等相关。
为了创建一集合的阶跃响应,创建例程将使用来自趋势图的选定数据来产生一结合的阶跃响应,而每个阶跃响应指示控制变量或辅助变量的其中之一相对于操纵变量或扰动变量的其中之一的响应。这个产生过程广为人知,而且在此将不作更详细的描述。
在阶跃响应矩阵被创建之后,在控制变量及辅助变量的数目比操纵变量的数目多的情况下,阶跃响应矩阵被用于选择所述子集合的控制变量及辅助变量,该子集合的控制变量及辅助变量将作为M x M过程模型,或作为需要求逆及在MPC控制器502中使用的控制矩阵,在MPC算法中使用。这个选择过程可以由操作员人工地执行或由(例如)用户界面130中可存取所述阶跃响应矩阵的例程自动地执行。一般而言,控制变量及辅助变量的其中一个单一变量将被识别为与操纵变量的其中一个单一变量最紧密地相关。因此,控制变量或辅助变量(它们是过程控制器的输入)中的一个单一及唯一(即不同的)变量将与每个不同的操纵变量(它们是过程控制器的输出)发生联系,这使得MPC算法可以基于根据一M x M集合的阶跃响应来创建的过程模型。
在一个使用启发式方法来提供配对的实施例中,自动例程或操作员将选择所述集合的M个(其中M等于操纵变量的数目)控制变量及辅助变量,以试图选择对一个特定操纵变量中的单位改变有某个最大增益及最快响应时间的某种组合的单一控制变量或辅助变量,并配对这两个变量。当然,在有些情况下,一特定控制变量或辅助变量可能有最大增益及对多个操纵变量有最快响应时间。在这里,该控制变量或辅助变量可能与所述相关操纵变量配对,而且其实可能与不产生最大增益及最快响应时间的操纵变量配对,这是由于总的说来,导致较少增益或较慢响应时间的操纵变量不可能影响任何其他控制变量或辅助变量到可接受程度。因此,在一方面该对操纵变量及在另一方面所述控制变量或辅助变量总的说来是被选择来使所述操纵变量与所述子集合的控制变量及辅助变量配对,而所述子集 合的控制变量及辅助变量代表对所述操纵变量最有响应性的控制变量。此外,如果所有所述控制变量不被选择为所述子集合的M个控制变量及辅助变量的其中之一,并没有关系,因此,所述MPC控制器不接收所有所述控制变量作为对其的输入,这是由于所述集合的控制变量及辅助变量目标值是由所述优化器选择,以代表在非选择控制变量(以及非选择辅助变量)在它们的设定点或在它们的提供的操作范围内时所述过程的操作点。
当然,由于一方面可能有数以十计及甚至数以百计的控制变量及辅助变量,而另一方面有数以十计或数以百计的操纵变量,要选择对每个不同的操纵变量有最佳响应的集合的控制变量及辅助变量可能有困难,至少以显示的观点来看是这样。为了克服这个问题,操作员界面130中的高级控制块产生例程400可以包括或向用户或操作员提供一集合的屏幕显示,以帮助操作员或操作员能够适当地选择应在操作期间用于MPC控制器520的子集合的控制变量及辅助变量。
因此,在图4所示的流程块612,操作员可以被提供以一屏幕,操作员可以在其中检视每个所述控制变量及辅助变量对所述操纵变量中的一个特定或选定操作变量的响应。操作员可以检视每个所述控制变量及辅助变量对每个所述不同的操纵变量的阶跃响应,并在过程期间选择对该操纵变量的响应性最佳的一个控制变量或辅助变量。典型地,操作员将试图选择对所述操纵变量有最高稳态增益及最快响应时间的最佳组合的控制变量或操纵变量。选择所述控制变量及操纵变量的其中之一,可以以一对话框被选择为对这个操纵变量最有效的变量。在这个实施例中,控制例程400(其当然将先前选择的控制变量及辅助变量存储在一存储器中)可以检查以确保操作员不选择相同的控制变量或操纵变量为与两个不同的操纵变量相关。如果用户或操作员选择一个已经为另一操纵变量而被选择的控制变量或辅助变量,则例程400可以提供一错误信息予用户或操作员,以就有关选择先前选择的控制变量或辅助变量对用户或操作员进行通知。照这样,例程400防止为两个或更多个不同的操纵变量选择相同的控制变量或辅助变量。
应该了解的是,操作员可以被允许选择所述子集合的M个控制变量及辅助变量,以作为MPC控制算法的输入,这在这些变量有许多个时特别有用。当然,在流程块94确定的所述集合的控制变量及制约变量可以根据某种预定标准或选择例程自动地或电子地选择,所述预定标准或选择例程可以根据增益响应及时间延迟的某个组合来选择将使用的输入变量,而增益响应及时间延迟的某个组合是根据受控制的制约变量及所述操纵变量的阶跃响应确定。
在另一个实施例中,一自动选择过程可以首先通过基于矩阵的条件数(例如 通过最小化条件数至某个期望程度)选择一输入/输出矩阵,以确定一控制矩阵,然后根据所述控制矩阵开发控制器配置。
在这个例子中,对于过程增益矩阵而言,矩阵ATA的条件数A可以被确定,以测试矩阵的可控制性。较小的条件数一般意味更好的可控制性,而较高的条件数意味较少的可控制性及在动态控制操作期间的更多的控制步骤或动作。由于没有严格的标准来定义可控制性的可接受程度,所以条件数可以作为多种潜在控制矩阵的相对比较及作为对病态矩阵的测试来使用。已知所有病态矩阵的条件数趋近于无限。数学上,病态条件在共线性过程变量的情况发生-即由于控制矩阵中的共线性行或共线性列而发生。因此,影响条件数及可控制性的一个主要因素是矩阵行及矩阵列之间的交互相关性。仔细选择控制矩阵中的输入-输出变量可以减少条件问题。实际上,如果控制矩阵的条件数数以百计(例如500)或更高,应予以关注。这样的矩阵,控制器操纵变量移动太多。
如以上所述,控制矩阵解决动态控制问题,线性编程(LP)优化器解决稳态优化问题,而且控制矩阵必须是方形输入-输出矩阵,即使MPC控制器功能块可以有不同数目的操纵变量MVs(包括辅助变量AVs)及控制变量CVs。为了开始为控制矩阵选择输入及输出,以用于产生控制器,所有可用的操纵变量MVs典型地被包合或选择作为控制器输出。在选择输出(操纵变量MVs)之后,作为动态控制矩阵的部分的过程输出变量(即控制变量CVs及辅助变量AVs)必须以可以产生不是病态的方形控制矩阵的方式来选择。
现在将讨论一种自动或人工地选择控制变量CVs及辅助变量AVs作为控制矩阵中的输入的方法,应该了解,也可以使用其他方法。
步骤1–如果可能,控制变量CVs被选择,直到控制变量CVs的数目与操纵变量MVs的数目(即控制器输出的数目)相等为止。在控制变量CVs的数目比操纵变量MVs的数目多的情况下,控制变量CVs可以根据任何期望标准(比如优先级、增益或相位响应、用户输入等等)以任何顺序选择。如果控制变量CVs可能数目总和与操纵变量MVs的数目相等,则进入“步骤4”,以测试合成方形控制矩阵的条件数的可接受性。如果控制变量CVs的数目比操纵变量MVs的数目少,则辅助变量AVs可以如“步骤2”的描述那样选择。如果没有控制变量CVs被定义,则选择相对于一操纵变量MV有最大增益的辅助变量AV,并进入“步骤2”。
步骤2-逐个地计算被添加到由先前选择的控制变量CVs及辅助变量AVs定义的已选择控制矩阵的每个可能的辅助变量AV的条件数。应该了解,由已选择控制变量CVs定义的矩阵将包括每个已选择控制变量CV及辅助变量AV的一行, 其定义该控制变量CV或辅助变量AV对先前选择的操纵变量MVs中的每个操纵变量MV的稳态增益。
步骤3-选择在“步骤2”确定的导致合成矩阵的条件数最小的辅助变量AV,并定义所述矩阵为先前的矩阵加上已选择辅助变量AV。如果这时操纵变量MVs的数目等于已选择控制变量CVs的数目加上已选择辅助变量AVs的数目(即所述矩阵这时是方形),则进入“步骤4”。否则返回到“步骤2”。
步骤4-计算已创建的方形控制矩阵Ac的条件数。如果需要,方形控制矩阵Ac的条件数计算(而不是矩阵AcTAc)可以使用,则这些不同的矩阵的条件数是平方根关系。
步骤5-如果在“步骤4”计算的条件数可被接受,则通过选择相对于一特定操纵变量MV有最大增益的控制变量CV或辅助变量AV,使每个控制变量CV及已选择辅助变量AV与一操纵变量MV发生联系,直到配对完成为止。在这时,选择过程完成。另一方面,如果所述条件数大于最小可接受条件数,则删除添加到所述控制矩阵的最后的辅助变量AV或控制变量CV,并执行“步骤6”的环绕程序。
步骤6-逐个地为已选择操纵变量MVs中的每个操纵变量MV执行环绕程序,并计算因每个环绕程序导致的矩阵的条件数。实质上,环绕程序是通过依次地放置不同操纵变量MVs中的每个操纵变量MV的单位响应来代替已删除的辅助变量AV(或控制变量CV)而执行的。所述单位响应在所述矩阵的其中一个位置将是一,在其他每个位置都是零。实质上,在这种情形下,所述特定操纵变量MVs中的每个操纵变量MV被用作一输入及一输出(而不是所述辅助变量AV),以构成条件完好的方形控制矩阵。作为一个例子,对于4x4矩阵而言,1000、0100、0010及0001的组合将放置在增益矩阵Ac的已删除辅助变量AV的行中。
步骤7-在为操纵变量MVs中的每个操纵变量MV执行环绕程序之后,选择导致最小条件数的组合。如果没有改善,保留初始矩阵。在这时,通过选择相对于一特定操纵变量MV(不包括用于控制其本身的操纵变量MV,即不包括被环绕的操纵变量MV)有最大增益的控制变量CV或辅助变量AV,使每个已选择控制变量CV及已选择辅助变量AV与一操纵变量MV发生联系。
当然,通过这个程序以及所述合成条件数定义的控制矩阵可以提交给用户,而用户可以接受或拒绝所述用于产生控制器的已定义控制矩阵。
应该注意的是,在上述的自动程序中,最多只是一个操纵变量MV被选择自我控制(即被环绕)以改善可控制性。在人工的程序中,被环绕操纵变量MVs的 数目可以是任意的。被选择自我控制的操纵变量MVs,因控制器配置中不存在相应的输出变量选择而明显。此外,如果操纵变量MVs的数目比控制变量CVs加上辅助变量AVs的总数目多,可以为控制使用更多操纵变量MVs,作为环绕。照这样,到最后,方形控制矩阵还是被提供给控制器,控制器以操纵变量MVs中的每个操纵变量MV作为输出。应该了解,执行或使用环绕的过程意味为所述控制矩阵选择的控制变量CVs及辅助变量AVs的数目可以比由控制器控制的操纵变量MVs的数目少,而其差异是作为所述控制矩阵输入的、操纵变量MVs的环绕数目。此外,这个环绕程序可以用于控制变量CVs加上辅助变量AVs的总数目比操纵变量MVs的数目少的过程。
当然,条件数在以上是使用稳态增益来计算,因此,所述控制矩阵实质上为稳态定义可控制性。过程动力学(死区时间、时滞等等)及模型不确定性也对动态可控制性产生影响,而且这些影响可以通过改变过程变量(例如控制变量及辅助变量)的优先级来解决,而由于这些过程变量对动态控制的影响,这可能左右它们在控制矩阵中的包合。
也可能使用意在改善稳态及动带可控制性的其他启发式程序。这样的程序典型地将有多个启发式标准(可能有些有矛盾),这些启发式标准应用在几个相位,以开发控制矩阵,并从而选择适当集合的控制器输入,这些控制器输入为控制矩阵提供一些改善。在一个这样的启发式程序中,控制变量CVs及辅助变量AVs将根据最高增益关系,由操纵变量MV集群。然后,对于每个操纵变量MV集群,带最快动态及最可观增益的一个过程输出将被选择。这个选择过程可以考虑置信区间并给予控制变量CVs相对比辅助变量AVs较多的优先(而所有其他相等)。过程模型产生例程将接着使用在MPC控制产生期间从每个集群选择的参数。由于只是为每个操纵变量MV选择一个参数,响应矩阵为方形而且可以求逆。
无论如何,在选择所述子集合的M个(或较少个)控制变量或辅助变量输入到所述MPC控制器之后,在图4的流程块614,根据已确定的方形控制矩阵,产生过程模型或控制器,以用于图3的MPC控制算法530。已知这个控制器产生步骤是一个计算上集约的程序。在流程块616接着下载这个MPC过程模型(固有地包括所述控制矩阵)或控制器及(如果需要)阶跃响应及稳态阶跃响应增益矩阵到控制块380,而且这些数据被并入控制块380,以用于操作,在这时,控制块380就绪,可在过程500内联机操作。
现在参看图5,其图解在过程500联机操作时在高级控制块380(如使用图4的流程图600a创建者)的每个周期或扫描期间执行的一般步骤。在流程块618, MPC控制器520(图3)接收及处理所述控制变量CV及辅助变量AV的测量值。明确地说,所述控制预测过程模型处理控制变量CV、辅助变量AV及扰动变量DV的测量值或输入,以产生未来控制参数向量,以及预测稳态控制变量CVSS及预测稳态辅助变量AVSS。
接着,在流程块620,输入处理/过滤块580(图3)处理或过滤由MPC控制器520开发的预测控制变量CVSS、预测辅助变量AVSS、及预测操纵变量MVSS,并将这些已过滤数值提供给优化器540。在流程块622,优化器540执行标准线性编程(LP)技术,以便在不触犯辅助变量及操纵变量的界限及在将控制变量保持在它们的指定设定点或这些变量的指定范围内的情况下,确定最大化或最小化已选择目标函数或默认目标函数的所述集合的M个操纵变量目标值MVT。一般而言,优化器540将通过促使每个控制变量及辅助变量达到它们的界限,计算目标操纵变量MVT的解。如以上所述,在每个控制变量都在它们的设定点(可能最初被处理为控制变量的上限)而每个辅助变量保持在它们各自的制约界限内的许多情况下,解将存在。如果是这样,则优化器540只需要输出已确定的、为目标函数产生最佳结果的操纵变量目标值MVT。
然而,在有些情况下,由于一些或所有辅助变量或操纵变量受严密制约,有可能不能找到所有控制变量在它们的设定点而所有辅助变量在它们各自的制约界限内的操作点,这是由于这个解不存在。在这些情况下,如以上所述,优化器540可以允许控制变量在它们的指定设定点范围内松驰,以试图找到辅助变量在它们各自的界限内操作的操作点。如果这个情况不存在任何解,则优化器可以将其中一个辅助变量制约界限放弃为解之内的界限,并改为确定最佳过程操作点,忽略被放弃的辅助变量制约界限。在这里,优化器根据为每个控制变量及每个辅助变量提供的各别的加权(例如,先放弃最低加权或最高优先级),选择将哪个辅助变量或控制变量放弃制约界限。优化器540根据辅助变量或控制变量具有的加权或优先级,继续放弃辅助变量或控制变量,直到优化器540找到符合控制变量的所有设定点范围及其余较高优先级的辅助变量的界限的、目标操纵变量MVT的解为止。
接着,在流程块624,目标转换块550(图3)使用所述稳态阶跃响应增益矩阵,根据操纵变量MVT的目标值来确定控制变量目标值CVT及辅助变量目标值AVT,并将这些值的已选择N(其中N等于或小于M)子集合提供给MPC控制器520,作为目标输入。在流程块626,MPC控制器520使用所得的控制矩阵或逻辑,进行如以上所述的无制约MPC控制器的操作,以便为这些目标值确定未来控制变 量CV及辅助变量AV向量;并以所述未来控制参数向量来执行向量减法,以产生未来误差向量。所述MPC算法以已知方式操作,以便根据开发自M x M阶跃响应的过程模型来确定稳态操纵变量MVSS,并将这些稳态操纵变量MVSS值提供给输入处理/过滤块580(图3)。在流程块628,所述MPC算法也确定需输出到过程500的操纵变量MV阶跃,并以任何适当方式将这些阶跃中的第一个输出到过程500。
在正常情况下,目标设定点在可接受范围内,而且制约变量也在界限内。然而,当扰动太严重而难以补偿时,优化器可能不能在界限内找到解。由于用于联机优化的基本函数在所有的情况下必须有最佳解,在预测过程变量将超出它们的界限时,使用有效机制来处理不可行性。
用于这些情况的目标函数的扩展,是基于被称为“松弛变量”的参数的特别使用。在线性编程中,松弛变量向量Smax≥0及Smin≥0被用来使以下不等式:
CVmin≤CVpredicted+ΔCV(t+p)=CVpredicted+A*ΔMV(t+c)≤CVmax
转换为以下等式:
CVpredicted+A*ΔMV(t+c)=CVmin+Smin
CVpredicted+A*ΔMV(t+c)=CVmax-Smax
由于所述等式为所述线性编程模型所必需,因此松弛变量只起形式参数作用而没有特定应用意义。然而,添加松弛变量起增量自由度的作用。因此,为每个方程式添加再另一个松弛变量将增加自由度,而且将允许在解触犯界限的情况下找到解。可以施加松弛变量(高限触犯的松弛向量为S+≥0,及低限触犯的松弛向量为Sˉ≥0),以扩展范围界限如下:
CVpredicted+A*ΔMV(t+c)=CVmin+Smin-S-
CVpredicted+A*ΔMV(t+c)=CVmax-Smax+S+
图6提供一个范例,其图解用于制约变量的松弛变量(无设定点的过程输出)的概念。S(i)表示相关松弛向量的元件i。如以上显示的那样,将有一对方程式来表示控制变量CV预测的每个值。视实际预测值而定,有些松弛变量将是零。应注意的是,图6-9显示的只是非零松弛变量。
为了找到在过程变量界限内或最低限度地,触犯界限的线性编程(LP)解,新松弛变量被惩罚,使得这些惩罚有效地高于表示经济成本或利润的项。因此,目标函数:
Qmin=PT*A*ΔMV(t+c)+DT*ΔMV(t+c)]]>
通过添加制约惩罚项及而得以扩展,使得:
Qmin=PT*A*ΔMV(t+c)+DT*ΔMV(t+c)+PC-T*S-+PC+T*S+]]>
其中是适用于触犯低制约界限的惩罚向量,是适用于触犯高制约界限的惩罚向量,PC->>P及PC+>>P,以及PC->>D及PC+>>D。简化符号,可以假设PC≥PC-及PC≥PC+。
向量PC的所有元件一般有效地大于经济成本/利润向量。可以合理地假设向量PC的最小元件大于向量P的最大元件。
对松弛变量的惩罚值可以在实现最佳解的过程期间自动地设定。所述惩罚值视变量优先级及目标函数的经济值而定,虽然应该了解,可以使用带松弛函数的目标函数的附加考虑。
通过施加惩罚性松弛变量,可以以期望方式设定操作过程行为。例如,容易定义控制变量及制约变量的可扩展范围、输出及输入的柔性界限及设定点、以及其他预定义条件。所述优化器的合成优点是,保证任何条件可找到最佳解。在原则上,涉及惩罚松弛变量的多目标函数的项,设定先前经济加权函数的不同目标。因此,这个函数设定的完整函数优化是多目标及多目的,因而将线性编程的可应用性范围扩展到最初定义任务之外。
一般上,可以使范围接近控制变量的设定点,在其中不需采取进一步的控制动作。由于松弛变量本身自然地适用于这样的表示,多目标优化器的扩展是使用松弛变量来定义可接受范围,以用于设定点优化。所述范围定义于设定点值的附近,而且必须在低/高设定点界限内。设定点范围可以是单边范围或双边范围。如图7中所示,单边范围与最小化及最大化目标函数有关。双边范围除了实现其最佳解尽量接近定义范围(如图8所示,由惩罚性松弛变量扩展)内的设定点之外,其没有经济目标。等于零的范围表示设定点附近有高度惩罚性松弛变量。
适用于控制变量CV预测的、带有双边范围的设定点控制的方程式的形式如下:
CVpredicted+A*ΔMV(t+c)=SP-Sbelow+Sabove
CVpredicted+A*ΔMV(t+c)=CVmin+Smin-S-
CVpredicted+A*ΔMV(t+c)=CVmax-Smax+S+
其中Sbelow及Sabove依次是用于设定点之下的解及设定点之上的解的松弛变量的附加向量。因此,一个附加的项:
PbelowT*Sbelow+PaboveT*Sabove]]>
被添加到目标函数,其中PTbelow是设定点之下的解的单位惩罚,而PTabove是设定点之上的解的单位惩罚。可以合理地假设:
PbelowT=PaboveT=PST]]>
以这个方式施加惩罚性松弛变量,优化器可以在其第一次执行中找到解,即使如果所述的解是在输出界限之外。这个方式也允许以更灵活的方式来处理过程输入。输入(操纵变量MVs)只有硬制约。也可以为有些所述输入定义包含在硬制约中的软制约。通过为软制约引入惩罚性松弛变量,可以容易地为所述操纵变量MVs定义惩罚范围。为此,提供以下方程式:
MVminsoft-Ssoftmin-=MVcurrent+ΔMV(t+c)]]>
MVmaxsoft-Ssoftmax-=MVcurrent+ΔMV(t+c)]]>
相同的方法用于定义优选结算值(PSV或V)-操纵变量MV的配置结算值。如果,没有活性条件需要改变所述操纵变量MV值,所述操纵变量MV将趋近于其优选结算值(PSV)。优选结算值(PSV)可以是由用户设定,或可以是所述操纵变量MV的最后的值。图9中所示的带有优选结算值(PSV)的操纵变量MV的方程式如下:
V-Sbelow+Sabove=MVcurrent+ΔMV(t+c)
MVmin+Smin=MVcurrent+ΔMV(t+c)
MVmax-Smax=MVcurrent+ΔMV(t+c)
优选结算值(PSV)是需在其他目标(例如经济目标、制约目标及/或控制目标)被满足之后实现的最低优先级控制目标。惩罚性操纵变量MV松弛向量Sbelow及Sabove的目标函数项的设定方式与适用于控制变量CV设定点松弛向量的设定方式相似。
所述三个优化目标(经济目标、制约目标及控制目标),以惩罚性松弛变量及代表制约及以M+及M-代表控制,可以接着结合以合成以下一般形式的多目标优化函数:
Q=(PT*A+DT)MVt-(PT*A+DT)MVt-1-PCT*SC+-PCT*SC--PST*SSP+-PST*SSP--DMT*M-]]>
参看图10,其显示仿真系统750的一个范例。虽然以下描述模型预测控制及优化的一个范例,但一个更详细的模型预测控制及优化范例刊载于在2006年10月2日提交、标题为“在操作过程环境中更新及使用动态过程仿真”(Updating and Utilizing Dynamic Process Simulation in an Operating Process Environment)的申请序号为11/537,975的美国专利(Patent Application Serial No.11/537,975)(特别是),所述美国专利的全部内容在此通过引用被明确地并入本专利。
图10图解一过程设备的部分或局部的一个仿真系统750,该仿真系统750包括多个仿真块752、754及756,而且,如果需要,还可以包括连接仿真块752、754及756的智能连接元件760及762。应该了解,在某些实施例中,仿真系统750可以与实际过程设备中运行的过程控制例程并行执行(例如与过程控制例程同时执行或协同执行),而且仿真系统750可以以以下更详细描述的方式连接到过程设备的组件(或连接到过程设备的的控制系统),以便执行加强及更准确的仿真活动。
明确地说,如图10所示,泵仿真块752包括一个仿真例程771,仿真例程771实施或使用一个或多个过程(例如设备)模型772,以便仿真过程设备的部分的操作,比如仿真过程设备中的某个设备的操作。明确地说,仿真例程771使用由(例如)其他仿真块、控制系统、用户等等向仿真块752提供的多种输入,以便仿真或估计由正在被仿真的过程设备中的实际泵设备开发的或在所述实际泵设备处开发的流率变量、压力变量及/或其他过程变量。这些流率变量、压力变量及/或其他仿真变量,连同该流或正在被泵的材料的其他特性(比如粘性、材料平衡等等)被提供给一个连接对象760,连接对象760则将这些测量传送到阀仿真块754。如果需要,连接对象760可以是智能连接对象,其根据过程设备中的连接结构的仿真操作来处理由仿真块752开发的仿真输出变量,以便向阀仿真块754提供仿真流率、压力等元件。当然,连接对象760可以不是智能连接对象,而可以仅仅是泵仿真块752与阀仿真块754之间的一个链接,用于提供由泵仿真块752开发及输出的压力变量、流率变量或其他仿真变量的指示。
同样地,阀仿真块754包括一个仿真例程773,仿真例程773包括并使用一个或多个过程模型774(其可以包括设备模型),以便根据与该阀有关的测量或情况(比如阀位置等等)及由连接对象760向阀仿真块754提供的仿真输入来仿真该阀的操作。此外,仿真例程773可以使用过程模型774以任何已知方式来仿真过程设备中的实际阀的操作,以从而产生一个或多个仿真输出变量,比如来自该阀的仿真流率、该阀的输出处的仿真压力、该阀中或该阀的输出处的流的仿真温度等等。这些仿真过程变量的指示可以提供给连接器对象762,连接器对象762可以处理这些变量,以便向反应器仿真块756提供输入。当然,连接器对象762可以仅仅是一个通信链路,该通信链路将阀仿真块754的输出提供给反应器仿真块756 的输入。
如图10所示,反应器仿真块756也包括一仿真例程775,仿真例程775使用一个或多个过程模型776,根据反应器情况或变量(设备变量)及由连接器对象762向反应器仿真块756提供的输入来仿真过程设备中的反应器的操作。过程模776用于产生该反应器的一个或多个仿真输出,这些仿真输出可以包括过程流体温度、压力、材料平衡等等。因此,应该了解,在这种情况中,在过程仿真实施为由代表过程设备的一个或多个块时,则这些块的输出代表根据对过程仿真块的输入来计算的仿真过程情况。
过程模型772、774及776可以是任何期望类别的过程模型,包括参数及非参数过程模型。例如,过程模型772、774及776可以是第一性原理模型,比如一阶加死区时间过程模型;可以是根据过程操作期间进行的实际测量来反映一系列的脉冲或阶跃响应输入/输出曲线的过程模型,比如那些用于模型预测控制(MPC)技术、神经网络模型、模糊逻辑模型、在2006年9月26日公布、标题为“基于状态的自适应反馈前馈比例积分微分控制器”(State Based Adaptive Feedback Feedforward PID Controller)的美国7,113,834号专利(U.S.Patent No.7,113,834)中公开的类别的过程模型、在2003年6月10日公布、标题为“自适应反馈前馈比例积分微分控制器”(Adaptive Feedback/Feedforward PID Controller)的6,577,908号美国专利(U.S.Patent No.6,577,908)中公开的类别的过程模型(所述美国专利的全部揭示在此通过引用被并入本专利),或任何其他类别的过程模型。此外,用于仿真块752、754及756的模型可以以任何方式创建,比如由用户或设计者特别为仿真目的而创建。然而,在有些情况中,这些模型可以从使用过程模型来执行控制活动或优化活动的联机控制系统的部分复制。例如,MPC控制器在联机控制活中典型地产生过程模型以便供该控制器使用,而且这个过程模型可以输入到一个或多个相关或有关的仿真块,以便用来为MPC控制器或为由MPC控制器控制的设备的部分执行仿真活动。
虽然仿真系统(比如图10的仿真系统)的配置对提供离线仿真活动有用,但已经确定,也可以以联机或并行模式,对过程设备运行仿真系统750,并通过这么做来自动地或半自动地更新过程模型772、774及776,以反映在仿真系统750的创建之后可能在实际过程设备中发生的变化,以便从而提供更好或更准确的仿真系统。明确地说,通过添加附加的标准输入到仿真系统750的仿真块,其中所述标准输入代表与仿真块752、754及756的输出参数有关的(例如对应于块输出参数)实际过程测量,可以作为仿真算法的部分,自动地修正仿真块752、754及756 使用的过程模型772、774及776,以便补偿所计算(仿真)的输出与在操作或联机过程中测量的仿真参数的实际测量之间的差异。
因此,如图10所示,仿真块752、754及756中的每个仿真块包括包括一个模型再生块780,模型再生块780可以根据来自实际过程及/或用户(如果需要)的反馈,用来定期地更新或再产生过程仿真块752、754及756中的过程模型772、774及776。更明确地,模型再生块780可以使用有关实际过程变量的测量(例如由控制系统在过程设备中进行的测量),并将这个测得的过程变量(PV)与相应于测得的过程变量(与测得的过程变量同时)的仿真块输出进行比较。模型再生块780可以在开发仿真输出中使用这个比较来更新或再产生所述过程仿真块中使用的过程模型。根据这个特征,一个单一PV流率测量784被图解为从过程设备反馈(例如通过过程设备中使用的控制系统)到阀仿真块754,以便由阀仿真块754中的模型再生块780使用。在这里,PV流率测量784是或代表正在由阀仿真块754仿真的、过程设备中的所述阀的测量流输出。同样地,一个PV压力测量786及一个PV温度测量788在图10中被图解为反馈到反应器仿真块756,以便由反应器仿真块756中的模型再生块780使用。在这个情况中,PV压力测量786及PV温度测量788分别代表正在由反应器仿真块756仿真的反应器的输出处的压力及温度。当然,其他类别及数目的PV测量可以反馈到仿真块752、754及756,而这些测量的性质及特性典型地是根据正在执行的过程模型或仿真的细节来选择。
无论如何,使用这些从过程设备测量的反馈信号,仿真块752、754及756可以在过程设备的持续操作期间改变或更新,以便更准确地反映过程操作。这个更新可以包括对这些模型应用的计算补偿系数或更新系数。照这样,仿真系统750适应过程设备中的变化情况、非模拟变化、引入设备的或与设备有关的非线性及设备中的其他变化,以便提供更准确的仿真。
除了执行更好的仿真及因而产生更多准确的仿真或预测过程变量之外,由仿真系统750开发的适应或再生的过程模型772、774及776可以输出(定期地或在再生时),以便在过程设备中执行其他活动,比如控制活动、用户界面活动、优化活动等等。例如,如果在仿真模块752、754及756中产生或更新的模型是阶跃或脉冲响应模型,则这些模型可以被提供到MPC控制器,以便用于MPC矩阵及控制器产生。由仿真系统产生的这些更新模型可以用于MPC控制器产生的MPC及优化器混合系统的一个范例,揭示在上述的7,050,863号美国专利(U.S.Patent No.7,050,863)中。因此,在这个情况中,可以创建使用阶跃响应或有限脉冲响应来仿真复杂设备、过程控制环路或过程响应的仿真块。例如,DeltaV MPC-SIM块被 设计以这个方式来提供仿真。如果采取这个方式,与在MPC中执行的联机测量相似的测量的修正可以容易地实施,以便改变或修正过程模型772、774及776。同样地,过程模型772、774及776可以是其他类别的模型,比如在6,577,908号及7,113,834号美国专利(U.S.Patent Nos.6,577,908及7,113,834)中描述的那些模型,而且可以再用于这些专利中描述的自适应PID控制技术。因此,过程模型772、774及776或其部分实际上可以提供到所述控制系统,以用于过程设备的控制。此外,如果需要,来自不同仿真块的不同集合或组合的过程模型可以组合并反向提供,以用于联机过程操作,比如控制及优化器操作。此外,在一个情况中,过程模型可以在联机控制活动期间为控制或优化器或其他例程开发、可以从所述控制系统输入到所述仿真系统、可以如上述在所述仿真系统中更新,而且可以接着(以其更新或适应状态)反向提供给所述控制系统,以便由原来为非适应模型创建的控制器或优化器使用。
虽然过程测量的反馈可以用来自动地再生仿真块752、754及756中使用的过程模型772、774及776,但用户也可以在有些情况中提供人工反馈,以便再生仿真块752、754及756中使用的过程模型772、774及776。例如,在有些情况中,过程变量测量可能由于某种原因而不能获得,比如由于故障传感器、通信问题等等,或由于与所述测量有关的模式情况而已知所测量的过程变量可能有错误(例如准确性可疑)。在其他情况中,过程变量测量可以离线进行,比如在实验室中进行,因此不能直接从设备的控制系统获得过程变量测量。在再另外的情况中,某个过程变量或其他由模型再生块780的其中之一使用的变量实际上不能测量,但可以估计或只由用户以其他方式提供。在这些情况中,有必要使用户能够提供由模型再生块780使用的仿真过程变量的实际值的指示。这个技术在图10由UI块790及792图解,UI块790及792可以连到或与用户界面或其他设备进行通信,以使得用户能够指定过程变量的值作为对应于所述仿真块(754或756)的输出的“正确”或“测得”变量来使用,并因此用来执行模型再生。照这样,用户可以促使仿真块752、754及756再生其中使用的模型,以及指定用来执行这个再生的值。当然,虽然图中只显示两个UI块允许用户控制对仿真块754及756的反馈,但应该了解,可以为任何期望的反馈变量提供任何数目的UI反馈路径或连接给任何仿真块,而且这些UI连接可以在通往由控制系统中的传感器或其他元件进行的过程变量测量的连接之外附加地提供,或可以代替通往由控制系统中的传感器或其他元件进行的过程变量测量的连接。
此外,在测得的过程变量及用户提供的变量都被提供给仿真块时,仿真块可 以使用这些输入的其中之一为主要输入,并将另一输入作为备份输入,以便在主要输入失效、不可使用或产生明显错误结果时使用备份输入。因此,例如,仿真块可以自动地或主要地使用从过程控制网络反馈的测得PV信号,以便执行模型再生。然而,如果所述测得PV信号失效、不可使用、已知存在错误或产生明显不正确结果,则模型再生块780可以改为使用由用户提供的过程变量输入。
此外,作为任何仿真块752、754或756中使用的仿真算法的部分,可以计算该块的输出参数的未来值,而不只是当前值。因此,如图10所示,阀仿真块754可以在(例如)用户界面(图中未显示)向用户提供一个曲线图或趋势图794,以显示在特定未来时期内来自正在被仿真的阀的仿真流。可以通过在一段时期内运行仿真系统750来估计在特定未来时域内的输出变量的未来值,开发这个未来流特性。同样地,如图10所示,反应器仿真块756可以根据过程模型或其中使用的其他算法,为仿真输出温度提供一个曲线图或趋势图796。当然,未来过程变量估计值的计算,可以使用(例如)类似MPC控制中用来进行未来预测的技术来进行。这些技术中的一些技术在7,050,083号美国专利(U.S.Patent No.7,050,083)中更详细地揭示。如果需要,图形元件或图形界面元件可以由仿真块752、754及756提供,以允许这些未来值由其他应用程序存取及查看、由过程设备中的用户界面存取及查看或由其他有兴趣设备存取及查看。
此外,应该了解,除了使用当前预测过程变量值及反馈到仿真块的当前测得过程变量值之外,还可以附加地、同时使用一个或多个过程变量或其他仿真输出的未来预测值或未来仿真值来执行图10的仿真块中的过程模型再生或更新,或可以使用一个或多个过程变量或其他仿真输出的未来预测值或未来仿真值来代替使用当前预测过程变量值及反馈到仿真块的当前测得过程变量值,以执行图10的仿真块中的过程模型再生或更新。在这种情况中,为特定过程变量或其他过程元件计算的未来值可以计算或存储,而且可以接着在相应于每个所计算的未来值的时间测量所述过程变量的实际值。在特定时间的实际测得过程元件值与该特定时间的预测未来值之间的差异可以接着用来再生用于仿真例程的过程模型,以开发未来值。在过程模型是阶跃响应模型或脉冲响应模型(比如有限脉冲响应模型)时,使用未来值来再生过程模型特别适用。
因此,如有关图10的描述那样,实际过程测量可以用于仿真块,以使得能够根据相同过程元件的计算值及测量值之间的比较来自动修正仿真块中使用的过程模型。此外,在过程测量不可获得或已经成为不可获得时(例如由于测量能力故障),则可以人工输入该值,以便根据输入值与计算值之间的比较来修正过程模 型。此外,在过程仿真是根据阶跃或有限脉冲响应或其他技术(比如神经网络、第一性原理模型或其他常用技术)时,过程模型可以根据计算值与测量值之间的差异自动地修正。更明确地说,先前用于MPC的技术可以用于修正过程模型,例如包括偏差修正,其中根据过程参数的实际测量值与仿真值之间的差异,计算或应用修正系数于过程模型(或过程模型的输出),以便从而消除过程模型与实际过程设备之间的偏差。当然,也可以使用其他修正方法,许多这样的修正技术刊载于2004年12月9日出版、标题为“具有非线性预测能力的多输入/多输出控制块”(Multiple-Input/Multiple-Output Control Blocks with Non-Linear Predictive Capabilities)的2004/0249483A1号美国专利申请出版物(U.S.Patent Application Publication No.2004/0249483 A1)(特别是有关该出版物的图4的描述)以及在2005年9月30日提交、标题为“过程控制系统中的联机自适应模型预测控制”(On-Line Adaptive Model Predictive Control in a Process Control System)的11/240,705号美国专利申请(U.S.Patent Application Serial No.11/240,705)(特别是有关其图2-4的、在自适应MPC控制例程中修改过程模型的方法的描述),所述这些美国专利申请出版物及美国专利申请的全部揭示在此通过引用被并入本专利。
此外,在过程仿真是根据阶跃或有限脉冲响应或其他技术(比如根据神经网络、第一性原理模型或其他常用技术)时,则可以计算及存储未来输出值以供显示。此外,对于根据阶跃及有限脉冲响应的模型而言,先前用于MPC的技术可以用来计算未来值。此外,过程仿真环境可以支持允许显示当前及未来仿真输出值的显示元件/应用程序。例如,可以提供用户界面窗口,以便使用任何期望的显示技术(比如趋势图、柱状图、数字图表及曲线图等等)来显示未来输出值的趋势。
如果需要,在此描述的过程模块可以在过程控制网络或过程设备中提供及仿真冗余功能。明确地说,过程模块可以仿真部署于过程设备中的实际冗余元件(例如冗余设备、冗余控制块等等)的操作,而且可以探测或仿真实际冗余元件的操作(例如包括在备份冗余元件应接替时等等)。此外,如果需要,过程模块连同其仿真能力可以作为过程设备中的一对冗余元件来使用。在这种情况中,在主要(及实际物理)设备发生故障或问题时,过程模块(或其任何部分)可以作为一个备份设备来进行操作,以便提供备份或冗余数据(信号、计算等等)。在这种情况中,发挥冗余元件作用的过程模块可以以任何已知方式、与控制模块(执行控制或传感操作)通信互连,以便提供冗余性能。在过程模块以上述方式连接到一个或多个高保真仿真包时,这种在过程设备中使用过程模块为冗余元件的方法 特别有用。
图11为一简化框图,其图解模型预测控制及过程仿真之间的集成的一个范例。参看图11,集成模型预测控制及优化可以应用在相同过程,而模型预测控制配置为联机过程优化器的子集合。这个安排的结果是,用于模型预测控制、过程仿真及优化的模型的一致性。在这些情况中,最佳目标被施加到作为控制变量设定点而被包合到模型预测控制配置的控制变量输入(CVs)。模型过程控制优化器开发控制变量的工作设定点。联机优化器的扫描率可以比模型预测控制扫描率慢几倍。联机优化配置可以包含线性及非线性模型,以及使用非线性优化技术。
如图11所示,每个过程模块802、804的仿真块806、808、810(显示为过程块的阶跃过程模型)与控制模块812、816的优化器功能块814及MPC功能块818互相作用。明确地说,多目标线性编程(LP)优化器与所述MPC控制器集成,并实施为在所述控制器中执行的控制功能块。增益矩阵中的改变及预测稳态值的经常更新,从仿真块806、808、810被提供到优化器功能块814。在过程块及MPC功能块818之间有需求时,模型更新被提供。
三个优化目标(制约处理、经济优化及控制功能)在这个实施中有明确的设置。经济目标在控制目标之间被满足,除非界限被超越,而在这种情况中,制约处理的优先级最高。优化器操作的三个不同的过程变量类别是控制变量、制约变量及操纵变量。如以上所述,控制变量是需要被驱动到它们的配置设定点值的过程输出。可以为控制变量定义其设定点值附近的可接受范围。制约变量是没有设定点、但应保持在配置高/低限内的过程输出。操纵变量是应保持在配置高/低限(其中所述高/低限是硬界限)内的过程输入。
此外,这些过程变量中的有些变量有相关的经济值(成本/利润)。因此,优化器814使控制变量保持在它们的设定点,并同时使所有变量保持在它们的界限内,使得最终的解(过程变量的目标稳态值)最大化经济值。MPC的不同过程变量的优化目标是根据制约处理、经济优化及控制目标来设定。
制约处理是通过分配优先级给MPC配置的过程输出(控制变量及制约变量)而设定。输入界限(操纵变量MV硬制约)被包合在问题定义及固有地计入线性编程(LP)解。优化器814的操作是,如果预测一制约(或控制)变量将超过其界限(或其控制范围),其他制约(或控制)变量的工作目标值被调整,以使所述过程输出保持在界限(或控制范围)内。在处理条件不允许所有制约及控制变量被保持在它们的制约界限及控制范围内时,较低优先级的制约变量或控制变量被允许触犯所述界限或范围,以满足较高优先级制约。MPC功能块818为过程输 出允许五个优先级:高、高于正常、正常、低于正常、及低。控制变量可以有“正常”的优先级,而制约变量可以有“高于正常”的优先级。然而,应该了解,优先级可以被审查及调整,例如在MPC的配置设置期间。此外,优先级可以联机改变,以响应实际过程条件。
经济优化是通过设定一值而配置,例如包合在MPC功能块818中的一些(或所有)控制变量、制约变量及操纵变量的以“每百分之一的元值”的单位设定的值。带定义值的经济目标可以超过所有相关的没有经济值(“每百分之一的值”为零)的“只是控制目标”。
控制目标定义在正常操作条件时(即在所有过程输出在它们的控制范围及制约界限内,而且经济最佳已经实现)的多变量控制功能。在该阶段,控制功能确定其余控制变量、制约变量及操纵变量(包括那些没有被包括在目标函数的变量)的动态行为。
控制变量有接近设定点及相应控制范围的明确行为。目标函数中定义的控制变量被驱动向它们的设定点值移动。然而,控制变量可以从其设定点偏离,视以下其中一个用户定义优化类别(如图12中所示)而定:
最大化:控制变量在控制范围内在设定点之下移动(如果需要),以实现制约处理或经济目标。当其他目标实现时,控制变量接着通过最大化而向设定点移动。
最小化:控制变量在控制范围内在设定点之上(如果需要),以实现制约处理或经济目标。当其他目标实现时,控制变量接着通过最小化而向设定点移动。
目标:控制变量在控制范围内在设定点之上或之下移动(如果需要),以实现制约处理或经济目标。当其他目标实现时,控制变量向设定点移动。
无:未包合在目标函数的控制变量被保持在设定点附近的控制范围内,没有向设定点的吸引。
目标函数中包合的制约变量可以根据最大化(最小化)定义,被驱动向它们的高(低)限。在制约变量没有包合在目标函数(默认:无)中时,优化器进行改变,导致制约变量在其上限及下限内自由移动(如图13中所示)。
目标函数中包合的操纵变量可以根据相关的最大化(最小化)设置,被驱动向它们的高(低)限。如果操纵变量没有包合在目标函数(默认:无)中时,优化器试图保持当前值,如果其他条件不需要所述操纵变量被移动。此外,可以利用以下操纵变量(MV)优化类别(如图14中所示):
优选结算值(PSV):操纵变量向配置优选结算值移动,如果活性条件不需要 改变操纵变量(MV)值。
均等化:被设定均等化的两个或更多个操纵变量被保持在它们的平均值,条件是所有其他目标已被满足。
在单一变量及功能层次,优化目标可以在离线应用中配置。默认目标函数需使控制变量保持在它们的设定点及使所有变量保持在它们的界限内。如果配置只包含制约变量,最后的操纵变量(MV)值被保持,从而保持配置的稳定性。活性目标函数可以通过包合过程变量然后设定它们的个别优化类别(比如最大化、最小化、目标、优选结算值(PSV)、均等化)及它们的经济值(如果需要),来进行定义。
多优化目标可能有特别必要条件,这是由于整体目标可能为响应给料成本、产品价值、使用或设备条件而改变(比如最大化生产量、最小化能量、最大化品质等等)。这使其适合为相同的MPC控制器配置多目标函数的概念。在MPC的联机操作期间,操作员可以按照当前操作情况,在多种配置优化目标之间转换。
在使用不同模拟技术(例如阶跃响应、第一性原理模型等等)的仿真环境中,所述过程仿真满足许多因素。例如,所述过程仿真可以提供输出预测直到过程稳态。所述稳态增益矩阵是根据阶跃响应模型直接定义。可选择地,所述稳态增益矩阵是根据第一性原理或参数模型计算和更新,并实时更新。所述过程仿真也可以为过程因变量及独立变量定义及更新界限。因变量的所有设定点及范围被定义及更新。如果不同的扫描被施加于是优化配置的部分的过程单元,用于优化的扫描率可以设定为最慢因变量(输出)的扫描率。目标操纵变量输入(MV)及目标控制变量输入(CV)可以应用过滤,而其过滤时间常数等于至少几个仿真扫描。
因此,优化可以提供为并行仿真系统的扩展。应用任何类别的优化器(不论优化器是线性、非线性或线性化)的有效方式,是通过使用预测时域直到稳态的授权预测过程输出来实现。通过应用模型过程控制于相同的过程控制及利用过程优化的优势,使得配置成为联机优化器配置的子集合。
虽然以上文字对本发明的多个不同实施例作了详细描述,但应该理解,本发明包括的范围应由本专利结尾处陈述的权利要求中的文字定义。所提详细描述应被解释成仅仅作为示范,而且并未描述本发明的每种可能的实施,这是由于描述每种可能的实施将不实际的-如果不是不可能。使用目前的技术或在本专利提交日期后开发的技术,可能实施多种选择性实例,而这些选择性实例将还是属于本发明的所述权利要求包括的范围。
所述多目标预测过程优化及并行过程仿真系统及方法以及其他元件可以实施 于软件,它们也可以实施于硬件、固件等等,而且可以由任何其他处理器实施。因此,在此描述的元件可以实施在标准多用途中央处理器(CPU)或特别设计的硬件或固件,比如专用集成电路(ASIC),或其他期望的硬连线设备。在实施于软件时,软件例程可以存储在任何计算机可读存储器,比如存储在磁盘、激光盘或其他存储媒介上、存储在计算机或处理器的随机存取存储器(RAM)或只读存储器(ROM)中、存储于任何数据库中等等。同样地,这个软件可以通过任何已知或期望的传输方法来传输到用户或过程设备,例如包括在计算机可读盘或其他可携式计算机存储装置上,或通过通信频道(比如电话线、互联网、无线通信等等)(通过通信频道的方法被视为与通过可携式存储媒介提供这样的软件的方法相同,或可与其互换)。
因此,在不偏离本发明的精神和范围的前提下,可以对在此描述及图解的技术及结构进行许多修改和变更。因此,应该理解,在此描述的方法及设备仅仅意在说明本发明的原理,而并不是对本发明的范围进行限制。