首页> 中国专利> 用于过程控制系统中的动态修改器功能块

用于过程控制系统中的动态修改器功能块

摘要

本发明公开用于过程控制系统的动态修改器功能块。根据一个方面,范例功能块存储在用于过程控制系统的机器可读媒介上。所述范例功能块包括基本功能块,该基本功能块促使机器执行与所述过程控制系统有关的算法,所述范例功能块也包括至少一个位于所述基本功能块中的属性,该属性促使机器删除或实例化至少一个动态修改器功能块。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-01-04

    授权

    授权

  • 2009-12-09

    实质审查的生效

    实质审查的生效

  • 2008-04-09

    公开

    公开

说明书

技术领域

本发明总体上涉及用于过程设备中的过程控制系统,尤其涉及用于过程控制系统中的动态修改器功能块。

背景技术

过程控制系统-如那些用于化学、石油、或其他过程的过程控制系统-典型地包括一个或多个集中式过程控制器,集中式过程控制器通过模拟总线、数字总线或模拟/数字混合总线,与至少一个主机或操作员工作站及与一个或多个现场设备通信连接。所述现场设备可能是设备控制器、阀、阀定位器、开关及变送器(例如温度传感器、压力传感器及流率传感器),它们在过程控制系统中发挥功能,如开启或关闭阀及测量过程参数。集中式过程控制器接收所述现场设备所进行的过程测量的信号及/或关于现场设备的其他信息,并使用这些信息来实施控制例程,然后产生控制信号并通过总线或其他通信线传送至现场设备,以控制过程控制系统的操作。

最近,过程控制行业已经开始在现场设备、控制器及其他构成过程控制系统的实体之间使用数字控制及通信。作为这个步向数字控制及通信的发展的一部分,许多标准数字以及模拟及数字混合等公开通信协议已经被开发来促成现场设备与控制器之间的互操作。例如,通信协议-比如HART、PROFIBUS、WORLDFIP、Device-Net、CANTM、及FOUNDATION Fieldbus(“Fieldbus”)-目前被广泛地使用,以便使现场设备与控制器之间的通信更为快捷及更加信息丰富。特别是,除了控制参数及其他控制相关信息或数据之外,上述通信协议可以允许(例如)配置信息以及其他类别的信息在现场设备之间及在现场设备及控制器之间传送。此外,与这些通信协议有关的标准的标准化及开放性质(非专用性质)使得由不同制造商制造的设备能够容易地集成于单一过程控制系统,从而简化设备的替换、使更优选的组合的现场设备能够实施特定应用程序、等等。

上述许多数字或模拟及数字混合通信协议促成分布式控制方案的实施。明确地说,这些通信协议经常提供框架或结构,使得现场设备能够彼此直接地互操作,以便在不需要集中式过程控制器的干预的情况下执行过程控制应用程序或过程控制应用程序的部分。所述控制执行的这种分散化可以简化过程控制例程的设计、减低与集中式控制器有关的通信及处理成本、改善需要信息的现场设备接收所述信息的速度,并因此改善接收设备根据所接收的信息更迅速地采取适当动作的能力等等。

有些促成分布式控制的数字和模拟及数字通信协议使用一般称为“功能块”的基本构件或软件构建。一般上,功能块可以(但不一定是)使用高级计算机语言(例如C、C++等等),所述高级计算机语言在被执行(例如通过处理器)时,执行一个或多个操作算法或顺序。有多个类别的功能块,而每个类别的功能块典型地实施过程控制例程的特定部分或局部。一般上,功能块实施输入、控制、输出以及过程控制系统中的其他功能,而且可以在分布遍及过程控制系统各处的控制器及/或现场设备中下载及实例化。例如,一模拟输入(AI)功能块可以在配置来测量过程参数(例如温度、流率等等)的传感器或变送器中实例化;一比例积分微分(PID)功能块可以在控制器中实例化,而所述控制器可以与执行所述模拟输入(AI)功能块的所述传感器或变送器进行通信;一模拟输出(AO)功能块可以在另一现场设备中(比如在响应所述控制器、并影响由所述模拟输入(AI)功能块测量的一个或多个参数的阀中)实例化。因此,照这样,不同类别的功能块可以在多个现场设备及控制器中实例化,而且可以通过沿着数据总线、网络或其他通信媒介进行的通信互连,以执行控制环路功能及/或过程控制方案的任何其他期望功能。

传统上,功能块一直都是静态性质,因此,功能块一旦在控制器或其他过程控制设备中配置及实例化,由所述功能块的行为或它们执行的操作不能容易地修改。因此,在更新、增强或以其他方式修改一功能块的操作,典型地必须创建一新功能块。为了在过程控制系统中安装及使用新功能块,所述过程控制系统,或至少是其一部分,典型地必须卸出及重新配置(例如所述新功能块必须编译及下载到控制器、现场设备等等)。此外,在功能块可以包括过程控制应用程序中不需要、很少使用或临时需要的增强或能力的情况下,静态地实例化包含所有可能的增强或能力的功能块一般效率不佳(例如在系统资源方面,比如存储器、处理器使用等方面),不论这些增强或能力是否实际需要、或其中存储及/或实例化及执行所述功能块的设备使用这些增强或能力的频繁程度。

发明内容

