专利名称:用于过程控制系统的定制功能块的制作方法
技术领域:
本发明一般涉及过程控制系统,尤其涉及使过程控制系统的用户或操作者能够创建定制功能块的一种系统和技术,定制功能块用于执行过程控制系统中的控制活动。
背景技术:
现代的过程控制系统通常是基于微处理器的分布式控制系统(DCS)。传统的DCS配置包括由数据总线(例如,以太网)连接到一个或多个控制器的一个或多个用户界面设备(例如,工作站)。这些控制器的物理位置一般接近一个受控过程,并且与定位于整个过程中的许多电子监控设备和现场设备(例如,电子传感器、发送器、电流-压力变换器、阀定位器等)相连接。
在传统的DCS中,通过在每个控制器内提供一个控制算法来分配控制任务。控制器独立执行控制算法,以控制被耦合到控制器的现场设备。这种控制任务的非集中化使整个系统更加灵活。例如,如果用户想要将一个新的过程或过程的一个新的部分加入DCS,则用户可以加入与合适的传感器、致动器等相连接的一个额外的控制器(具有一个合适的控制算法)。或者,例如,如果用户想要修改一个现存的过程,则可以经由数据总线将新的控制参数或控制算法从用户界面下载到一个合适的控制器。
为了提供改进的模块性和制造商之间的相容性,过程控制制造商最近已进一步向过程内的控制分散迈进。最近采用的这些方法基于能够相互进行通信的智能现场设备和/或使用开放协议(例如,HART、PROFIBUS、WORLDFIP、Device-Net、CAN和Fieldbus这些协议)的控制器。这些智能现场设备本质上是基于微处理器的设备(例如,传感器、致动器等),在一些情况下,这些设备和Fieldbus设备一样也执行传统上由DCS控制器执行的控制回路功能。由于一些智能现场设备提供控制能力并使用开放协议进行通信,因此,各个制造商所生产的现场设备能够在共同的数字数据总线上彼此进行通信,并能够在无须传统的DCS控制器的介入下互动操作,来执行控制回路。
众所周知,例如,过程控制系统控制器和智能现场设备(比如Fieldbus设备)可以包括执行多项控制功能或一项控制功能的一些部分的一个或多个功能块。例如,这些功能块可以执行模拟输入功能、模拟输出功能、比例积分微分(PID)控制功能或任何其他所需的控制功能。功能块可能以通信联络的方式与控制器或智能现场设备内的其他功能块相连接,也可能与其他控制器或智能现场设备内的功能块相连接,以执行任何所需的控制功能。例如,可以使用模拟输入块来经由流动传感器监控液体流动,PID块可以处理由模拟输入块提供的一个液体流动值,以便经由模拟输出块将响应的信号提供给调制阀塞位置的致动器。这样,这些功能块可以通信联络的方式相互连接,以形成控制通过阀的液体流动的一个基于PID的控制回路。
过程控制制造商或提供者通常为系统用户提供一个或多个标准库,这些标准库包括各种不同的预定义功能块。通常,可以按系统用户的指示来选择预定义功能块并将它们彼此结合,以实现总体过程控制方案。一些过程控制制造商还提供使用户能够可视化各个功能块之间的逻辑关系的图解用户界面,尤其在过程控制方案复杂的情况下,这大大促进了总体过程控制方案的创建。
一旦用户已通过选择将要执行哪些功能块和定义所选择的功能块之间的逻辑关系来创建总体过程控制方案,就可以在过程控制系统内例示这些功能块中的一个或多个功能块,以执行总体过程控制方案。由于通常在被分布于整个过程控制系统中的控制器和/或智能现场设备内例示预定义功能块,因此,可以按相对较高的速度用同步的方式来执行预定义功能块。
如果过程控制方案要求执行标准功能块库中的、控制系统制造商或提供者还没有提供的一项特殊的功能、应用或算法,系统用户通常会创建和例示执行那项特殊的功能、应用或算法的一个独立的程序。在实践中,该独立的程序通常在工作站或某个其他的计算机系统内被创建和例示,例如,这个工作站或某个其他的计算机系统经由通信网络(例如,局域网)以通信方式被耦合到被分布于整个过程控制系统中的控制器和其他设备。结果,执行特殊功能、应用或算法的独立程序与总体过程控制方案的集成要求独立的程序经由通信网络与总体控制程序的其他部分进行通信。
由于工作站与控制器或以通信方式被耦合到局域网的某个其他的过程控制系统设备之间的通信通常是基于系统用户不知道的专用消息格式或协议,因此,加剧了将执行特殊功能、应用或算法的特殊用户创建或定义的过程与总体过程控制方案进行集成的困难。为了减缓这个集成的困难,一些过程控制制造商可以允许其控制过程与使用(例如)基于共同数据语言(例如,用于过程控制的OLE(OPC))的通信的其他过程或系统之间进行通信。例如,共同数据语言(例如,OPC)通常基于可扩展的标记语言(例如,XML)或使系统用户能够采用某种模式或格式的封装来自其特殊创建或定制过程(执行一项特殊的功能、应用或算法)的信息或消息的类似语言,该模式或格式可以由执行总体过程控制方案的系统来加以解释。同样,用户定义的定制过程可以利用有关模式的知识来解释并处理从过程控制系统接收的信息或消息,它们已使用可扩展的标记语言被加以封装或格式化。采用这种方法,过程控制制造商或提供者可以使用户能够集成其他的系统和过程,用户可以执行其中的一些系统和过程,以执行一项特殊的功能、应用或算法,而无须揭示在执行工作站或其他计算机系统与被分布于整个过程控制系统中的控制器之间的通信过程中所用的专用消息格式或协议。
用于能使用户定义的过程或系统或某个其他的过程或系统与总体过程控制系统进行集成或使其进行通信的已知技术通常不允许用户定义的过程与过程控制系统内的控制器和/或智能现场设备之间直接进行通信。相反,这些已知的技术(其中的一些技术基于XML)要求用户定义的过程或系统经由工作站或其他计算机系统(经由通信网络被耦合到控制器和其他设备)与控制器和/或智能现场设备进行通信。遗憾的是,经由通信网络(例如,LAN)的通信的速度相对较慢,尤其跟控制器与智能现场设备之间进行的通信相比,更是如此。此外,使用可扩展的标记语言或类似语言来促成过程控制系统内的控制器和其他设备与用户定义的过程或系统之间的信息交换,这产生了额外的通信费用。这种额外的通信费用还表现了可以在用户定义的过程或系统与过程控制系统控制器和/或其他设备之间传达信息或消息的有效速度。
必须在用户定义的过程与过程控制系统所执行的总体过程控制例行程序之间传达信息的另一个缺点是用户定义的过程或系统所提供或使用的信息或消息通常不与控制器和/或被连接到控制器的智能现场所执行的活动同步。这样,在大多数(如果不是所有的话)过程控制系统中,经由以通信方式将工作站耦合到控制器的通信网络而进行的通信具有相对较低的数据吞吐量,并且不跟控制器与现场设备之间所进行的通信同步。对于一些应用而言,如果不能通过(例如)加快两个系统之间的信息交换和使两个系统之间同步化来将特定的用户定义的过程或系统与总体过程控制系统的操作进行更紧密的集成或耦合,那么,用户定义的过程或系统的实施可能会变得不切实际或(在某些情况下)行不通。
发明内容
这里所描述的定制功能块和创建定制功能块的方法使过程控制系统用户能够将特定的功能、应用、算法和/或过程(可以由用户定义)与总体过程控制系统的操作进行更紧密的集成或耦合。特别是,这里所描述的定制功能块创建技术可以使用预定义库,这些库包含模板、例行程序、过程、表格等(用户可以对其进行选择、修改和/或组合,以便组装、生成或定义一个或多个功能块库,每个功能块库可以包含一个或多个定制功能块)。可以使用文本编辑器、图形用户界面、功能块向导或虚拟专家等来促进定制功能块的生成。
这里所描述的系统和技术所使用的预定义库可以包括各种不同的功能块部件,过程控制系统要求其中的一些功能块部件用于将一个功能块适当地集成为一个总体过程控制例行程序,对其中的另一些功能块部件可能不作此要求。用户可以采用这里所描述的系统和技术来创建、生成或定义可实行过程控制系统提供者或制造商在标准功能块库中没有提供的功能、应用、算法或程序的一个或多个定制功能块。一般而言,用户从包含功能块部件的预定义库选择、(如果有需要的话)修改所需的功能块部件,并将所选择的部件包括在定制功能块中。通过将合适的额外代码或软件输入到定制功能块定义中,用户也可以包括可由定制功能块执行的额外的功能或算法。
利用这里所描述的系统和技术,用户能够通过创建在结构上类似于或等同于标准功能块库中所提供的功能块的新的或定制的功能块,来执行标准功能块库中的、过程控制系统提供者或制造商还没有提供的定制功能、应用或算法等。结果,可以在过程控制系统中像标准功能块那样编译和使用定制功能(即定制功能块)。这样,定制功能块内所定义的过程、应用、算法等可以按相对较高的速度在总体过程控制例行程序内进行通信,因为定制功能、应用或程序不一定要经由工作站和使用(例如)可扩展标记语言的LAN来进行通信。此外,由于可以用类似于或等同于标准功能块的方式来编译定制功能块和将其下载入控制器和/或智能现场设备,因此,可以按同步的方式(即,可以将定制功能块的操作与标准功能块的操作一起调度)来进行过程控制系统内的定制功能块与其他标准功能块之间的通信。
根据一个方面,一种创建用于过程控制系统的功能块的方法可以从多个源文件中选择初始化例行程序,可以从多个源文件中选择定期执行例行程序,并可以从多个源文件中选择写检查例行程序。此外,该方法可以将初始化例行程序、定期执行例行程序以及写检查例行程序与功能块关联起来,并可以修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以便包括没有被提供给过程控制系统的一个过程。
根据另一个方面,一种创建用于过程控制系统的功能块的方法可以将来自过程控制系统的提供者所建立的一组文件的多个文件组合起来,以形成与功能块有关的一个文件;并且,可以修改与功能块有关的这个文件内的多个文件中的一个文件,以包括这组文件内不包括的一个过程。
根据另一个方面,一种创建用于过程控制系统的功能块的系统可以包括一个计算机可读介质、一个第一软件和一个第二软件。第一软件被存储在计算机可读介质上,适合由过程控制系统来执行,以便从多个源文件中选择初始化例行程序;第二软件被存储在计算机可读介质上,适合由过程控制系统来执行,以便从多个源文件中选择定期执行的例行程序。该系统还可以包括一个第三软件、第四软件和第五软件。第三软件被存储在计算机可读介质上,适合由过程控制系统来执行,以便从多个源文件中选择写检查例行程序;第四软件被存储在计算机可读介质上,适合由过程控制系统来执行,以便将初始化例行程序、定期执行例行程序以及写检查例行程序与功能块关联起来;第五软件被存储在计算机可读介质上,适合由过程控制系统来执行,以便修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,从而包括过程控制系统内没有提供的一个过程。
根据又一个方面,一种将定制功能块并入过程控制系统内的方法可以通过将来自过程控制系统的提供者所建立的一组文件的多个文件组合起来,以形成与功能块有关的一个源代码文件,从而生成定制功能块;并且,可以修改这个源代码文件内的多个文件中的一个文件,以便包括这组文件内不包括的一个过程。该方法还可以编译和连接这个源代码文件,以形成一个被编译/连接的定制功能块文件;并且,可以将这个被编译/连接的定制功能块文件传递给过程控制系统的提供者。此外,该方法可以使被编译/连接的定制功能块文件生效;可以将一项安全措施附加于被编译/连接的定制功能块文件,以形成一个生效的定制功能块文件;并可以将该生效的定制功能块文件传递给过程控制系统的用户。另外,该方法可以将生效的定制功能块文件并入过程控制系统。
根据另一个方面,一种使用定制功能块的方法将信息从数据源传达给定制功能块,根据定制功能块内的一项功能来处理来自数据源的信息,并至少将一些被处理的信息传达给一个过程控制系统应用。
图1是示范方框图,一般地描绘定制功能块的一种结构和产生技术;以及,图2是示范流程图,描绘了控制系统提供者或制造商可以控制定制功能块在其控制系统内的应用的一种方法。
具体实施例方式
这里所描述的定制功能块和创建定制功能块的方法使过程控制系统用户能够将可以由用户定义的特殊的功能、应用、算法和/或过程与总体过程控制系统的操作紧密地集成或耦合起来。尤其是,这里所描述的定制功能块创建技术可以使用包含模板、例行程序、过程、表格等(用户可以对其进行选择、修改和/或组合,以便组装、生成或定义一个或多个功能块库,每个功能块库可以包含一个或多个定制功能块)的预定义库。可以使用文本编辑器、图形用户界面、功能块向导或虚拟专家等来促进定制功能块的生成。
这里所描述的系统和技术所使用的预定义库可以包括各种不同的功能块部件,过程控制系统要求其中的一些功能块部件用于将一个功能块适当地集成为一个总体过程控制例行程序,对其中的另一些功能块部件可能不作此要求。用户可以采用这里所描述的系统和技术来创建、生成或定义标准功能块库中可执行过程控制系统提供者或制造商没有提供的功能、应用、算法或过程的一个或多个定制功能块。一般而言,用户从包含功能块部件的预定义库选择、(如果有需要的话)修改所需的功能块部件,并将所选择的部件包括在定制功能块中。通过将合适的额外代码或软件输入到定制功能块定义,用户也可以包括要由定制功能块执行的额外的功能或算法。
利用这里所描述的系统和技术,用户能够通过创建在结构上类似于或等同于标准功能块库中所提供的功能块的新的或定制的功能块,来执行标准功能块库中的、过程控制系统提供者或制造商还没有提供的定制功能、应用或算法等。结果,可以在过程控制系统中像标准功能块那样编译和使用定制功能(即定制功能块)。这样,定制功能块内所定义的程序、算法等可以按相对较高的速度在总体过程控制例行程序内进行通信,因为定制功能或程序不一定要经由工作站和使用(例如)可扩展标记语言的LAN来进行通信。此外,由于可以用类似于或等同于标准功能块的方式来编译定制功能块并将其下载入控制器和/或智能现场设备,因此,可以按同步的方式(即,可以将定制功能块的操作与标准功能块的操作安排在一起调度)来进行过程控制系统内的定制功能块与其他标准功能块之间的通信。
图1是示范方框图100,通常描绘定制功能块102的一种结构和产生技术。如图1所示,定制功能块102包括一个初始化过程或例行程序104、一个定期执行例行程序106和一个写检查例行程序108。例行程序104-108通常可以被称作“定制功能块102的行为或方法”。例行程序104-108可以包括使用公共数据110和/或私有数据112的各种属性。可以从过程控制系统(未示出)中获得这些属性以及(因而)与之有关的公共数据110和/或私有数据112,在该过程控制系统中可以经由属性表格114来例示定制功能块。此外,如图1所示,并如下文更详细的描述,可以使用一组头文件116、一组源文件118和/或一组库文件120来生成或定义定制功能块102。此外,定制功能块102可以具有一个与其相关的名称122,并可以成为包括多个定制功能块126的定制功能块库124的一部分。
初始化例行程序104在被执行时适合对与定制功能块102有关的公共数据110和私有数据112进行初始化。数据110和112的初始化值最好是(但不一定是)默认值或初始值,在这种情况下,在执行定期执行例行程序106之前,执行初始化例行程序104一次。当然,如果需要的话,可以执行初始化例行程序104一次以上,以满足用户所需要的特殊的应用或功能的要求。
写检查过程或例行程序108在被执行时适合于使从一个外部源(即,在功能块102以外)被写入定制功能块102的公共数据110的数据生效。响应于外部源试图将数据或信息写入公共数据110,来较佳地调用写检查例行程序108。写检查例行程序108可以确定功能块102的当前状态是否允许对目标数据执行外部写操作、目标数据是否可以由外部源写入和/或正在被写入目标数据的信息或数据是否在一个或多个预定的、可接受的限制内。例如,块102目前可能正在使用目标数据并允许外部源在完成某个过程、一系列步骤等之前改变目标数据,这可能会导致不可靠的或错误的结果。当然,任何其他不同或额外类型的检查都可以由写检查例行程序108来执行。
定期执行例行程序106在被执行时适合执行用户需要在控制系统内实施的特殊的功能或算法,可能无法经由控制系统提供者或制造商所提供的标准功能块来获得该特殊功能或算法。举例来讲,定期执行例行程序106可以包括一项映射功能或算法,该映射功能或算法使信息或数据能够在控制系统与其他某个应用、系统或设备(否则,控制系统将无法与其进行通信)之间被加以交换。或者或此外,定期执行例行程序106可以包括一项收益性计算和/或与标准功能块内通常不提供的过程控制系统有关的其他某项财政计算。当然,定期执行例行程序106内可以包括的功能或算法的数目和类型实际上是无限的。在实践中,由定期执行例行程序106执行的特殊的功能或算法通常对定制功能块102的全部行为进行定义,因此,定制功能块102的名称可以反映那个特殊的行为。例如,如果定期执行例行程序106包括一项收益性计算功能或算法,则功能块名称122可能会是“FB_PROFITCALC”,以反映那个功能或算法。
定期执行例行程序106可以包括使用公共数据110和/或私有数据112的算法。虽然公共数据110可供控制系统内所例示的任何定制或标准功能块使用,但是,部分或所有的公共数据110可以由定制功能块102专用。例如,公共数据110可以包括定制功能块102从外部数据区域(即定制功能块102以外的任何数据区域)传递到定制功能块102的公共数据110的外部数据。例如,公共数据110还可以包括定期执行例行程序106在执行期间使用公共数据110和/或私有数据112而获得的数据。
另一方面,私有数据112是其他功能块不可获得的数据。通常,私有数据112被用来跟踪与定制块102有关的历史的块执行信息或数据,并可以被用于块102随后的执行过程中,或者,可以被用于响应于一个或多个异常事件来控制块102的行为。类似于公共数据110,私有数据112可以包括定期执行例行程序106从外部数据区域传递到私有数据112的外部数据,并且/或者,可以包括定期执行例行程序106从公共数据110和/或私有数据112中获得的数据。
公共数据110和私有数据112可以具有任何所需的计算类型。例如,浮点、浮点数组、8位、16位和/或32位的有符号或无符号整数(单精度或双精度)、ASCII字符串、统一字符编码标准(unicode)字符串等可以被用于任何所需的组合中。此外,可以为公共数据110和私有数据112内的每个数据项目提供一个名称,定期执行例行程序106或另一个功能块内的另一个定期执行例行程序可以引用该名称。
属性表格114将定制功能块102所用的属性映射到其中例示定制功能块102的控制系统内的信息或数据。尤其是,定制功能块102内所定义的每个属性可以包括(例如)引用属性表格114的特定一行或一部分的一个指针(将该属性映射到控制系统内的一个数据源)。虽然定制功能块102内的每个属性与属性表格114的各行之间最好有一种唯一的对应,但是,其他功能块也可以包括使用属性表格114所提供的映射功能的指针。换言之,属性表格114内的每行可以具有一种“一对多”的关系,以便属性表格114的每行都可以由一个以上的功能块来引用或指向。
为了构造、创建或生成定制功能块102,用户可以使用文本编辑器、图形用户界面或能够实现对软件源代码文件观察和处理及/或对其表示的任何其他技术。如图1所示,用户可以将从头文件116、源文件118和库文件120中选择的文件组合起来,以创建定制功能块102。
头文件116包括可以由目标过程控制系统(即其中将例示定制功能块102的实例的过程控制系统)内的功能块使用的不同类型的结构和调用接口的定义。另一方面,库文件120包括执行目标控制系统内的例行程序活动可能需要的助手例行程序。例如,库文件120可以包括便于在目标过程控制系统内建立所需的操作模式的一个或多个例行程序。
源文件118是包括初始化例行程序104、定期执行例行程序106和写检查例行程序108的软件源代码文件。例如,源文件118可以基于一种高级编程语言(例如,C++),或可以基于任何其他所需的编程语言。例如,为了促进用户创建定制功能块(例如,定制功能块102),每个源文件118都可以包括清楚地解释源文件118内所包含的各种软件代码部分的用途和功能的详尽的注解。例如,这些注解可以清楚地指出源文件118中的哪些源文件或哪些部分负责例行程序104-108中的每个例行程序。此外,源文件118内的注解还可以明确地指出用户应该在哪里为定期执行例行程序106内所需的定制算法或功能插入源代码。另外,这些注解可以建议使用库文件120内所包含的一个或多个助手例行程序,还可以建议或解释如何可以将那些助手例行程序集成在定制功能块102内。较佳的是(但不必要),源文件118也包括针对创建、构成或生成定制功能块102可能需要的头文件116中的一些头文件的引用或指针。
虽然图1描绘了利用头文件116、源文件118和/或库文件120而被生成、创建或构成的一个单独的定制功能块102,但是,如果需要的话,可以创建多个定制功能块。在创建多个定制功能块的情况下,可以在定制功能块的一个或多个库内收集这些功能块。
此外,重要的是要认识到可以选择被用于头文件116和源文件118的特殊编程语言,以方便用户生成定制功能块。例如,C++特别适合采用面向对象的技术的编程,这为生成相对复杂的过程控制系统的软件算法提供了一种直观框架。当然,也可以使用任何其他的编程语言和/或编程技术。
头文件116、源文件118和库文件120的内容被配置成满足目标控制系统的特殊要求。换言之,例如,库文件120可以包括助手例行程序,这些助手例行程序用与目标控制系统的特殊要求相兼容的方式来执行活动(例如,模式控制活动、状况活动、调试活动等)。同样,头文件116和源文件118可以包括源代码,该源代码在由控制系统编译、连接和执行时将与目标控制系统的特殊要求相兼容。
这样,这里所描述的定制功能块可以被用来将可以由用户定义的特殊的功能、应用、算法和/或程序与总体过程控制系统的操作紧密地集成或耦合起来。尤其是,控制系统用户或操作者可以创建、生成或定义一个或多个定制功能块或定制功能块的库,以便将新的功能性加入控制系统(控制系统制造商或供应商将不会以其它方式在标准功能块库内提供该控制系统)。特别是,过程控制系统用户或操作者可以创建或定义使过程控制系统能够执行分析或计算的一个或多个定制功能块,这些分析或计算无法通过使用控制系统制造商或供应商所提供的标准功能块来加以执行。例如,过程控制系统用户或操作者可以创建一个定制功能块,该定制功能块根据过程控制系统内的一个或多个参数值来执行利润计算。当然,一个或多个定制功能块可以由系统用户或操作者来定义或创建,以便根据从过程控制系统内获得的参数值并(如下文更详细的描述)根据从其他设备和/或系统(通常可能未与过程控制系统集成,因而通常可能不与过程控制系统进行通信)获得的参数值来进行任何所需的计算。
这里所描述的定制功能块可以被用来更新较陈旧的过程控制系统的功能性。例如,可以将先进的控制性能加入一个较陈旧的控制系统,该较陈旧的控制系统通过创建执行这些先进的控制功能的定制功能块来仅仅提供基本的控制能力。同样,例如,这里所描述的定制功能块可以被用来更新或增加基本控制系统或控制器(例如,可编程的逻辑控制器)的功能性。例如,通过设立置于基本控制器或控制系统与另一更复杂的过程控制系统、操作者终端等之间的一个定制功能块层,可以将更多功能性附加到基本控制器或控制系统。
或者或此外,系统用户或操作者可以创建使过程控制系统能够与其他制造商所提供的其他装置、设备和/或系统进行对接或集成的定制功能块或定制功能块的库。如果这里所描述的定制功能块被用来将与一个制造商或供应商有关的过程控制系统跟与另一个制造商或供应商有关的系统或设备进行对接或集成,则定制功能块可以通过使用过程控制系统来加以定义或创建,以便发送、映射、翻译和/或重新格式化其他系统或设备所提供的数据或参数,供过程控制系统使用。同样,定制功能块也可以用于发送、映射、翻译和/或重新格式化过程控制系统所提供的数据或参数,供其他系统或设备使用。
举例来讲,这里所描述的定制功能块可以被用来将与第一个过程控制系统有关的功能块跟与第二个过程控制系统有关的功能块链接起来,这里的第一个和第二个过程控制系统可以由不同的制造商或供应商提供。用这种方法,例如,可以将第一个和第二个过程控制系统中的每个过程控制系统内的PID控制回路串接起来。当然,这里所描述的定制功能块可以被用来在与多个不同的过程控制系统有关的多个功能块之间创建更复杂的链接。例如,与各个不同的控制系统、装置或设备有关的两个或多个功能块可以用通信联络方式彼此链接,以执行一项或多项过程控制活动。
重要的是要认识到与原先的系统和技术对比而言,这里所描述的定制功能块使起源相异的功能块能够被链接在一起。换言之,与Fieldbus系统有关的功能块可以经由一个或多个定制功能块被链接到与(例如)PROVOX系统有关的功能块。如上所述,这里所描述的定制功能块提供一种标准外壳或参数接口,该标准外壳或参数接口可以被用于按无缝方式将信息从一种控制系统或设备传递到另一种控制系统或设备。例如,与Fieldbus功能块的“模式”参数、“状况”参数和BLOCK_ERR参数有关的约定可能跟与非Fieldbus功能块有关的约定和/或对应的参数截然不同。可以创建这里所描述的定制功能块中的一个或多个定制功能块,来映射、翻译和/或消去正在Fieldbus功能块与非Fieldbus功能块之间被传递的数据或信息。用这种方法,例如,Fieldbus参数(例如,模式、状况和BLOCK_ERR)可以被映射到具有非Fieldbus功能块的合适的参数或与其关联。
这里所描述的定制功能块也使过程控制系统实施外部的(即,不作为执行过程控制活动的软件的一部分被加以执行,也不与执行过程控制活动的软件集成)应用和算法能够紧密地或以无缝方式与过程控制系统实施进行集成。由于这里所描述的定制功能块象标准功能块那样被处理或使用,因此,定制功能块使外部系统、应用或算法能够看起来象是过程控制系统软件的一部分,并使外部系统、应用或算法的执行能够与总体过程控制方案的执行同步。
外部系统、应用或算法经由这里所描述的定制功能块与过程控制系统的紧密或无缝的集成使这些外部系统、应用或算法能够与过程控制系统所执行的警报管理活动进行集成,使系统用户或操作者能够与定制功能块连接并(因而)与这些定制功能块所对应的外部系统、应用或算法来使用随过程控制系统提供的标准配置工具、调试工具、仿真工具等连接。举例来讲,状况监控应用(例如,旋转设备监控应用)可以经由多个定制功能块中的一个定制功能块与过程控制系统进行集成,以便可以使用条件监控应用所监控的参数在过程控制系统内建立设备警报。此外,使用这里所描述的定制功能块的外部系统、应用或算法的集成使这些外部系统、应用或算法能够参与过程控制系统所提供的冗余功能,并促进观察涉及与外部系统、应用或算法(使用过程控制系统内所提供的操作者界面和/或文件管理系统)有关的功能块的信息。另外,过程控制系统与可由这里所描述的定制功能块提供的外部系统、应用或算法之间紧密的集成可以被用于方便配置下载期间对过程控制系统状态的管理。例如,与外部系统、应用或算法有关的定制功能块可以被用于保存下载期间与该外部系统、应用或算法有关的最后一个值。
这样,这里所描述的定制功能块可以按通信方式被置于过程控制系统应用与数据源之间。尤其是,可以将来自该数据源的信息(可能是过程控制信息)传达给一个定制功能块,该定制功能块可以根据其内的一项功能来处理至少来自数据源的一些信息。然后,可以将至少一些被处理的信息传达给一个过程控制系统应用。数据源可能是与该过程控制系统应用有关的一个功能块、一个设备或一个参数。或者,数据源可能是该过程控制系统应用外部的一个系统、一个设备、一个算法或一个应用。
由定制功能块从数据源接收的信息的处理可以包括将从数据源接收的一些信息和/或一些已被处理的信息映射到与过程控制系统应用有关或被其使用的一个或多个参数。或者或此外,定制功能块可以计算一个值,供与过程控制系统应用有关的一个参数使用。定制功能块所执行的计算可以是通常不执行的计算,也可以是若不使用这里所描述的定制功能块就无法执行的计算。这样,这里所描述的定制功能块一般可以被用于根据定制功能块所执行的功能而在过程控制系统应用与数据源之间传达信息。用这种方法,这里所描述的定制功能块使过程控制应用外部的数据源能够与该过程控制应用进行有效的集成。如果需要的话,这里所描述的定制功能块可以根据从数据源接收的信息来计算一个值,并可以将那个值与过程控制系统应用(与功能块有关)所使用的一个参数关联。更一般地,例如,这里所描述的定制功能块可以执行一项或多项功能(例如,数据映射功能、数据转换功能、数据翻译功能等)。
图2是示范流程图200,描绘了控制系统提供者或制造商可以控制定制功能块在其控制系统内的应用的一种方法。在方框202处,例如,控制系统用户或操作者可以生成、创建或构成一个定制功能块(例如,图1所示的定制功能块102)。图形用户界面、文本编辑器或类似物可以促进用户建立定制功能块,例如,它们使用户能够点击和拖曳图标(代表来自库文件或其他文件的功能块的部件),以组装这些图标和(因而)它们代表的文件,从而形成一个功能块。此外,用户能够编辑或修改源代码文件,以包括标准功能块不提供的一个特殊的功能、算法或过程。
在方框204处,在方框202处被生成、创建或构成的完成的源代码文件可以被加以编译和连接,以创建一个或多个对应的目标代码文件(例如,一个或多个动态链接库(DLL)文件)。较佳的是(但不必要),用户可以执行对一个或多个源代码文件的编译和连接,或者,如果需要的话,也可以由其他某个实体来执行。在方框206处,可以将与定制功能块有关的一个或多个被编译和连接的源代码文件传递给目标过程控制系统的提供者。该提供者可能是安装者、制造商和/或除用户以外与目标过程控制系统有关的任何实体。此外,例如,可以使用任何所需的技术(例如,经由无线的和/或硬连线的通信网络的电子传输(可以包括使用互联网)、经由某种有形存储介质(比如存储磁盘或光盘或其他设备)的传输、经由印刷硬拷贝的传输等)来执行对一个或多个被编译和连接的源代码文件的传递。
在方框208处,接收定制功能块的被编译和连接的源代码的实体可以证实定制功能块将在目标控制系统内适当地运作。接收实体也可以确定定制功能块在被执行时将不会违反可能在接收实体与负责创建定制功能块的实体之间有效的任何许可协议的条款和条件。如果定制功能块无效,则方框210将控制传给方框212,在其处,可以通知用户定制功能块不符合许可要求,以及/或者,定制功能块将不会在目标过程控制系统内发挥适当的作用。
另一方面,如果定制功能块有效(即,已满足或还没有违反许可和/或操作要求),则方框210将控制传给方框214。在方框214处,接收定制功能块的被编译和连接的源代码文件的实体可以将一个数字签名附加到或加入被编译和连接的定制功能块文件。当然,可以使用任何其他类型的安全或验证措施来取代数字签名。或者,可以在一个分开的数字文件中提供数字签名或其他安全/验证措施,这分开的数字文件可以具体体现为一个分开的存储设备或介质。
在方框216处,生效的定制功能块文件被传递回到负责创建或构成定制功能块的用户或实体。如上所述,可以利用数字签名或其他某种安全措施将定制功能块文件传递回去。关于方框206处的文件传递,可以使用任何所需的通信技术(包括无线的和/或硬连线的电子传递)来执行方框216处的文件传递。
在方框218处,负责创建定制功能块的用户或实体可以将定制功能块并入目标控制系统,以便系统用户能够用类似于或等同于可以使用标准功能块来设计和执行过程控制的过程、算法等的方式的一种方式来选择和使用定制功能块。较佳的是(但不必要),要被用作公布的或产品功能块的定制功能块应遵循图2中举例所示的技术。这样,图2中举例所示的技术将不一定要被用于在调试模式或其他某种开发模式内执行设计开发。利用这种方式,用户不必从事耗时的文件传递、验证过程等,就可以在使用定制功能块开发控制系统过程的过程中自由地做实验。但是,一旦用户已开发了要被并入控制系统并被用于公布的或产品能力的一个定制功能块或定制功能块的一个库,就可以迫使用户遵循类似于或等同于结合图2所示和所描述的一种程序。
虽然结合单一定制功能块的创建和验证描述了图2中举例描绘的技术,但是,图2中所描绘的技术通常更适用。例如,可以在实质上相同的时间采用图2所示的技术来创建多个定制功能块并使其生效。此外,如果需要的话,多个定制功能块中的一些或所有定制功能块可以被包含在一个单一的库或多个库内。
例如,仅仅通过举例,可以使用这里所描述的定制功能块和创建定制功能块的方法来促进验证过程(例如,可能被食品及药物管理局(FDA)要求的验证过程)。此外,如果需要的话,这里所描述的定制功能块和创建技术能够使定制功能块以编译的方式被开发和分发,从而令除功能块的创建者以外的实体逆向监督或确定定制功能块是如何起作用的变得更困难,也许变得不可能。结果,可以用编译的方式来开发和分配这里所描述的定制功能块,以便使开发者能够维持所开发的功能块的专利。
如果以软件方式加以执行,则可以将这里所讨论的功能块和软件例行程序存储在计算机、控制器、现场设备等的RAM或ROM中的任何计算机可读存储器内(例如,存储在磁盘、激光盘或其他存储介质上)。同样,该软件可以经由任何已知的或所需的传输方法(例如,包括在诸如电话线、互联网等的通信通道上)被传送给用户或设备。
已参考特殊的例子描述了本发明(旨在只起说明性的作用,而不限制本发明),但是,精通该技术领域的普通技术人员将会明白在不脱离本发明的精神和范围的前提下,可以对所揭示的各个实施例进行更改、添加或删除。
权利要求
1.一种创建用于过程控制系统的功能块的方法,其特征在于包括从多个源文件中选择初始化例行程序;从多个源文件中选择定期执行例行程序;从多个源文件中选择写检查例行程序;将初始化例行程序、定期执行例行程序和写检查例行程序跟功能块关联起来;以及,修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以包括没有提供给过程控制系统的一个过程。
2.权利要求1的方法,其特征在于,还包括从多个头文件中选择一个头文件,并将该头文件与功能块关联。
3.权利要求1的方法,其特征在于,还包括从多个库文件中选择一个库文件,并将该库文件与功能块关联。
4.权利要求1的方法,其特征在于,定期执行例行程序包括指向与功能块有关的属性表格的一个指针。
5.权利要求1的方法,其特征在于,还包括将功能块所使用的数据定义为私有数据和公共数据两者中的一种数据。
6.权利要求1的方法,其特征在于,修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以包括没有没有提供给过程控制系统的一个过程的步骤包括使用图形用户界面。
7.权利要求1的方法,其特征在于,修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以包括没有提供给过程控制系统的过程的步骤包括将使用高级编程语言的一个软件指令加入定期执行例行程序。
8.一种创建用于过程控制系统中的功能块的方法,其特征在于该方法包括组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个文件;以及,修改该与功能块有关的文件内的多个文件之一,以包括这组文件内不包括的一个过程。
9.权利要求8的方法,其特征在于,组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个文件的步骤包括组合适合由过程控制系统执行的源文件和头文件,以执行块初始化活动、定期执行活动和写检查活动的功能之一。
10.权利要求9的方法,其特征在于,组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个文件的步骤还包括将一个库文件跟一些源文件和头文件组合。
11.权利要求8的方法,其特征在于,还包括关联一属性表格,该属性表格具有至少一个属性,该属性被与功能块有关的多个文件中的一个文件所使用。
12.权利要求8的方法,其特征在于,组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个文件的步骤包括使用图形用户界面和文本编辑器中的一个来选择多个文件中的每个文件。
13.权利要求8的方法,其特征在于,组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个文件的步骤包括选择包含功能块初始化例行程序的第一文件、包含定期执行例行程序的第二文件和包含写检查例行程序的第三文件。
14.权利要求13的方法,其特征在于,选择第一、第二和第三文件的步骤包括从多个源文件中选择第一、第二和第三文件。
15.权利要求8的方法,其特征在于,还包括经由属性表格,使用指针将功能块的一个属性与控制系统内的信息关联起来。
16.一种创建用于过程控制系统的功能块的系统,其特征在于包括一个计算机可读介质;存储在计算机可读介质上的第一软件,适合由过程控制系统来执行,以从多个源文件中选择初始化例行程序;存储在计算机可读介质上的第二软件,适合由过程控制系统来执行,以从多个源文件中选择定期执行例行程序;存储在计算机可读介质上的第三软件,适合由过程控制系统来执行,以从多个源文件中选择写检查例行程序;存储在计算机可读介质上的第四软件,适合由过程控制系统来执行,以将初始化例行程序、定期执行例行程序和写检查例行程序跟功能块关联起来;以及,存储在计算机可读介质上的第五软件,适合由过程控制系统来执行,以修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以包括没有提供给过程控制系统的一个过程。
17.权利要求16的系统,其特征在于,还包括存储在计算机可读介质上的第六软件,该软件适合由过程控制系统来执行,以从多个头文件中选择一个头文件并将该头文件与功能块关联。
18.权利要求16的系统,其特征在于,还包括存储在计算机可读介质上的第七软件,该软件适合由过程控制系统来执行,以从多个库文件中选择一个库文件并将该库文件与功能块关联。
19.权利要求16的系统,其特征在于,第五软件还适合修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序,以包括不被提供给使用图形用户界面的过程控制系统的过程。
20.权利要求16的系统,其特征在于,第五软件还适合通过将使用高级编程语言的一个软件指令加入定期执行例行程序来修改初始化例行程序、定期执行例行程序和写检查例行程序中的一个例行程序。
21.一种将功能块并入过程控制系统内的方法,其特征在于该方法包括通过组合来自过程控制系统的提供者所建立的一组文件的多个文件,以形成与功能块有关的一个源代码文件,并通过修改该源代码文件内的多个文件之一,以包括这组文件内不包括的一个过程,从而生成功能块;编译并链接源代码文件,以形成一个被编译/链接的功能块文件;将被编译/链接的功能块文件传递给过程控制系统的提供者;使被编译/链接的功能块文件生效;将一项安全措施附加到被编译/链接的功能块文件,以形成一个生效的功能块文件;将生效的功能块文件传递给过程控制系统的用户;以及,将生效的功能块文件并入过程控制系统内。
22.权利要求21的方法,其特征在于,将被编译/链接的功能块文件传递给过程控制系统的提供者的步骤包括使用无线的和硬连线的通信技术中的一种技术来传送被编译/链接的功能块文件。
23.权利要求21的方法,其特征在于,使被编译/链接的功能块文件生效的步骤包括确定功能块是否遵守过程控制系统的许可要求和操作特征中的一个。
24.权利要求21的方法,其特征在于,将安全措施附加到被编译/链接的功能块文件,以形成生效的功能块文件的步骤包括将数字签名与功能块关联。
25.一种在过程控制系统内使用功能块的方法,其特征在于该方法包括从过程控制系统的用户那里接收功能块信息;确定该功能块信息是否有效;响应于对功能块信息是否有效的判定,来生成安全信息;将所生成的安全信息与功能块关联;以及,如果功能块信息有效,则将所生成的安全信息发送给用户。
26.权利要求25的方法,其特征在于,响应于功能块信息是否有效的判定来生成安全信息的步骤包括生成一个数字签名。
27.权利要求25的方法,其特征在于,将所生成的安全信息与功能块关联的步骤包括将所生成的安全信息加入功能块信息。
28.权利要求25的方法,其特征在于,确定定制功能块信息是否有效的步骤包括确定定制功能块信息是否遵守过程控制系统的许可要求和操作要求中的一个。
29.一种使用定制功能块的方法,其特征在于包括将信息从数据源传达给定制功能块;根据定制功能块内的一项功能来处理来自数据源的信息;以及,将至少某些被处理的信息传达给一个过程控制系统应用。
30.权利要求29的方法,其特征在于,将信息从数据源传达给定制功能块的步骤包括将信息从过程控制系统应用外部的应用、算法、设备和系统中的一个传达给定制功能块。
31.权利要求29的方法,其特征在于,将信息从数据源传达给定制功能块的步骤包括传达过程控制信息。
32.权利要求29的方法,其特征在于,根据定制功能块内的功能来处理来自数据源的信息的步骤包括将信息映射到与过程控制系统应用有关的一个参数。
33.权利要求29的方法,其特征在于,根据定制功能块内的功能来处理来自数据源的信息的步骤包括根据来自数据源的信息来计算过程控制系统应用所使用的一个参数。
34.权利要求29的方法,其特征在于,将信息从数据源传达给定制功能块的步骤包括将信息从过程控制系统应用内的设备、功能块和参数中的一个传达给定制功能块。
35.权利要求34的方法,其特征在于,根据定制功能块内的功能来处理来自数据源的信息的步骤包括执行不由过程控制系统应用执行的一项计算。
36.一种使用定制功能块的方法,其特征在于包括用通信方式将定制功能块置于过程控制系统应用与数据源之间;以及,根据定制功能块所执行的一项功能,在过程控制系统应用与数据源之间传达信息。
37.权利要求36的方法,其特征在于,用通信方式将定制功能块置于过程控制系统应用与数据源之间的步骤包括用通信方式将定制功能块置于过程控制系统应用与有关过程控制系统应用的功能块、设备和参数中的一个之间。
38.权利要求36的方法,其特征在于,用通信方式将定制功能块置于过程控制系统应用与数据源之间的步骤包括用通信方式将定制功能块置于过程控制系统应用与过程控制系统应用外部的系统、设备和应用中的一个之间。
39.权利要求36的方法,其特征在于,根据定制功能块所执行的功能而在过程控制系统应用与数据源之间传达信息的步骤包括至少将某些信息映射到过程控制系统应用所使用的一个参数。
40.权利要求36的方法,其特征在于,根据定制功能块所执行的功能而在过程控制系统应用与数据源之间传达信息的步骤包括至少根据某些信息来计算一个值,并将该值与过程控制系统应用所使用的一个参数关联。
41.一种使用功能块的方法,其特征在于包括用通信方式将功能块置于一个过程控制应用与该过程控制应用外部的一个数据源之间;以及,根据功能块所执行的一项功能,在过程控制应用与过程控制应用外部的数据源之间传达信息。
42.权利要求41的方法,其特征在于,用通信方式将功能块置于过程控制应用与过程控制应用外部的数据源之间的步骤包括用通信方式将功能块置于过程控制应用与过程控制应用外部的系统、设备和应用中的一个之间。
43.权利要求41的方法,其特征在于,根据功能块所执行的功能而在过程控制应用与过程控制应用外部的数据源之间传达信息的步骤包括至少将某些信息映射到过程控制应用所使用的一个参数。
44.权利要求41的方法,其特征在于,根据功能块所执行的功能而在过程控制应用与过程控制应用外部的数据源之间传达信息的步骤包括至少根据某些信息来计算一个值,并将该值与过程控制应用所使用的一个参数关联。
45.一种使用功能块的方法,其特征在于包括经由功能块,将过程控制应用外部的一个数据源与该过程控制应用进行操作上集成;以及,根据功能块所执行的数据映射功能、数据转换功能和数据翻译功能中的至少一项功能,在过程控制应用与过程控制应用外部的数据源之间传达信息。
全文摘要
一种用于在过程控制系统内创建和并入功能块的系统和方法,通过组合从过程控制系统的制造商所提供的一组文件中选择的多个文件,以形成与功能块有关的一个源代码文件,从而使过程控制系统的用户能够建立功能块。用户可以修改功能块源代码文件,以包括制造商没有提供的一个过程、例行程序或算法,并且,可以将所修改的源代码文件发送给制造商验证。如果功能块源代码文件生效,则为用户提供一项安全措施(例如,数字签名),使用户能够将功能块并入过程控制系统。功能块可以被用来将一项新的功能并入过程控制应用,或经由功能块所执行的数据映射功能将过程控制应用外部的一个数据源与该过程控制应用进行有效的集成。
文档编号G05B19/05GK1452064SQ0311048
公开日2003年10月29日 申请日期2003年4月15日 优先权日2002年4月15日
发明者M·J·尼克森, K·毕欧格特, B·海博, T·L·布莱文斯, D·L·史蒂文森 申请人:费舍-柔斯芒特系统股份有限公司