根据一方面,可以控制多个现场设备的一种过程控制系统包括一范例功能块,该功能块包括一适合实例化或删除动态修改器功能块的基本功能块。更明确地,修改所述功能块的操作的范例方法包括将所述功能块存储在一存储器,并包括将与所述基本功能块有关的至少一个可修改属性存储在所述存储器。所述范例方法也包括将所述可修改属性调整到一第一值,以便在所述存储器中实例化一动态修改器功能块;或将所述可修改属性调整到一第二值,以便从所述存储器删除一动态修改器功能块。此外,所述范例方法包括在所述基本功能块已经编译并存储在所述存储器之后调整所述可修改属性。

根据另一方面,范例功能块存储在机器可读媒介上,以用于过程控制系统。所述范例功能块包括一基本功能块,所述基本功能块促使机器执行与所述过程控制系统有关的算法,及执行位于导致所述机器删除或实例化至少一个动态修改器功能块的所述基本功能块中的至少一个属性。所述动态修改器功能块配置成执行算法来修改、生计或增强所述基本功能块的能力。

根据又一个方面,功能块的范例动态修改器功能块适合促使机器修改过程控制例程中的功能块的基本功能块。所述范例动态修改器功能块根据所述基本功能块的至少一个属性来实例化或删除。此外,所述功能块包括一界面,以便在所述基本功能块与所述动态修改器功能块之间传送数据。

附图说明

图1为一框图,其图解一范例过程控制系统。

图2为一框图,其显示一范例系统,该范例系统可以用于实施在此描述的范例设备、方法及制造件。

图3为一框图,其显示一范例功能块,该范例功能块包括范例基本功能块、修改器功能块及多个动态修改器功能块。

图4为一框图,其显示一范例动态修改器功能块映射表。

图5为一框图,其显示一具有动态修改器功能块的功能块的一范例实例化。

图6为一框图,其显示一具有动态修改器功能块的功能块的一范例命名空间及索引。

图7为一流程图,其显示一范例过程,该范例过程可以用于实例化及/或删除在此描述的动态修改器功能块。

图8为一原理图,其图解一范例处理系统,该处理系统可以用于实施在此描述的方法及设备。

具体实施方式

虽然以下描述范例设备及系统,其中除了构件以外,还包括软件及/或在硬件上实施的固件,但应该注意的是,这些系统只是在于阐明而不应被当成是限制本发明包括的范围。例如,预期任何或所有这些硬件、软件及固件构件可以单独地实施在硬件、单独地实施在软件或任何硬件及软件组合。因此,虽然以下描述一些范例设备及系统,但本领域的普通工程技术人员将可以理解,在此提供的范例并不是实施这些设备及系统的仅有途径。

为功能块的能力或操作的修改、加强、扩展、升级或改变的可能方式提供更多灵活性的一个途径在美国6,510,351号专利(U.S.Patent No.6,510,351)中描述,所述美国专利的全部揭示在此通过引用被并入本专利。如所述美国专利中所述,可以通过在基本功能块或原始功能块中提供多个指示字(例如存储器地址),使得所述指示字可以被设置成促使控制分支成一个或多个修改器功能块,以便改变所述基本功能块的操作或能力。在有些情况中,基本功能块可以包含多个指示字,以促使分支成一单一修改器功能块的不同局部(例如不同的算法或例程),及/或促使分支成多个不同的功能块。因此,执行基本功能块可以导致分支成修改器功能块、涉及该修改器功能块的操作的执行、以及接着由所述修改器功能块将控制返回到所述基本功能块。某些数据及/或参数可以在所述基本功能块及修改器功能块之间传送,以使所述修改器功能块能够执行其操作及/或更改所述基本功能块的操作或处理信息的方式。

然而,上述修改器功能块并非完全动态,这是由于所述修改器功能块是在所述功能块创建时便创建及实例化,因此,需要用于存储所述基本功能块及所述修改器功能块的本地内存被消耗。换句话说,创建所述功能块就必须创建所述修改器功能块,不论是否使用由所述修改器功能块提供的加强或更改。此外,通过参数传递进行的数据交换限制了可以交换的数据量,而且增加了循环次数,并因此增加了传送数据所需要的时间。此外,所述修改器功能块不提供可以在所述修改器功能块之外提供的参数,这是由于所述修改器功能块的参数并未映射到所述基本功能块的参数。

在此描述的动态修改器功能块可以用于更改、升级或加强在此称为基本功能块的另一功能块的能力。此外,使用在此描述的动态修改器功能块,用户能够执行与所述动态修改器功能块有关的算法,以及进一步实例化及删除与来自本地存储器的动态修改器功能块及与动态修改器功能块有关的数据。因此,与已知的修改器功能块相反,在此描述的动态修改器功能块可以在运行时间(例如在过程控制系统联机或运行时)及/或运行时间之前的任何时间实例化(比如下载)。此外,所述动态修改器功能块可以在运行时间删除,或在运行之间之前可以不实例化。

当使用在此描述的动态修改器功能块时,所述基本功能块典型地保持不变,除了所述基本功能块具有能力允许用户通过所述基本功能块中的一个或多个属性来实例化及/或删除动态修改器功能块之外。实质上,在此描述的动态修改器功能块使得用户能够通过更改基本功能块的属性来修改、加强或改变所述基本功能块的能力或操作,而所述基本功能块典型地是所述过程控制例程的操作所需要的,而且必须经常保持为实例化,以使所述过程控制例程能够执行。容易地添加及/或删除在此描述的动态修改器功能块的能力,可以有效地增加可以为过程控制系统开发高级控制能力的速度。此外,用户只需要添加成本到所述基本功能块,并在所述用户具有使用所述动态修改器功能块提供的特征的特定应用程序时,使用本地设备存储器。换句话说,所述用户或操作员可以在不需要由所述动态修改器功能块提供的附加功能时,通过不实例化动态修改器功能块或删除已经实例化的动态修改器功能块,缩减所述系统的成本。

图1为一框图,其显示一范例过程控制系统10,该范例过程控制系统10使用在此描述的动态修改器功能块设备及方法。如图1所示,过程控制系统10包括控制器12、操作员站14、在用应用站16及备用应用站18,所有这些元件可以通过一般称为“应用程序控制网络”(ACN)的总线或局域网(LAN)20通信连接。操作员站14及应用站16可以实施在一或多个工作站或任何其他合适的计算机系统或处理单元。例如,应用站16可以实施在单处理器个人计算机、单处理器或多处理器工作站等等。此外,局域网(LAN)20可以使用任何期望的通信媒介及协议来实施。例如,局域网(LAN)20可以基于固定或无线以太网通信方案实施,而由于固定或无线以太网通信方案广为人知,在此不作更详细的描述。然而,本领域的普通工程技术人员将可以理解,任何其他合适的通信媒介及协议可以被使用。此外,虽然图中显示单一局域网(LAN),但可以在应用站16中使用超过局域网(LAN)及合适的通信硬件,以便在应用站16与控制器12之间提供冗余通信路径。

控制器12可以通过数字总线28及输入/输出(I/O)设备30,连接到多个智能现场设备22、24及26。输入/输出(I/O)设备30提供一或多个界面,使控制器12及任何其他连接到数据总线28的设备(例如智能现场设备22-26等等)能够共同地通过这些界面发送及接收信号来进行通信。例如,输入/输出(I/O)设备30可以由任何类别的目前的或未来的标准界面实施,比如由外部存储器界面、串口、通用输入/输出或任何类别的目前的或未来的通信设备-比如调制解调器、网络界面卡等等实施。数据总线28可以是提供逻辑通信功能的任何物理排序,比如带有多连接、位串行连接、并联及位串行连接、交换集线器连接、多点拓扑、菊花链型拓扑等等的并联电气总线。

智能现场设备22-26可以是符合Fieldbus协议的阀、启动器、传感器等等,在这种情况下,智能现场设备22-26通过数据总线28使用广为人知的Fieldbus协议进行通信。当然,也可以改为使用其他类别的智能现场设备及通信协议。例如,智能现场设备22-26可以改为符合Profibus或HART通信协议的、通过数据总线28使用广为人知的Profibus或HART通信协议进行通信的设备。附加的输入/输出设备(与输入/输出设备30相似或相同)可以连接到控制器12,以使附加组合的智能现场设备(它们可以是Fieldbus设备、HART设备等等)能够与控制器12进行通信。

位于控制器12中的集中式过程控制例程接收来自现场设备22-26的输入,执行与所述控制例程有关的计算及其他活动,并通过输入/输出设备30发送命令给现场设备22-26,以便对范例过程控制系统10实施任何期望的控制。一般上,所述集中式过程控制例程使用功能块来执行与所述控制例程有关的计算及其他活动。然而,过程控制系统10的所述分散式过程控制局部(即:图1中与总线28有关的局部)可以与控制器12正在执行的控制一起、或代替控制器12正在执行的控制,以分散的方式实施其本身的过程控制例程。因此,虽然控制器12可以与连接到总线28的设备22-26连接,并对连接到总线28的设备22-26执行某种控制,这些设备也可以存储及执行控制功能或控制块,以实施分布式控制。

在此描述的动态修改器功能块可以用于修改、加强或改变位于图1的控制器12中、输入/输出设备30中或任何现场设备22-26中、或位于过程控制系统的任何其他设备中的任何功能块或其他功能元件的能力或操作。因此,虽然动态修改器功能块在此描述为以Fieldbus协议实施,但它们可以改为以任何其他控制或通信协议实施,包括以任何与目前使用的或将来开发的任何控制器或通信协议有关的控制或通信协议实施。

除了智能现场设备22-26之外,一或多个非智能现场设备32及34可以通信连接到控制器12。非智能现场设备32及34可以是(例如)传统4-20mA或0-10伏特直流电(VDC)设备,它们通过各自的固定链路36及38,与控制器12进行通信。

控制器12可以是(例如)由费舍·柔斯芒特系统有限公司(FisherRosemount System,Inc.)及艾默生过程控制有限公司(Emerson ProcessManagement)出售的DeltaVTM控制器。然而,可以改为使用任何其他控制器。此外,虽然图1中只显示一个控制器,但任何期望类别或结合类别的附加控制器可以连接到局域网(LAN)20。无论如何,控制器12可以执行已经由使用操作员站14的系统工程师或其他系统操作员产生、而且已经下载到控制器12及已经在控制器12中实例化、与过程控制系统10有关的一或多个过程控制例程。

图2概括地描绘一范例系统200,该范例系统200可以(例如)用于实施范例过程控制系统10,尤其是由图1的范例控制器12使用输入/输出(I/O)设备30、数据总线28及现场设备22-26来实施。范例系统200包括控制子系统调度器202、控制模块204及多个功能块206。典型地,控制子系统调度器202可以装置在图1的范例控制器12中,其实施为一软件应用程序,软件应用程序根据预定顺序,执行控制模块204的及任何其他由控制子系统调度器202控制的控制模块的操作或过程。例如,控制子系统调度器202可以执行控制环路上的控制模块204。换句话说,除了控制模块204之外,控制子系统调度器202还控制或协调多个控制模块(图中未显示)。控制模块典型地包含控制例程,这些控制例程可以被实例化及执行,以执行与相应厂房区域、设备等等有关的控制功能或活动。更明确地,控制模块204可以与一件或多件物理设备或装置发生联系,因此可以用于监测及/或控制该设备或装置(例如图2的现场设备22-26)。

此外,控制模块204可以由进一步的对象或子对象组成。然而,为了方便讨论,这样的对象及子对象在以下与控制模块204连同描述。控制模块204由互相通信连接的多个功能块206组成,功能块206是符合对象导向编程协议的对象,它们根据输入执行所述控制方案中的功能,并提供输出到所述控制方案中的其他功能块。控制模块204可以专用于控制器(例如图1的控制器12),而在有些情况中,现场设备(例如图1的现场设备22-26)可以存储及执行控制模块204或其局部。

控制模块204及其功能块206可以与一或多个属性有关,所述属性可以是参数,比如与过程控制子系统中的物理及/或控制情况有关的输入变量、输出变量或类似参数。此外,每个功能块206可以与一或多个属性有关。每个功能块206,如以下详细描述的那样,可以包含一或多个数学功能(例如加法操作、乘法操作、除法操作等等)、逻辑功能、表达式(例如逻辑OR、AND等等)、控制功能、界面、调谐功能或过程控制系统中任何其他期望的功能。

功能块206由软件及/或任何类别的逻辑组成,以便根据指定算法及内部控制参数集合来处理输入参数。照这样,每个功能块206可以产生输出参数,以便供控制模块204、其他功能块、或任何其他通信连接到所述功能块的软件、可编程设备等等使用。明确地说,功能块206的其中之一的输入参数可以链接到一或多个其他功能块206或控制模块204及控制子系统调度器202外的其他功能块的输出参数。与功能块206有关的参数可以涉及整个应用过程(例如制造ID、设备类别等等)、包装控制功能(例如PID控制器、模拟输入等等),及/或可以代表可用于传感器(比如温度传感器、压力传感器、流率传感器等等)的界面。

每个功能块206以由用户指定的唯一标记识别。此外,每个功能块的参数由对象描述表示,这些对象描述定义所述参数怎样传送遍及所述过程控制系统。因此,所述系统中的许多参数通过参考它们的标记(即与参数有关的功能块的标记)及参数名称而唯一地识别。在运行时间期间,在功能块使用相应的输入值执行时,其输出(即输出值)被更新,然后被传播到其他功能块206及/或过程控制系统的任何其他读取(例如预约或订约)这些输出的设备。功能块206可以装置在过程控制系统的相同的现场设备及/或不同的现场设备。

典型地,使用已知技术,任何功能块206的算法的修改或改变,可能需要通过停止控制子系统调度器202来更新范例系统200,而控制子系统调度器202接着停止对控制模块204的命令,或停止对任何其他由控制子系统调度器202命令或调用的控制模块的命令。接着,用户可以修改一或多个功能块206,以更改所述一或多个功能块206的相应算法。然而,使用在此描述的动态修改器功能块,用户可以在运行时间期间创建算法来修改、加强或改变一或多个功能块206的的能力或操作,及实例化所述动态修改器功能块的算法。因此,在此描述的动态修改器功能块使得系统200能够在不需要停止控制子系统调度器202的情况下更新或修改。因此,对控制模块204及任何其他由控制子系统调度器202命令的控制模块的命令不需要停止。因此,在此描述的动态修改器功能块使得能够修改范例系统200,否则将需要现场设备及/或过程控制系统的损耗或其他这样的操作终止。因此,在此描述的动态修改器功能块防止了这种可以导致可观的生产成本及时间的损耗或终止,并同时使得能够修改、加强或以其他方式改变过程控制系统的能力或操作。

图3显示一范例功能块300,该范例功能块300包括范例功能块定义302、范例基本功能块304、范例修改器功能块306、以及范例动态修改器功能块308及309。范例功能块定义302提供定义及属性,以创建范例功能块300,特别是为范例基本功能块304、范例修改器功能块306、以及范例动态修改器功能块308及309分配数据。如以下所作有关图4的更详细讨论,范例功能块定义302在下载(例如下载到现场设备)时创建,以分配存储器及索引对象(例如范例基本功能块304、范例修改器功能块306、以及范例动态修改器功能块308及309)。如图中所示,范例功能块定义302被创建来实例化允许范例基本功能块304及范例修改器功能块306的执行的定义及对象数据(例如算法及数据块)。此外,范例功能块定义302在下载时创建,以实例化范例动态修改器功能块308及309的定义,但只是允许实例化范例动态修改器功能块308的执行的对象数据(例如算法及数据块),而不是实例化用于动态修改器功能块309的数据块。

应该了解,修改器功能块306可以用于改变、升级或加强基本功能块304的能力。基本功能块304包括一软件例程或算法,该软件例程或算法具有需由现场设备、控制器等等中的处理器执行的一组或多组指令。此外,基本功能块304包括存储在本地存储器的一或多个数据块,所述数据块可以是提供给所述算法的输入数据,或是由与基本功能块304有关的算法产生的输出数据。此外,基本功能块304包括分支点310,该分支点310用于有条件地实施某种由修改器功能块306提供的加强能力,而修改器功能块306具有由存储在本地存储器中的一系列的指令及数据组成的算法。

分支点310一般是在功能块300创建时,在基本功能块304中创建,而且可以在基本功能块304编译之后更新。分支点310的内容被设置为包括一个指示字,该指示字指向修改器功能块306上的算法的输入点312或指向基本功能块304上的算法的下个代码行。因此,用户可以改变所述指示字的值,以允许/禁止与修改器功能块306有关的一或多个算法的执行,从而改变、升级或加强基本功能块304的能力。在分支点310处的指示字可以是指示存储器中的修改器功能块306地址、修改器功能块306的算法的某部分的地址、修改器功能块306的名称或其他标识符,或可以是任何其他将控制传递到修改器功能块306的处理或分支设备。

在控制传递到修改器功能块306时,某些预定数据被发送或提供到修改器功能块306,而修改器功能块306在其算法执行时使用或更改这些数据。所述数据可以通过固定或预定界面314提供,界面314典型地包括供修改器功能块306使用的参数及/或数据值、在哪里返回基本功能块304中的控制、及/或任何其他为执行修改器功能块306的算法以取得控制、执行控制及返回控制到基本功能块304所需要的数据或信息。

界面314可以实施为设备中的存储器的预定部分,可以在基本功能块304或修改器功能块306中提供,或可以以任何其他方式提供。此外,修改器功能块306实施根据通过界面14提供的数据来运行的算法,返回指令316将控制返回到基本功能块304的算法中的预定点,所述预定点可以是紧接分支点310的指令,或可以由界面314以某种方式定义为基本功能块304上的算法的某个其他位置。返回指令316可以是任何期望类别的返回指令,比如“转到”或“末端环路”指令,及/或可以具有任何其他形式,视修改器功能块306中使用的代码类别而定。此外,修改器功能块306通过界面314将某些数据返回,而界面314可以是与用于发送控制及/或数据到修改器功能块306的界面相同的界面或不同的界面。

由于基本功能块304及修改器功能块306是在功能块300创建时一起创建,本地存储器被占用,需要存储修改器功能块306的本地内存被消耗,不论修改器功能块306的功能是否被使用。换句话说,功能块300的创建需要修改器功能块306的创建。此外,通过界面314通过参数传递进行的数据交换限制了可以交换的数据量,而且增加了循环次数,并因此增加了传送数据所需要的时间。此外,修改器功能块306不提供可以在修改器功能块306之外提供的参数,这是由于修改器功能块306的参数并未映射到基本功能块304的参数。

与修改器功能块306相反,动态修改器功能块308及309可以用于动态地更改、升级或加强为基本功能块304的能力。更明确地,使用在此描述的动态修改器功能块308及309,用户能够实例化/删除与来自本地存储器的算法有关的动态修改器功能块及数据块(例如删除动态修改器功能块308及实例化动态修改器功能块309)。与修改器功能块306相反,动态修改器功能块309可以在运行时间及/或运行时间之前的任何时间(比如在下载时)实例化。同样地,动态修改器功能块308可以在运行时间期间删除或在运行时间之前不实例化。虽然图中只显示动态修改器功能块308及309,但任何数目的动态修改器功能块可以在功能块300上实施。如图所示,动态修改器功能块308在基本功能块304的执行之外执行。明确地说,动态修改器功能块308可以在基本功能块304的执行之前及/或之后执行。在被实例化时,动态修改器功能块308及309各自具有存储在本地存储器中的一系列的指令及数据块组成的算法,以更改、升级或加强基本功能块304的能力。此外,在被实例化时,动态修改器功能块309可以在基本功能块304及/或动态修改器功能块308的执行之前及/或之后执行。

如图所示,基本功能块304包括一或多个属性311,属性311配置成被写入校验来实例化及/或删除动态修改器功能块308及309。如以下所作有关图4的讨论,属性311被映射到功能块定义302,特别是映射到实例化及/或删除动态修改器功能块308及309的所述多个定义。例如,用户可以通过改变基本功能块304的属性311(而属性311接着在基本功能块304的执行期间被写入校验),实例化动态修改器功能块309。同样地,用户可以通过改变属性311(而属性311接着在基本功能块304的执行期间被写入校验),删除动态修改器功能块308。在图3的范例中,动态修改器功能块308由属性311允许,因此所述控制模块(例如图2的控制模块204)调度动态修改器功能块308的执行。如果属性311不改变,基本功能块304的写入校验允许基本功能块304的继续执行。

动态修改器功能块308包括输入点318,输入点318在动态修改器功能块308的实例化之后存储在功能块定义302中。输入点318在功能块定义302中存储为指示字,该指示字可以是指示存储器中的动态修改器功能块308地址、动态修改器功能块308的算法的某部分的地址、动态修改器功能块308的名称或其他标识符,或可以是任何其他将控制传递到动态修改器功能块308的处理或分支设备。因此,调度器(例如图2的控制子系统调度器202)命令在输入点318执行动态修改器功能块308的算法。在动态修改器功能块308实施自算法时,指令320将控制返回到所述调度器。指令320可以是任何期望类别的指令,以终止指令块及/或可以具有任何其他形式,视动态修改器功能块308及309中使用的代码类别而定。因此,动态修改器功能块308在基本功能块304的执行之外由所述调度器命令或调用。

如图3中所示,功能块300包括多个界面322,界面322可以用于在基本功能块304与动态修改器功能块308(及/或动态修改器功能块309)之间交换数据。界面322可以是多界面,比如用于将数据写到基本功能块304的写界面及用于从基本功能块304读取数据的分别的读界面。界面322可以实施为注册回叫,以写到基本功能块304上的数据对象。例如,动态修改器功能块308可以传递属性及/或数据指示字到界面322,以促使所述注册回叫写到基本功能块304。同样地,动态修改器功能块309在被实例化时,可以传递属性及/或数据指示字到界面322,以命令所述注册回叫写到基本功能块304。界面322也可以提供指示基本功能块304的存储器中的数据对象的地址的地址、基本功能块304的存储器中的数据对象的地址索引、或可以是任何其他在功能块之间读取及/或写入数据对象的执行。

虽然动态修改器功能块308被显示为具有单一输入点318及单一返回指令320,但所述动态修改器功能块可以在动态修改器功能块308的算法的许多点开始执行及/或返回控制。例如,输入点318及返回指令320可以设置为命令动态修改器功能块308中的算法的不同部分或子例程,从而为与基本功能块304有关的算法提供不同的加强。

应该清楚,在此描述的动态修改器功能块308及309可以用于任何目的或以任何方式使用,以改变、修改或升级基本功能块304,以便在所有时间或在选定时间为任何类别的基本功能块304(例如输入、输出或控制功能块)提供加强的能力。因此,例如,动态修改器功能块(例如动态修改器功能块308及309)可以用来在基本功能块304中实施自适应增益、增益调度、死区时间补偿等等,或用来为基本功能块304提供任何其他加强或改进能力。此外,在动态修改器功能块308及309与用户界面通信连接时,所述用户界面可以自动地显示动态修改器功能块309在实例化之后的一或多个属性。另一方面,所述用户界面可以自动地移除动态修改器功能块308在删除后的一或多个属性。

同样地,应该了解,基本功能块304以及动态修改器功能块308及309可以存储在设备的任何一或多个存储器,或存储在与执行这些功能块的处理器有关的任何一或多个存储器,比如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、或电可擦除可编程只读存储器(EEPROM),存储在硬盘、磁盘驱动器、或存储在任何其他合适的可由处理器存取的存储器。同样地,这些功能块可以在存储于任何期望类别的存储器(比如存储在磁盘、光盘(例如压缩光盘或激光盘)、磁带或光缆带、或任何其他计算机可读存储媒介)的情况下售卖予用户或以其他方式向用户提供。此外,在此描述的基本功能块及动态修改器功能块可以同时或不同时作为单一单元(例如存储在相同的存储器)或作为分别的单元(例如存储在分别的存储器)提供给用户。

功能块一般包括包装器描述符,包装器描述符构成已设置规则及特性(例如名称、标识符、界面输入点、标记、默认值等等),它们可以用于实例化图3的功能块定义302。所述包装器描述符在运行时间控制与基本功能块之间共享,以便为判读及用户配置提供相同的关系。明确地说,控制器可以使用这些包装器描述符来剖析下载脚本及服务控制对象。此外,功能块的每个属性是以唯一属性标识符(例如整数值)来定义。对于具有动态修改器功能块的基本功能块而言,所述动态修改器功能块由特定属性(例如图3的属性311)控制,因此与特定属性标识符有关。

图4显示一范例动态修改器功能块映射表400,该范例动态修改器功能块映射表400使基本功能块的多个属性402与针对多个动态修改器功能块描述符406(其例如可以位于图3的范例功能块302中)的多个指示字404发生联系。范例动态修改器功能块映射表400包括属性标识符“MOD_ADAPT”,而属性标识符“MOD_ADAPT”与针对动态修改器功能块描述符的特定动态修改器功能块408的描述符的指示字“DYN_MOD_PNTR”有关。虽然以文字说明,但本领域的普通工程技术人员将可以理解,这样的文字描述可以选择地或附加地以地址、代码及/或其他标示实施。因此,对属性“MOD_ADAPT”的写入校验可以单独地映射到相应的与多个动态修改器功能块有关的动态修改器功能块描述符408、410及412。例如,与第二动态修改器功能块有关的另一指示字可以存储在动态修改器功能块映射表400,而且可以与属性标识符“MOD_ADAPT”发生联系以查找动态修改器功能块描述符410。

图5显示在下载时对设备的一范例功能块实例化500(例如创建与本地存储器中的功能块有关的对象的实例),其中功能块定义对象540(例如图3的功能块定义302)以及功能块对象(例如图3的基本功能块304、修改器功能块306及动态修改器功能块308)被实例化。在范例功能块实例化500中,箭头指示范例功能块实例化500的构建关系(即箭头指向定义对象)。因此,如图5所示,基本功能块包装器描述符512为所述基本功能块提供一组规则及特性;修改器功能块包装器描述符514为所述修改器功能块提供一组规则及特性;而动态修改器功能块包装器描述符516为所述动态修改器功能块(例如图3的功能块308及309)提供一组规则及特性。从相应的包装器描述符512-516,范例功能块实例化500计算所述属性,并局部地隐藏特性以创建组合包装器定义520。范例组合包装器520向用户提供与动态修改器功能块包装器描述符516有关的动态修改器功能块清单,以便实例化(例如图3的动态修改器功能块308及309)。从组合包装器520,构建功能快定义530,而功能快定义530提供所述多个功能块的属性。功能快定义530定义需为子块数据(比如基本功能块数据552及修改器功能块数据554)分配的存储器空间。在修改器功能块数据554的实例中,功能快定义530定义需为子块数据(比如修改器功能块数据554)分配的存储器空间。

对于范例功能块实例化500而言,功能块定义530包括带有用户在下载之前定义的值的属性,所述属性确定是否需要实例化动态修改器功能块数据556。因此,不一定是在用户不需要由所述动态修改器功能块的算法提供的加强或改变的情况下载时,存储器空间才被消耗。如以上所述,动态修改器功能块的定义被实例化,但用于动态修改器功能块数据556的存储器却没有被实例化。因此,用户可以改变功能块定义530上的属性的值,以便在运行时间或从下载到运行时间之间的任何时间实例化动态修改器功能块。

在使用动态修改器功能块来实例化功能块之后,所述功能块上的初始化命令存储带有特定开始值的变量,而所述特定开始值可以根据下载脚本来确定及/或从包装器描述符512-516中提供的一或多个属性复制。此外,所述初始化可以直接地对控制器(例如图1的控制器12)执行,这可以不需要分别的配置数据库。所述功能块的属性的界面也被初始化(例如图3的界面322),其中所述界面可以使用注册回叫功能,以在动态修改器功能块及基本功能块之间交换数据,如以上所作有关图3的讨论那样。

图6显示一具有三个允许动态修改器功能块的功能块的一范例名称空间600。范例名称空间600包括静态部分610,该静态部分620保存在实例化期间允许的属性(例如与所述基本功能块及所述修改器功能块有关的属性);及动态部分620,该动态部分620为第一动态修改器功能块622、第二动态修改器功能块624及第三动态修改器功能块626保存属性。如以上所述,用户可以实例化或删除与属性622-626有关的动态修改器功能块的其中任何一个,因此,动态属性部分620可以改变。在动态属性部分620改变时,动态属性部分620中的索引(例如来自特定地址的索引)可以变成无效。例如,用户可以删除所述第一及第二动态修改器功能块,这移除所述第一动态修改器功能块622及所述第二动态修改器功能块624的相应属性622及624,并在范例名称空间600中将所述第三动态修改器功能块626的属性向上移。

在功能块的名称空间随着动态修改器功能块的实例化而改变时,功能块与动态修改器功能块一致的执行及/或实例化创建了一个关键机制,使得能够映射可以由客户(例如其他功能块)映射的所述动态修改器功能块的任何属性。一般上,对来自客户的功能块的属性的存取,由包括名称空间及索引的地址映射。

如以上所作有关图6的描述那样,功能块的名称空间随着任何修改器功能块的允许或禁止而改变。因此,为了防止对属性无效引用,可以位于控制模块(例如图2的控制模块204)上的关键机制被提供。所述关键机制存储一或多个键(例如指示字值、索引值、地址定位、唯一值或它们的任何组合),这些键用于在客户捆绑到所述功能块的所述动态部分(例如动态部分620)上的属性时被传输到所述客户的相应的动态修改器功能块。在动态修改器功能块被实例化或删除时,与所述动态修改器功能块有关的所述功能块更新所述关键机制中的键。因此,在客户存取所述功能块上的属性时,特别是在客户存取与动态修改器功能块有关的属性时,客户将最近存取的键与表中的当前键进行比较。在所述捆绑键与当前键匹配时,所述客户获授存取权。可选择地,在所述捆绑键不匹配时,所述客户必须重新捆绑到所述属性。当然,(除了Fieldbus协议之外)动态修改器功能块还可以使用任何外部过程控制通信协议来实施,而且可以用于与任何类别的功能块(包括任何与由Fieldbus协议特别指定或支持的不同功能块中的任何功能块相似或相同的功能块)进行通信。此外,虽然在此描述的一个实施例中的动态修改器功能块是一个Fieldbus“功能块”,但应该注意的是,此中“功能块”一词的使用并不限于Fieldbus协议所识别的功能块,反而却包括与任何类别的控制系统及/或通信协议有关的、可以用于实施某种过程控制例程功能及具有预定设置或协议来向其他这样的功能块提供信息或数据的、任何类别的块、编程、硬件、固件等等。因此,虽然功能块典型地是对象导向编程环境中的对象的形式,但并非一定是这样,而且可以改为其他在过程控制环境中用于执行特定控制(包括输入及输出)功能的逻辑单元。

图7为一流程图,其描绘一范例过程700,该范例过程700可以用于删除及/或实例化动态修改器功能块,比如图3的动态修改器功能块308及309。在此所作有关图7中描绘的过程的操作,可以使用可以存储在计算机可读媒介并可以在其上存取的机器可读指令、代码、软件等等来实施。这样的计算机可读媒介包括但不限于光存储设备、磁存贮设备、非挥发性固态存储器及挥发性固态存储器。此外,有些或所有所述操作可以手动地执行及/或所述操作的顺序可以更改及/或有些所述操作可以修改或消除。同样地,每个块的有些或所有操作可以迭代地执行。图7中描绘的操作可以由图1的范例控制器12及/或现场设备22-26执行。

范例过程700以执行基本功能块(例如图3的基本功能块304)上的算法为开始(流程块702)。在流程块702中执行所述基本功能块期间,对所述基本功能块的特定属性执行写入校验,以确定是否进入实例化或删除动态修改器功能块的步骤(流程块704)。如果所述写入校验确定所述基本功能块的所述属性没有改变(流程块704),则范例过程700返回到流程块702,并继续执行所述基本功能块。如果所述写入校验确定所述基本功能块的所述属性有改变(流程块704),则范例过程700确定是实例化新的动态修改器功能块或是删除现有的动态修改器功能块(流程块706)。

如果范例过程700(在流程块706)通过所述基本功能块的所述属性的特定改变(例如布尔变量、标记值、或任何指示逻辑状况改变的属性的特定变化),确定要在流程块706中的步骤中删除现有动态修改器功能块,范例过程700通过使用(例如)唯一属性标识符及/或针对索引的指示字,识别需删除的动态修改器功能块(流程块708)。在识别了需删除的动态修改器功能块之后,范例过程700从存储器删除与所识别的动态修改器功能块有关的数据块(流程块710)。范例过程700接着通过移除与所删除的动态修改器功能块有关的属性及更新与所述属性有关的关键机制中的键(这些键进而与所删除的动态修改器功能块有关),更新所述动态属性空间中的属性(流程块712)。范例过程700接着从所述调度器移除所删除的动态修改器功能块的执行(流程块714),并终止过程700的执行及/或返回到调用过程。

如果范例过程700通过所述基本功能块的所述属性的特定改变(例如布尔变量、标记值、或任何指示逻辑状况改变的属性的特定变化),确定要实例化新的动态修改器功能块(流程块706),范例过程700通过使用(例如)唯一属性标识符及/或针对索引的指示字,识别需实例化的动态修改器功能块(流程块716)。在流程块716中识别了需实例化的动态修改器功能块之后,范例过程700在与所识别的动态修改器功能块有关的存储器中创建所述数据块(流程块718)。范例过程700接着通过添加与所实例化的动态修改器功能块有关的属性及更新与所实例化的动态修改器功能块有关的所述属性有关的关键机制中的键,更新所述动态属性空间中的属性(流程块720)。范例过程700接着初始化任何与所述动态修改器功能块有关的变量(流程块722)。此外,范例过程700将所实例化的动态修改器功能块的执行添加到所述调度器(流程块724),并终止过程700的执行及/或返回到调用过程。

图8为一原理图,其显示一范例处理器平台800,该范例处理器平台800可以用于及/或编程来实施图1的范例控制器12、现场设备22-26及/或应用站16。例如,处理器平台800可以由一个或多个通用单线程及/或多线程处理器、核芯、微控制器等等来实施。处理器平台800也可以由包含多种同时执行的单线程及/或多线程处理器、核芯、微控制器等等的任何其中之一的一或多个计算设备来实施。

图8的范例的处理器平台800包括至少一个通用可编程处理器805。处理器805执行处理器805的主存储器中(例如随机存取存储器RAM815中)的编码指令810。编码指令810可以用于实施由所描述的有关图2、3、4及7的范例过程代表的操作。处理器805可以是任何类别的处理单元,比如处理器核芯、处理器及/或微控制器。处理器805通过总线825,与所述主存储器(包括只读存储器ROM820及随机存取存储器RAM815)进行通信。随机存取存储器RAM815可以由动态随机存取存储器(DRAM)、同步随机存取存储器(SDRAM)及/或任何其他类别的随机存取存储器(RAM)设备实施;而只读存储器ROM820可以由闪速存储器及/或任何其他期望类别的存储器设备实施。对存储器815及820的存取可以由存储器控制器(图中未显示)来控制。所述主存储器(包括只读存储器ROM820及随机存取存储器RAM815)可以用于存储与图2-7有关的范例过程、属性及其他这样的可存储的数据。

处理器平台800也包括界面电路830。界面电路830可以由任何类别的界面标准(比如外部存储器界面、串口、通用输入/输出设备等等)实施。一或多个输入设备835以及一或多个输出设备840连接到界面电路830。

以上描述的至少一些范例方法及/或设备是由在处理器上运行的一或多个软件及/或固件编程实施。然而,专用硬件实施包括但不限于应用程序专用集成电路、可编程逻辑阵列,而其他硬件设备也可以同样地构建来实施在此描述的有些或所有范例方法及/或设备的全部或部分。此外,选择性的软件实施包括但不限于分布式处理或组件/对象分布式处理、并行处理或实质机器处理也可以用来实施在此描述的范例方法及/或设备。

亦应注意的是,在此描述的范例软件及/或固件实施可以存储在:有形存储媒介如磁性媒介(例如磁盘或磁带);磁光或光媒介如光盘;或固态媒介如存储卡或其他容纳一个或多个只读(非挥发性)存储器、随机存取存储器或其他可重写(挥发性)存储器的组合;或含信号计算机指令。附加到电子邮件或其他信息档案或档案组合的数字文件也被当成与有形存储媒介等同的发布媒介。因此,在此描述的范例软件及/或固件可以存储在有形存储媒介或发布媒介,如以上描述的媒介或后继的存储媒介。

虽然以上的详细说明参考特定标准及协议来描述范例组件及功能,但应该了解,本专利包括的范围并不限于这些标准及协议。这些标准定期地由更快捷或更有效率的具备相同常规功能的等效物取代。因此,具备相同功能的替换标准及协议,是本专利预期的等效物,而且预定属于附带权利要求的范围。

此外,虽然本专利公开包括在硬件上执行的软件或固件的范例系统,但应该注意的是,这些系统只是在于阐明原理,而不应被当成限制本发明包括的范围。例如,预期任何或所有这些硬件及软件组件可以单独地实施于硬件、单独地实施于软件、单独地实施于固件、或实施于硬件、固件及/或软件的某种组合。因此,虽然以上的详细说明描述范例系统、方法及制造件,但本领域的普通工程技术人员将可以理解,所述范例并非实施这些系统、方法及制造件的唯一途径。因此,虽然在此已经描述了某些范例方法、设备及制造件,但本专利包括的范围并未受其限制。相反地,本专利覆盖照字面意义上或根据等效原则正当地属于本专利的附带权利要求的范围之内的所有方法、设备及制造件。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号