过程设备配置系统中的模块类对象的制作方法

文档序号:6326450阅读:139来源:国知局
专利名称:过程设备配置系统中的模块类对象的制作方法
技术领域
本发明一般涉及过程设备,尤其涉及配置和观察过程设备的运转时模块类对象的使用。
背景技术
分布式过程控制系统,如那些用于化学、石油或者其它过程中的,一般包括一个或者多个过程控制器,这些控制器通过模拟总线、数字总线或模/数结合的总线可与一个或多个现场装置通信地连接。这些现场装置可能是,例如,阀、阀的远程位置调节器,开关元件和发射装置(如温度、压力、电平和流率传感器),这些现场装置位于进程环境中,并执行,例如,开关阀、测量过程参数等的过程功能。精确的现场装置,如符合著名的现场总线协议的现场装置也执行控制计算、报警功能和其它控制功能,所述功能一般在控制器内完成。过程控制器一般也位于设备环境内,这些处理控制器接收指示由现场装置进行过程测量的信号,和/或其它有关现场装置的信息,并且执行一个控制器应用程序来运行例如不同的控制模块,这些控制模块作出过程控制决定,基于收到的信息产生控制信号,并且与在现场装置例如HART和现场总线现场装置中执行的控制模块或控制块进行协调。控制器中的控制模块通过通信线发送控制信号给现场装置从而控制过程设备的操作。
来自现场装置和控制器的信息通常可通过一个数据高速公路至一个或多个其它的硬件装置,如操作员工作站、个人电脑、历史数据库、报告发生器、集中式数据库等,特别是置于远离恶劣的设备环境的控制室或其它位置。这些硬件装置运行应用程序,这些应用程序例如可以使操作员执行有关过程的功能,如改变过程控制例行程序的设置,修改控制器或现场装置内的控制模块的操作,查看过程的当前状态,查看由现场装置和控制器产生的警报,模拟以训练个人或测试过程控制软件为目的的过程的操作,维护并更新一个配置数据库等。
作为一个实例,被Fisher-Rosemount系统股份有限公司销售的DeltaVTM控制系统包括多个应用程序,它们被存储在位于过程设备中不同位置的不同装置并被其执行。位于一个或多个操作员工作站中的一个配置应用程序,能够使用户创建或改变过程控制模块并且经由一信息高速公路下载这些过程控制模块至专用分布式控制器。一般,这些控制模块由通信互连的功能块组成,它们是面向对象的程序设计协议的对象,所述对象在控制方案内部基于到控制方案的输入执行功能,并且将输出提供给控制方案内的其它功能块。配置应用程序也可能允许一个配置设计师建立或改变操作员接口,所述接口被观察应用程序用于为一个操作员显示数据,和使操作员能够改变设置,如过程控制例行程序内的设置点。每一个专用控制器和某些情况下的现场装置存储并执行一个控制器应用程序,这一程序运行被指定并下载至该处的控制模块,以实现实际的过程控制功能。观察程序可能在一个或多个操作员工作站中运行,所述观察程序通过数据高速公路接收来自控制器应用程序的数据并且显示这些数据给过程控制系统设计师、操作员或者使用用户接口的用户,并且可能提供许多不同的视图的任何一个,如一个操作员的视图,一个工程师的视图,一个技术员的视图等。一个历史数据库应用程序被储存并且被一个历史数据库装置执行,所述装置收集并存储通过数据高速公路提供的一些或全部数据,然而一个配置数据库应用程序可能在一个更远的挂在数据高速公路上的计算机上运行,从而存储当前的过程控制例行程序配置和与之相关的数据。或者,配置数据库可置于与配置应用程序相同的工作站。
目前,配置应用程序可包括模板对象的程序库,如功能块模板对象和在某些情况下的控制模块模板对象。这些配置应用程序用于为一个过程设备配置控制策略。所有的模板对象都有与之相关联的默认的属性,设置和方法。并且使用配置应用程序的工程师能选择这些模板对象和基本上将被选择模板对象的副本放入一配置屏幕从而产生一个控制模块。在选择和放入这些模板对象到配置屏幕的过程中,工程师将上述模块的输入和输出互相连接并改变它们的参数、名称、标记符和其它的属性从而为过程设备中的一个特定的使用建立一个特定的控制模块。在建立一个或多个那样的控制模块后,工程师能以具体的实例说明所述控制模块并将其下载至适当的一个或多个控制器和现场装置中用于在操作过程设备期间执行。
此后,工程师一般在过程设备内通过在一个显示创建应用程序内选择和建立显示对象为操作员或维护人员等建立一个或多个显示。,这些显示一般在一个或多个工作站的系统宽基础上实施并且提供关于控制系统或设备内的装置的操作状态的预配置显示给操作员或维护人员。一般,这些显示采取报警显示的形式,所述报警显示接收并显示由控制器或过程设备内的装置产生的警报、指示过程设备内的控制器和其它装置的操作状态的控制显示、指示过程设备等中的装置的功能状态的维护显示。这些显示一般被预配置从而以公知的方式显示从过程控制模块或过程设备中的装置接收到的信息或数据。在一些已知的系统中,通过利用一些对象来建立显示,所述对象有一个与物理或逻辑元件相关联的图形,并可通信地连接到所述物理或逻辑元件,以接收关于物理或逻辑元件的数据。所述对象可能根据所接收的数据改变显示屏幕上的图形来说明,例如,一个罐是半满的,其显示流量传感器测得的流量等。
与控制配置应用程序相似,一个显示创建应用程序有模板图形显示项目模块,如罐、阀、传感器、操作员控制按钮如滑动条、开关转换器等,这些可以任何期望的配置置于屏幕上从而建立一个操作员显示、维护显示等。当置于屏幕上时,单个的图形能以一种提供一些信息或显示过程设备内部工作情况给不同用户的方式在屏幕上互相连接起来。然而,为了使图形显示动画化,显示创建器必须通过在图形项目和过程设备内相关的数据源间指定一个通信连线来手工连接图形中的每一个至过程设备中产生的数据,例如传感器测量到的数据或指示阀位置的数据等。这一过程是冗长乏味、耗费时间和可能充满错误的。
然而控制配置应用程序内的控制模板对象和显示创建应用程序内部的显示项目是方便的,因为它们能被复制并用于创建许多不同的控制模块和图形显示,经常需要为过程设备内部的不同装置建立许多同样的控制模块和图形显示。例如,许多大的过程设备的媒介有同样的或相似的装置的许多实例,它们可以用相同的基本通用控制模块和显示来对其进行控制和浏览。然而,要建立这些众多的控制模块和显示,就要建立一个通用的控制模块或显示模块,并且为可应用该通用的控制模块或显示模块的每一个不同的装置复制该通用的控制或显示模块。当然,在被复制之后,每一个新的控制或显示模块必须在配置应用程序被手工改动以指定它所附属的该特定的装置,而且所有这些控制和显示模块必须用具体例证说明并下载到过程控制系统。
不幸的是,在任何方式下,上面讨论的控制模块和显示模块都不是模块化的。因此,在被复制后,必须用适当的配置应用程序对每一个控制模块和显示模块进行手动的和单独的修改,以指定过程设备内部与之相关的装置。在一个有着许多相同类型装置的复制品(如重复装置)的设备内部,这一过程是冗长乏味、耗费时间和充满着操作员造成的错误的。更进一步,一旦被程序化,这些不同的控制模块和显示模块互相之间不会察觉。因此,一旦对控制模块作出改动,工程师或者操作员必须手动地为不同的重复设备中的每一个不同的控制模块作出相同的改变,这一操作又是耗费时间和冗长乏味的。同样的问题适用于为设备内不同组的重复设备创建的图形视图。换言之,一旦创建了一个特有的控制模块或特有的图形视图(单独地或从一个模板对象复制而来),并将其联系到设备内部的一个特定组的装置上,控制模块或图形视图将作为该系统内一个独立的实体或对象,而不再注意到其它的相同或相似的控制模块或图形显示。因此,对每一个特定类型的控制模块和图形显示作出的适当的变动必须在在那些模块和显示上单独进行。
更进一步,因为每一个控制模块和显示是一个单独的对象,它必须处于打开状态,在一定意义上,以使任何用户都可以改变或浏览它内部的参数、视图、功能块和其它的单元。当前,还没有方式来控制在这些控制模块和显示内的某些信息从而使它们可以被某些操作员或其它的用户所见或有访问的内容。因而,没有能力隐藏这些控制模块和显示信息中某些元件,如来自控制模块和显示的用户的专有的软件或方法,报警活动等。

发明内容
用于过程设备的一个配置系统使用模块类对象来帮助配置、组织和改变过程设备内的控制和显示活动。每一个模块类对象一般模拟或代表一个过程实体,如一个元件、一个装置、一个控制活动等,而且可用来建立对象的实例,称为模块对象,它代表并被连接到过程设备内的特定的装置上。模块类对象可以代表任何期望范围的过程实体,这意味着一个单一的模块类对象可以用来配置过程设备内部任何期望范围的过程实体的控制和显示活动,而不是仅仅在控制模块层。特别地,一个大范围的模块类对象可用来配置过程设备的一个段或部分,这使得过程设备的配置较为容易和消耗较少的时间。一个模块类对象,例如,可以是反映过程设备内部物理单元的一个单元模块类对象、反映过程设备内部物理装置的一个装置模块类对象、反映过程设备内部控制模块或方案的一个控制模块类对象、或者反映过程设备内部提供信息给用户的显示例行程序的一个显示模块类对象。
要提高模块类对象在配置时的使用,一个模块类对象可以包括对其它模块类对象的引用或其它模块类对象的占位符,以致由不同模块类对象创建的的模块对象互为注意或互为包含。在一个实施例中,一个单元模块类对象可包括装置模块类对象、控制模块类对象和显示模块类对象的引用,同时和其它的简单的装置和控制模块必要地互相连接来形成一个单元。同样,一个装置模块类对象可以包括对控制和显示模块类对象的引用,而一个控制模块类对象可以包括对显示模块类对象的引用。
每一个模块类对象拥有或被连接到由模块类对象创建的实例(模块对象),并且被创建的模块对象仍然能知晓模块类对象。因此,对模块类对象作出的变动能够自动地传到与其相关的模块对象,这消除了手工对控制设备内多个控制模块或显示应用程序作出改动的需要。因为这一特征,通过对适当的模块类对象作出变动并将这些变化自动传送到由这些模块类对象创建的模块对象,可以对与多组重复设备中的每一个相关联的控制或显示例行程序作出变动。这一效果消除了对每一个不同组的相同设备的众多不同的单个控制模块作出相同变动的需要。同样,可以通过批的方式如用一个与模块对象相关的参数、输入和输出、装置等的电子数据表应用程序将与相同模块类对象相关联的不同模块对象以单一的视图或屏幕显示连接到过程设备的不同的实际装置上。关于与一个模块类对象相关的不同模块对象的信息可以对操作员或其它用户隐藏,因为用户没有访问权限的该模块类对象可以控制由该模块类对象创建的模块对象内的信息能否被观察或访问。


图1是位于过程设备内部的分布式过程控制网络的框图,,其包括一个执行配置应用程序的操作员工作站,所述配置应用程序用模块类对象为过程设备构造控制和显示活动;图2是图1中的一个反应堆单元的示意图;图3是图2中的反应堆单元使用的积算器装置实体的示意图;图4是图2中的反应堆单元使用的出口阀系统的示意图;图5是一个说明用于单元、装置、控制和显示型的模块类对象的模块类对象和相关的模块对象之间的相互关系的逻辑图;
图6是反应堆单元模块类对象的逻辑图,所述反应堆单元模块类对象能用于为图1中的设备内部的反应堆执行配置活动;图7是一个积算器装置模块类对象的逻辑图,所述积算器装置模块类对象能用于为图1中的设备内部的积算器执行配置活动;图8是第一个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图9是第二个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图10是第三个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图11是第四个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图12是第五个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图13是第六个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图14是第七个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图15是第八个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备;图16是第九个配置屏幕的图,其可被一个配置操作员用来利用模块类对象配置一个过程设备。
具体实施例方式
现在参考图1,一个过程设备10包括一个或多个通过例如以太网或总线15连接到多个工作站4的过程控制器12。控制器12也通过多组通信线或总线18被连接到过程设备10内部的设备或装置,图1中说明仅通信线18被连接到控制器12a上。控制器12能与,如分布在整个过程设备中的现场装置和现场装置内的功能块的控制元件通信,以执行一个或多个过程控制例行程序19从而完成对过程设备10的期望控制,所述控制器能通过仅用例如由Fisher-rosemount系统股份有限公司销售的控制器来实现。工作站14(例如,它可能是个人电脑)可被一个或多个配置工程师用来设计被控制器12执行的过程控制例行程序19和被工作站14或其它计算机执行的显示例行程序,并被用于与控制器12通信从而下载所述过程控制例行程序至控制器12。此外,工作站14可执行显示例行程序,所述显示例行程序在过程设备的操作期间接收并显示关于过程设备10或其中的元件的信息。
每一个工作站14包括一个存储器20,用于存储,如配置设计应用程序和显示或观察应用程序的应用程序,和用于存储,如关于过程设备10的配置的配置数据的数据。每一个工作站14也包括一个处理器21,所述处理器执行应用程序从而使一个配置工程师在过程设备的操作期间能设计过程控制例行程序和其它的例行程序,和下载这些过程控制例行程序至控制器12或其它的计算机,或者收集并显示信息给一个用户。
更进一步,每一个控制器12包括一个存储控制和通信应用程序的存储器22,和一个以任何已知的方式执行所述控制和通信应用程序的处理器24。例如,每一个控制器12存储并执行一个控制器应用程序,所述控制器应用程序用许多不同的、独立执行的控制模块或控制块19实施一个控制策略。控制模块19中的每一个可由通常称为功能块组成,其中每一个功能块是整个控制例行程序的一部分或一个子程序的并与其它功能块(通过称为连路的通信)协同起来操作从而在过程设备10内部实施过程控制环。众所周知,可能是面向对象的程序设计协议对象的功能块一般执行下述几个功能之一一个如与发送器、传感器或其它的过程参数测量装置相关的输入功能、一个如与一个执行PID和模糊逻辑等控制的控制例行程序相关的控制功能、或者一个控制一些装置如阀的操作从而在过程设备10内执行一些物理功能的输出功能。当然,例如模型预示控制器(MPC)或最优化设备等的混合的或其它类型的综合功能块存在。当现场总线协议和DeltaV系统协议使用在一个面向对象程序设计协议中设计和实施的控制模块和功能块时,能用任何期望的控制程序设计方案例如包括连续的功能块、梯形逻辑等来设计控制模块,而且不限于用功能块或任何其它特殊的程序设计技术来进行设计。
工作站14可通过一个显示屏提供控制器12内部的过程控制例行程序19的图形绘图给用户,所述显示屏幕图解过程控制例行程序19内的控制元件和配置这些控制元件从而提供对过程设备10的控制的方式。在附图1所示的系统中,一个配置数据库25被连接至以太网总线15从而存储配置数据,所述配置数据被控制器12和工作站14使用的配置数据并且通过收集和存储为未来使用的过程设备10产生的数据作为一个历史数据库。
在图1说明的过程设备10中,控制器12a通过总线18可通信连接至三组被相似配置的反映器(设备10内的重复装置),此处称其为反应堆_01,反应堆_02和反应堆_03。反应堆_01包括一个反应管或罐100,三个被连接的输入阀系统(其为设备实体)101、102和103,用于控制分别提供酸、碱和水流入反应管100的流体入口线,和一个被连接的出口阀系统104,其用于控制从反应管100流出的流体。一个可以是任何期待类型的传感器的传感器105,如液位传感器、温度传感器,压力传感器等,所述传感器可置于反应管100内部或附近。由于本讨论的需要,传感器105假定是水位传感器。此外,一个共用的总阀系统110被连接在每一个反应堆即反应堆_01、反应堆_02和反应堆_03上游的吃水线上从而提供一个主要的控制来控制到每一个所述反应堆的水流量。
类似的,反应堆_02包括一个反应管200,三个输入阀系统201、202和203,一个出口阀系统204和一个水位传感器205,而反应堆_03包括一个反应管300,三个输入阀系统301、302和303、一个出口阀系统304和一个水位传感器305。在图1的实例,在输入阀系统101、201和301提供酸、输入阀系统102、202、302提供碱和输入阀系统103、203和303与共用的水总阀110联合提供水给反应管100的情况下,反应堆_01、反应堆_02和反应堆_03可以产生盐。出口阀系统104、204和304能够被操作从而将产品送出至图1中指向右边的流水线,和将废物和其它不想要的材料送出至图1中指向底部的流水线。
控制器12a可通信地通过总线18与阀系统101-104、110、201-204、301-304和传感器105、205和305连接,以控制这些元件的操作从而执行一个或多个关于反应堆单元即反应堆_01、反应堆_02和反应堆_03的操作。上述操作,一般被称为阶段,例如可包括填充反应管100、200、300、加热反映管100、200、300内部的材料,倾倒反应管100、200、300,清洗反应管100、200、300等。
图1中说明的阀、传感器和其它的装置可以是任何期望类型的装置,例如包括现场总线装置、标准4-20ma装置、HART装置等,和可用任何已知或期望的通信协议,如现场总线协议、HART协议、4-20ma模拟协议等与控制器12通信。更进一步地,根据上面讨论的原则,其它类型的装置可与控制器12连接并被其控制。并且,其它数量和类型的控制器也可在设备10内部被连接从而控制与处理设备10相关联的装置或区域,并且上述附加控制器的操作可以期望的方式与图1中图示的控制器12a的操作相协调。
一般来讲,图1中的过程设备10可用于实施批处理,在其中,例如工作站14或控制器12a中的一个执行一个可执行批处理例行程序,所述例行程序是一个高水位控制例行程序,其用于指导一个或多个反应单元(以及其它的装置)的操作来执行一系列需要用来生产如一种特殊种类的盐的一种产品的不同步骤(一般被称为阶段),。为了实施不同的阶段,可执行批处理例行程序使用一般被称为处方,其指定将要执行的步骤、与步骤相关的数量和时间以及步骤的顺序。一个处方中的步骤可包括,例如,用适当的材料或成分填充反应管,在反应管内部混合所述材料,用一定的时间加热反应管内部的材料至一定的温度,清空反应管并将之清洗干净从而为下一次批运行作准备。每一个步骤定义批运行的一个阶段,并且控制器12a内部的批可执行例行程序将为这些阶段中的每一个执行一个不同的控制算法。当然,指定的材料、材料的数量、加热温度、时间等对于不同的处方可以是不同的,从而可以根据制造或生产的产品和使用的处方的不同而在不同的批运行之间进行变化参数。那些本领域的熟练技术人员知道,如果期望的话,当用于图1所说明示的反应堆中的批运行的控制例行程序和配置在这里被描述时,控制例行程序可用来控制其它期望的装置去执行任何其它期望的批处理运行或者执行连续不断的处理运行。
也将了解到,一个批处理中同样的阶段或步骤能够在图1中每一个不同的反应堆单元上同时或不同时实施,此外,因为图1中的反应堆单元一般包括同等数目和相同类型的装置,用于一个特定阶段的同种类阶段控制例行程序可用于控制不同的反应堆单元中的每一个,除非这类阶段控制例行程序已被修改为控制与不同的反应堆单元相关的不同的硬件或者装置。例如,当为反应堆_01实施一个填充阶段时(其中反应堆单元被填充),一个填充控制例行程序将与输入阀系统101、102和103相关的一个或多个阀打开一定的时间,例如直到水位计105检测出管100是满的。然而,仅仅通过将指定的输入阀从与阀系统101、102和103相关改为与阀系统201、202和203相关,和将指定的水位计从水位计105改为水位计205,这一相同的控制例行程序便可被用于实施反应堆_02的一个填充阶段。
图2更详细地说明了图1中的反应堆之一,特别为反应堆_01。如与图1中图示的相似,图2中的反应堆_01包括反应罐100、用于输入酸、碱和水至罐100的输入阀系统101、102、103和110、用于从罐100中移出材料的出口阀系统104和水位传感器105。如图2中更进一步说明的,输入阀系统101、102、103和110中的每一个使用一个相似的装置实体,称之为积算器,其包括两个互相平行的阀和一个处于两个阀下游的流量测量装置。图3中更详细说明的用于输入阀系统101的积算器包括一个称之为粗调阀的开/关型阀101a、一个称之为微调阀的开/关型阀101b和置于阀101a和101b下游的一个流量计101c。积算器101有一个或多个与之相关的控制模块或例行程序,它们被用来根据流量计101c测得的测量结果控制酸的输入。第一个上述控制例行程序可用粗调阀101a和微调阀101b通过积算器101执行快速流量控制,而第二个上述控制例行程序可用粗调阀101a和微调阀101b通过积算器101执行精确的流量控制。
从图2中将了解到,碱输入阀系统102包括一个具有一个粗调阀102a、一个微调阀102b和一个流量计102c的积算器,共用水输入阀系统110包括一个粗调阀110a、一个微调阀110b和一个流量计110c。积算器101、102、110中的每一个有相同类型的重复装置,尽管它们被用在同一个单元,即反应堆_01单元的不同位置。同样,反应堆_02和反应堆_03的输入阀系统201、202、301和302也包括积算器。
类似的,出口阀系统104是另一个包括三个阀的重复装置。如在图4中最好说明的,输出阀系统104包括一个主要的出口阀104a,其必须被打开以便任何材料从罐100中释放,一个产品阀104b,其必须与主要的出口阀104a一起被打开以从罐100运送产品,和一个排水阀104c,其必须与主要的出口阀104a一起被打开以从罐100排出如废产品的材料,清洗流体等至一个排水系统或安全系统中。当然,一个或多个控制例行程序与出口阀系统104相关联,从而控制阀104a、104b和104c的状态,使之关闭罐100、排干罐100或者从罐100中清空产品。
在过去,若要编出一个控制例行程序用于控制与图1的反应堆_01、反应堆_02和反应堆_03相关的不同装置,一个配置工程师可能首先要创建许多模板控制模块,其实质上是同类的并且存储在一个程序库中如工作站14中的一个。若要建立一个模板控制模块,工程师将不同的控制功能块以图形连接到一起,从而为在反应堆上执行的不同的单元或回路提供一个控制例行程序。一旦通用的模板控制模块被建立,特别是在一个阀或一个控制回路上,这些模板控制模块能够被复制,而且其复制品能够被手工连接到设备10内的特定装置上,如反应堆_01、反应堆_02和反应堆_03内部的特定装置。一旦被连接,或者直接地或者用别名,如美国专利第6385496号中的更详细描述的,控制模块被连接的复制品被下载至一个或多个控制器12,且被用于在它们被连接的反应堆上以执行过程控制活动。然而,从模板控制模块创建的被连接的控制模块不涉及其所由创建的所述模板模块,也与所述模板模块没有关系,而且,事实上,当在过程控制系统中使用时是单独的控制模块或者对象。
并且,在这些系统中,配置必须在一个控制模块层执行,意味着必须为过程设备内部不同装置或回路中的每一个创建一个单独的控制模块。在控制模块层,一般有多种不同种类的控制模块,它们必须为过程设备内部的每一个过程实体创建并被连接于其上。因此,配置工程师花费了大量的时间简单地复制和连接单个的控制模块到设备内部的单个装置上。例如,一个配置工程师可能不得不为设备内的反应堆单元创建和复制许多控制模块,并将每一个这些控制模块连接到反应堆单元内部的特殊装置上。当反应堆装置在设备内被复制时,配置工程师的任务将变得冗长乏味得多,因为他不得不为许多用于被复制装置的控制模块执行复制和连接过程,这一工作是耗费时间且充满人为的错误的。
然而,在过去,一个配置工程师能研制一个单元模块,这些单元模块仅仅是在一个单元上可运行的阶段的容器,不包括与单元或控制方案相关连的装置指示,所述控制方案用于控制单元内装置的基本操作。并且,当能为用于控制不同装置的控制元件创建模板时,没有用于指示设备内部较高层重复实体的控制模块包,如装置或单元实体。换言之,要为过程设备10内的不同重复实体创建控制例行程序,配置工程师必须为每一个最低控制层的重复装置复制控制模块,并使每一个控制模块适合过程设备10内部一个指定或特别的装置或其它实体。在有着许多重复装置的大设备内,这种任务可能是耗费时间并充满着配置错误的。更进一步,对于针对于不同装置的每一个不同的控制模块来说,改变一个与重复装置相关的控制模块必须手工进行,这一工作也是冗长乏味、耗费时间的且充满着操作员造成的错误的。同样,为操作员创建的显示必须单独地且与控制模块相分离,而又要与控制模块相似,显示必须个别地被创建、修改且与过程设备内的装置相关。
为了使过程配置的创建和改变更容易和消耗较少的时间,存储在图1所示的工作站14中的一个配置应用程序50包括一组模块类对象52,其用于配置过程控制设备10。当配置一个有着众多组重复装置的设备时,模块类对象是特别有用的。一般来讲,一个不同的模块类对象52能够为在过程设备10内部被重复或使用的每一个不同的物理单元或装置、每一类型的控制活动、每一个不同类型的显示应用程序等而被创建。一旦被创建,模块类对象便能用于配置与模块类对象相对应的过程设备10的元件。
实质上是过程实体的通用文本,且不与任何任何特定的过程实体相关连的模块类对象52可能有与之相关的较低层的对象或实例53、54、55和56(此处称之为模块对象或模块块)。每一个模块对象从一个模块类对象创建而来并继承所由创建的该模块类对象的相同结构和特征。然而,每一个模块对象与过程设备10内部的一个特定类型的实体连接。因此,单个模块类对象52可能被创建为代表一个特定的反应堆单元(无论设备10内部有多少这种反应堆单元),然而一个不同的模块对象53可能存在或为设备10内部实际存在的那种类型的每一个不同反应堆单元而被创建。
从一个模块类对象创建的模块对象与该模块类对象相关连并被其拥有。结果,对模块类对象所作的改变能够被自动地反映到与该模块类对象相关连的每一个模块对象中或传递到所述模块对象。因此,当许多模块对象已经从一个模块类对象创建而来时,鉴于每一个不同的模块对象与不同的过程实体连接,通过仅仅改变模块类对象而让改变自动向下传递至相关的模块对象,就能改变每一个不同的模块类对象。
相似地,一旦模块对象已经被一个模块类对象创建,这些模块对象能够用一个批编辑方法连接到过程设备10内部的一个特定的装置上。特别是因为一个特定的模块类对象的所有模块对象都是结合到同样的模块类对象或被其拥有,所有这些模块对象可以用例如一个电子数据表应用程序被配置到一起,这使模块对象和与其相关联的设备10内部的特定装置之间的特定关系的规范变得更加容易和耗费较少的时间。
在一个面向对象的程序设计环境或语言中,图1中的模块类对象52一般可被称为对象。于是,这些对象有能力去拥有或属于其他的对象。一般来讲,模块类对象52是高层对象,其能包括各个元件的指示或定义,所述各个元件如控制例行程序、装置或与定义或指示的方式一道的与过程实体相关连的其它的元件,以所述方式各个元件之间的相互作用,如物理元件互相连接的方式或者逻辑元件与物理元件联合起来操作的方式。换言之,一个模块类对象可以是内部的一个对象,例如,一个面向对象的程序设计语言,其提供过程设备10内部一个或一组特定的装置、一个控制元件、一个显示等的控制或观察根据,并且可能对于创建所述元件的许多实例是有用的,所述元件将用于配置过程控制设备10内部的不同的重复装置。
基本上,每一个模块类对象是一个配置容器,其以下面的形式包括一个过程实体的通用定义可应用于该实体的所有不同的控制和/或显示应用程序或例行程序,所述程序将被控制器12用于控制该实体或者被工作站14用于执行关于该实体的显示活动。所述模块类对象可代表任何性质的过程实体,如一个单元、一个装置、一个控制实体、一个显示应用程序等。在过程设备10的配置期间,模块类对象能用来为任何数目的不同过程实体创建配置实例,所述过程实体符合模块类对象提供的定义,所述定义和每一个配置实例(由模块类对象创建的模块对象)一起提供,所述配置程序与不同的实际过程实体相关或被限定到所述过程实体。这些不同的模块对象除其它东西之外还包括连接到安排在过程设备10内部的特定的过程实体的控制例行程序和/或显示例行程序。在过程设备10的操作期间,用这些能够在图1中的控制器12内部被下载和使用的控制例行程序去执行在过程实体上实际的控制活动和用能够被下载至工作站14的显示例行程序去执行有关实体的实际的显示活动。
不同类型的模块类对象可反映不同范围的过程实体,因此包含控制和/或显示例行程序,所述例行程序被配置以在不同范围的过程实体上运行或被配置与所述过程实体相关。过程实体的范围越大,如一个单元,控制和/或显示例行程序一般与模块类对象越相关,用所述模块类对象配置设备的一部分也更容易。然而,与模块类对象相关的过程实体的范围越大,与一个模块类对象相关的过程实体的范围越大,过程会包括该范围的重复装置的可能性越小,因而,模块类对象在大范围很有用的可能性越小。相反地,与一个模块类对象相关联的过程实体的范围越小,模块类对象能够在设备内各种不同位置使用的就可能性就越大,但当任何特定的实施例中使用模块类对象时执行配置的数量越少。在任何事件中,模块类对象使配置能够用于不同的重复装置在比控制模块层更高的层面上而被执行,这使得当使用模块类对象特别是大范围如一个单元层的模块类对象时用重复单元和其它的装置配置一个过程设备变得更容易和消耗较少的时间。
在一个例子中,当配置一个过程设备系统时,配置工程师可能为过程设备内不同的重复元件建立一个单独模块类对象,如为图1中不同的反应堆。此后,配置工程师可能为图1中每一个实际的反应堆建立模块类对象(模块对象)的实例。每一个这样被创建的模块对象将包括被控制器12a用来操作图1中的一个反应堆的控制例行程序,所述模块对象特别地被限定或连接到图1中一个反应堆的内部的装置上。于是这些控制例行程序能被下载至控制器12a内并在操作过程设备10期间被使用。然而,一旦被创建,每一个模块对象仍然限定于所述模块类对象并被模块类对象控制而被改变,以提供或拒绝访问模块对象等。同样,源于相同的模块类对象的模块对象可以一起被创建和定义,如,可以用一个电子数据表程序连接到设备内部的装置。
虽然有许多不同可能类型的模块类对象能够在过程设备内被创建和使用以执行过程设备内部的配置活动,但这里作为例子讨论四种,包括单元模块类对象、装置模块类对象、控制模块类对象和显示模块类对象。一般来讲,每一个不同类型的模块类对象被设计或打算用于过程设备10内部的一个不同范围的控制或使用。一个单元模块类对象被打算用于体现(和配置)在过程设备内部为一个大范围的装置配置)控制活动。特别是,一个单元模块类对象被打算模拟或用于配置一个相互关系组的装置(一般是重复装置),如图1中的反应堆,其具有有以某种已知的方式互相之间工作一致的各个元件。
一个装置模块类对象被打算用于体现(和配置)过程设备内部范围较小的物理装置的控制活动。与一个装置模块类对象相关连的装置一般是一个或多个物理实体,如阀、流量计等,它们组成一个单元的子系统,装置模块类对象可包括一个或多个命令或算法,它们可能是要在装置上执行的命令驱动算法、状态驱动算法、连续流量表算法、功能块图表算法、段算法等。因此,一个装置模块类对象的目的在于配置在一个单元内的多个低层元件或实体从而在单元中使用的装置上提供一个基本功能组。众所周知,当必须通过多重步骤调整低层元件从而完成一个功能时,要使用一个命令驱动算法(命令驱动控制逻辑)。例如,一个阀可能需要打开一个特定的时间,并且当另一个阀被打开时将它关闭。图3中的积算器101用这种类型的命令驱动算法首先基于流量计的读数启动并操作粗调阀和微调阀,使其通过积算器提供期望的总流量。一个状态驱动算法(状态驱动控制逻辑)可能指定不同的低层元件的状态,所述低层元件能够在一个单一的步骤中被操作。一个上述状态驱动程序可用于图4中的出口阀系统104中,其中,基于出口阀系统104关闭罐100、排干罐100或者从罐100传送产品的期望状态,对不同阀的状态给予不同的控制(但在单一的步骤)。
一个控制模块类对象被打算用于体现(和配置)过程设备内部各个控制元件或控制模块。一个控制模块类对象提供或指定一个特定类型的控制,所述控制在一个设备实体上如阀、计,一个装置或者甚至在一个单元上执行。一般来讲,一个控制模块类对象提供一个特定类型的控制程序,如一组互相之间可通信地连接的功能块,所述功能块用于定义将在控制器上执行的控制模块。所述控制程序对于在一个过程设备内执行重复的控制活动是有用的。在多数情况下,一个控制模块类对象可提供一个通用控制策略来操作一个单一的装置或装置的相关组。
一个显示模块类对象被打算用于体现(和配置)在操作过程设备10期间将被用户如一个控制操作员观察的显示活动。因此,一个显示模块类对象可指定在图1中的操作员工作站14内需要产生的某种类型的显示程序和需要在一个或多个工作站14(也包括过程设备10内的任何其它装置)内运行的程序,所述程序使显示获得设备10操作期间来自于设备的正确信息。显示类模块的类型如,包括警报显示、配置观察显示、操作观察显示、检定显示等。当然,一个显示模块类对象可以提供一个体现或连接到一个过程设备内部任何期望范围的物理元件或实体的显示,例如,一个显示模块类对象可显示关于过程设备10内部的一个整个区域、一个单元、一个装置、一个控制元件或任何这些元件的结合。
参考图5,一个等级解了用在图1中的配置应用程序50中的不同类型的模块类对象之间的相互连接关系,以及模块类对象与源于所述模块类对象的模块对象之间的相互关系。从图5的顶部开始,模块类对象被模块类的类型分离成一个单元模块类类型400、一个装置模块类类型402、一个控制模块类类型404和一个显示模块类类型406中的一个。当然,其它类型的模块类对象也可被提供或使用,这里图解的四种模块类对象仅仅是作为例子。各个模块类对象(例如,在一个面向对象的程序设计语言中,其可能是高层对象,而体现在图5中,为清晰起见,其带有一个双线的外框)列入每一个不同类型的模块类400、402、404和406的属类。特别是在过程设备10内部,可能有许多不同的单元模块类对象用于不同的单元或单元类型。例如,一个反映器单元类模块对象410可体现过程设备10内部一个反应堆的一个特别的类型或配置。同样,一个包装机单元模块类对象412可体现过程设备10内部一个包装单元的一个特别的类型或配置,和一个干燥单元类模块对象414可体现过程设备10内部一个干燥单元的一个特别的类型或配置。当然,有多于一个的反应堆单元模块类对象来体现反应堆,所述反应堆的物理组成互相之间不相同。更进一步,还没有作过列出设备内部所有的不同类型的单元的尝试,所述设备能够用一个单元模块类对象体现或者模拟,本领域的普通技术人员将了解到,可以用单元模块类对象来体现或者模拟的不同类型的设备中有许多不同类型的单元。
相似地,可能有许多不同的装置模块类对象被用来体现、模拟和配置过程设备10内部不同类型的装置。图5说明的例子包括一个积算器装置模块类对象416和一个出口阀装置模块类对象418,每一个与过程设备10内部的不同类型的装置(最好为重复装置)相关连。以同样的方式,可能有许多显示在图5中的不同类型的控制模块类对象,如,一个开/关阀控制模块类对象422、一个液位传感器控制模块类对象424和一个流量计控制模块类对象426。此外,显示模块类对象在图5中被说明,即一个警报显示模块类对象432、一个视图显示模块类对象434和一个诊断显示模块类对象436。当然,根据这里描述的原则,在过程设备10的配置应用程序50内部,任何其它期望的单元、装置、控制和显示模块类对象可以被创建和使用。
每一个模块类对象可以有与之相关连或属于其的子对象,这些子对象可能是在它们自己的模块类对象,或者如图5所说明的,可能是模块对象,所述模块对象是作为它们隶属的模块类对象的实例而被创建。图5说明反应堆单元模块类对象410有三个与之相关连的反应堆模块对象,称之为反应堆_01,反应堆_02和反应堆_03,这些反应堆模块对象与图1中各个反应堆相对应(如被连接)。图5也说明了积算器装置模块类对象416,其具有5个不同的模块对象,称之为水1、酸1、酸2、碱1和碱2。同样,开/关阀控制模块类对象422作为包括称之为粗调阀1、粗调阀2、粗调阀3、微调阀1、微调阀2和微调阀3的模块对象而被说明。以同样的方式,图5中的每一个其它的单元、装置、控制和显示模块类对象可以有一个或多个与之相关连的模块对象。然而,为简单起见,这些模块对象没有在图5中说明。
在图5中的图形,反应堆_01,反应堆_02和反应堆_03单元模块对象、酸1、酸2、碱1、碱2和水1积算器(装置)模块对象、粗调阀1、粗调阀2、粗调阀3、微调阀1、微调阀2和微调阀3控制模块对象和其它的单元、装置、控制和显示模块对象中的每一个是单独的对象,其与过程设备10内部的实际的单元、装置、控制模块或显示应用程序相联系。例如,因为设备10内部有多个物理的酸积算器,将有多个酸积算器模块对象在配置例行程序中被创建,一个单独的酸积算器模块对象为设备10中存在的每一个单独的酸积算器而存在。然而,每一个单独的积算器模块对象与同样的积算器模块类对象416相连接或者被其拥有。当然,图5中的图形仅仅说明了一个有限数量的模块类对象和与之相关连的模块对象,而且将了解到其它类型的模块类对象可以被提供而且任何期望数目的模块对象可以由每一个不同的模块类对象创建。
作为该对象的一部分,图5中的每一个模块类对象(因而图5中的每一个模块对象)可以包括定义或组成该模块的物理或逻辑过程元件的定义或指示,如果希望的话,和过程元件相互之间物理地或逻辑地作用从而在过程设备10内部执行一些活动的方式。例如,单元模块类对象一般包括所有的物理或控制元件的指示,所述物理或控制元件位于在被定义为单元的过程实体内部或组成所述过程实体。单元模块类对象也可以定义各个部件的特定组成和这些部件怎样被连接到一起作为一个单元进行操作。同样,一个装置模块类对象一般包括被用于控制实体的控制例行程序和控制模块,所述实体被定义为一个装置或命令,它们用控制例行程序或控制模块去定义所述部件物理地或逻辑地相互作用的方式,从而当被置于设备10内时作为一个装置去操作。类似地,每一个控制模块类对象特别是以一个控制算法或与之相似的形式去定义一个将要在设备内部执行的控制活动。如果有的话,每一个显示模块类对象也可以除其它东西之外还为设备10内部被指定类型的单元、装置、设备的区域或者任何其它的物理或逻辑实体定义一个显示屏幕配置和将要被显示的信息,以及定义将要收集的数据和在收集的数据的基础上将要执行的数据操作。
作为模块类定义的一部分,一个模块类对象可以指示或定义那里将被合并或被使用的其他的模块类对象。在这种情况下,根据在模块类层面上定义的关系,从模块类对象创建而得的模块对象将合并、引用或包括从其它的模块类对象创建而得的其它的模块对象。尽管不是绝对需要的,单元模块类对象可以合并其它的单元模块类对象、装置模块类对象、控制模块类对象和显示模块类对象,同时装置模块类对象可以合并其它的装置模块类对象、控制模块类对象和显示模块类对象。控制模块类对象可以合并或引用其它的控制模块类对象和显示模块类对象。同时,如果希望,也可使用其它模块类对象间的相互关系。这种合并关系在图5底部通过大的箭头说明,其指示任何一个显示模块类对象可以被任何控制、装置或单元模块类对象包括或者被引用,任何一个控制模块类对象可以被任何装置或单元模块类对象包括或者被引用,任何一个装置模块类对象可以被任何单元模块类对象包括或者被引用。将了解到,模块类对象可以合并相同类型的其它模块类对象。例如,作为其定义的一部分,一个单元模块类对象可以合并其它的单元模块类对象。以相似的方式,一个装置模块类对象可以包括另一个装置模块类对象,一个控制模块类对象可以包括另一个控制模块类对象,和一个显示模块类对象可以包括另一个显示模块类对象。当然,如果期望的话,一个模块类对象可以多次使用或者合并另一个模块类对象。例如,一个反应堆单元模块类对象可以多次合并或使用积算器装置模块类对象,因为被反应堆单元模块类对象模拟的反应堆包括多个积算器的实例。
也将了解到,当一个模块类对象合并或者使用第二个模块类对象时,由第一个模块类对象创建或者作为第一个模块类对象的实例的任何模块对象将合并或者使用由第二个模块类对象创建或者作为第二个模块类对象的实例的一个模块对象。因此,当反应堆单元模块类对象410使用一个积算器模块类对象时416作为其中的一个元件或者部分时,反应堆_01模块对象将使用或者包括积算器模块对象之一作为其中的一个元件或者部分,如酸1模块对象作为它的一个元件或者部分。相似地,如果一个积算器装置模块类对象合并或包括一个出口阀装置模块类对象,一个由在积算器装置模块类对象创建的,唯一地被称之为例如积算器_1的模块对象将包括一个由出口阀装置模块类对象创建的,并唯一地称之为例如出口_阀_2的模块对象。以这种方式,在模块类对象层定义的模块类对象之间的关系反映在从这些模块类对象发展或创建而来的模块对象中。模块类对象(和因此模块对象)之间的这种相互连接或者参考使对象在配置活动期间能够具有大的可变性和高的可转移性,以至,在一组简单的模块类对象如控制和装置模块类对象被创建后,通过引用简单模块类对象,较复杂的模块类对象如单元模块类对象可以被容易地创建。当然,虽然模块类对象能够引用或使用其它的模块类对象,但它们也能或者改而定义或者使用没有相关连的模块类对象的简单的对象或过程实体,如阀、传感器等。在模块类对象本身内部,依据被使用的控制例行程序,这些简单对象为此将被完全定义。
在图6中说明了一个反应堆单元模块类对象实例410,以示出一种描述或定义与单元模块类对象相关或呈现在其内部的实体的方式。如图6所说明的,反应堆单元模块类对象410包括一个罐500的指示,其在过程设备10内部是一个简单的对象或者元件,而不存在模块类对象。因为没有控制或低层活动需要去控制或执行关于罐的输入/输出活动,所以罐500以虚线图解。因此,包括罐500仅仅用来图解与反应堆单元模块类对象410相关连的其它对象之间的相互连接关系。反应堆单元模块类对象410也包括三个积算器501、502和510,它们分别被称为酸、碱和水,它们是对图5中的积算器装置模块类对象416的三个不同的引用。水积算器模块类对象510在单元模块类对象410的一个区内被说明,这个区用虚线分开以表明这是一个共享的模块类对象,单元模块类对象410和其它的单元模块类对象有着对这对象的共同控制。图6中的出口对象504是对图5中出口阀装置模块类对象418的引用,液位计是对图5中液位传感器控制模块类对象424的引用,以及进水阀503是对一个阀对象的引用,所述阀对象可能是一个简单的阀元件(在单元模块类对象410中被给予完全定义)或者可能是对配置策略中其它地方定义的阀控制模块类对象的引用。为了定义这些不同元件间的相互连接,也图解了反应堆单元模块类对象410中不同的实体或部分之间物理上的相互连接关系。如上所述,单元模块类对象410或其它任何类型的模块类对象可以包括简单的元件,这些简单元件在模块类对象(包括任何类的与之相关的通用控制例行程序)内部给予充分定义和/或包括对定义在该模块类对象外部的模块类对象的引用。
单元模块类对象410也包括两例显示模块类对象,称之为一个反应堆视图显示520和一个反应堆反应堆警报显示522,它们是对图5中的观察显示模块类对象434和警报显示模块类对象432的引用。这些对象定义通用的显示活动,用于显示与在反应堆单元模块类对象410中定义的反应堆单元的装置或部件相关连的状态(如罐的填充水位)和警报。相似地,单元模块类对象410可以包括其它的元件,如阶段类对象,说明在框524中的为一个剂量配制、一个混合、一个排干和一个冲洗的阶段类对象,它们中的每一个定义一个在被单元模块类对象410定义的单元上操作的通用控制例行程序。单元模块类对象与阶段类目标可以有零个或更多联系。阶段类对象524可以在其他的地方被定义,和以任何希望的方式进入单元模块类对象410。在某种意义上,阶段类对象524是可以在一个在被单元模块类对象定义的单元上操作的命令或例行程序,其用于执行不同的功能,如填充单元、加热单元、清空单元或者清洗单元等。
此外,单元模块类对象410可能包括一个存储器或者区526,其存储模块类对象的参考内容,所述模块类对象被配置应用程序50(图1)由单元模块类对象410创建。区526是必不可少的一列模块对象,所述模块对象由单元模块类对象410创建并被单元模块类对象410拥有。(当然拥有的模块对象的这个列或者其它的指示能够被配置应用程序50以任何期望的方式存储在工作站,而且不一定要被物理地包含在单元模块类对象410中)。无论如何,在图6的例子中,单元模块类对象410拥有模块类对象反应堆_01、反应堆_1、反应堆_02等,它们中每一个由反应堆单元模块类对象410创建。
单元模块类对象410还包括一组方法530,在配置期间或者之后,所述方法530能被单元模块类对象410执行。方法530可能包括一个更改管理办法或者应用程序,其可以将对单元模块类对象410做的变动传送到单元模块类对象410拥有的每一个模块对象526,其它的方法可以包括安全控制方法,所述安全控制方法执行关于单元模块类对象410和/或者关于单元模块对象526拥有的任一个的安全或入口控制,或者包括方法,所述方法使一个用户或者配置工程师为模块类对象或者由模块类对象创建的任何模块对象指定交换参数和/或者安全参数。当然,不同的方法530可以在单元模块类对象上执行或者执行与单元模块类对象相关的任何其它的步骤。
如果希望的话,单元模块类对象410可以控制对模块类对象410作出的变动传到单元模块对象526的方式和在单元模块对象526中建立安全入口的方式。提供这种功能的一种方式是在单元模块类对象410内部设置一个或更多标记或者参数来指定对单元模块对象526内部传送变动和在单元模块对象526内处理安全的方式。特别是可以设置一个或多个变更传送参数来指定对单元模块类对象410所做的变动是否被自动传送到一个或多个单元模块类对象526。这些改变传送参数可以被存储在单元模块类对象526上,而且可以为整个单元模块对象或者通过子元件基础为一个子元件指定对单元模块类对象作出的改变是否被反映在单元模块对象上。例如,单元模块类对象410可以包括一个总体变动参数534(标记为“C”),其可以设置在每一个由单元模块类对象410创建的单元模块对象中,从而使对单元模块类对象410作出的变动能够或不能自动反映在单元模块对象中。同样,每一个子元件或块,如块501-505、510、520和522,可以包括一个变更参数536,其仅仅为块指定对单元模块类对象410中的块作出的变动是否被反映在单元模块对象中。当然,一个单元模块对象的不同的块可以给予不同的设置以至,例如,对单元模块类对象410的酸块501作出的变动将被传送到单元模块对象526中特定的一个相应的酸块,但是,导致对单元模块类对象410中的碱块作出的变动将不被传送到单元模块对象中特别的那个碱块上。此外,由一个单元模块类对象创建的不同的单元模块对象可以使改变参数互相之间的设置不相同以使对单元模块类对象410中的碱块作出的变动被传送到单元模块对象526中的第一个的相应的碱块上而不是单元模块对象526中的第二个的相应的碱块上。当然,当在单元模块类对象410内部作出改变时,单元模块类对象410的变动管理方法可以访问并使用单元模块对象526的变动参数来在那些对象内部作出或不作出变动。
以一个相似的方式,单元模块类对象410可以包括一个或多个安全参数,其指定在每一个单元模块对象526内部控制安全或入口的方式。单元模块类对象410可以包括一个总体安全参数538(标记为“S”),其可以由反应堆单元模块类对象410创建的整个反应堆单元模块对象提供任何期望的安全级别,和/或者可以包括为单元模块类对象410的每一子元件的一个不同的安全参数540,如,为块501-505、510、520、522等中的每一个,所述参数在一块快基础上为那些块中的每一个指定一个安全级。总体安全参数538可能是一个锁定参数,除那些有一个经预先授权的安全入口级的以外,其对所有的用户锁定单元模块类对象。当然,安全参数538和540可以指定许多不同安全级中的任何一个,如不能访问、有限制的访问,针对特定类型或身份用户的访问等,而且安全级别在不同的块中和由相同单元模块类对象创建的不同单元模块对象中可设置得不同。如果期望的话,部分安全测量可包括提供对与单元模块类对象相关的一种或多种方法或算法加密。
将了解到,单元模块类对象410的变化和安全参数可以被设置为一个缺省值,而且每一个由单元模块类对象410创建的单元模块对象526的相应的变化的安全参数当被建立时就可以具有该缺省值。然而,在这些单元模块对象被建立后,在单元模块对象526内,缺省的变化和安全参数也可以单独改变(被一个有着正确安全入口的用户)。然而,这里讨论的变化和安全参数是关于一个反应堆单元模块类对象的,相似的变化和安全参数可以在其它类型的单元模块类对象,以及任何期望类型的装置模块类对象、控制模块类对象、显示模块类对象等中被提供。
如果希望的话,单元模块类对象410可能包括一些引用,如多个URL或对于存储在单元模块类对象中或与单元模块类对象相关连的文件的引用,所述文件包括与和单元模块类对象410相关联的单元或者所述单元的子单元相关联的文件。上述引用在图7中被说明为引用549。
为了一个模块类对象的一个更进一步的例子,图7中图示了一个积算器装置模块类对象416。积算器装置模块类对象416包括称之为粗调阀550和微调阀552(它们都是开/关型控制模块类对象)的控制模块类对象以及一个称之为流量计554的控制模块类对象(其为一个流量计控制模块类对象),和这些元件之间的相互连接关系的指示。更进一步,积算器装置模块类对象416包括对显示模块类对象的引用,即包括对一个积算器警报显示模块类对象560和一个或者多个算法564的引用,算法564可以在装置模块类对象416上被实施。而列出的算法564包括一个快速积算命令和一个精确积算命令时,也可以包括或者使用任何其它的命令或者算法。更进一步,与一个装置模块类对象相关或包括在其中的命令算法564可以采取任何期望的形式,可以是,例如,命令驱动算法(CDAs)、状态驱动算法(SDAs)、连续流量表(SFC)算法、功能块图表(FBD)算法、段算法等。然而,一般来讲,全部算法564是一个特殊的类型,如CDAs或者SDAs。当然,算法564可能以任何期望的语言或者程序设计环境编写,如C、C++程序设计环境,任何连续功能表程序设计环境、一个功能块程序设计环境等。
积算器装置模块类对象416也包括一个列表或者存储器,所述存储器存储指示(和如果需要有路径到)一组从装置模块类对象416创建而来的,称之为酸1、酸2、碱1、碱2、水1等的自有装置模块对象566。积算器装置模块类对象416同样包括一组方法570,所述方法570包括一个变动管理方法,其能与总体变化参数572和/或者基于对象的变化参数574结合起来使用来控制到自有装置模块对象566的变化传送。积算器装置模块类对象416还包括一个总体安全参数580和基于对象的安全参数582。所述变化和安全参数572、574、580和582一般以图6中描述的单元模块类对象的变化和安全参数的运行方式操作,而且可以应用到控制模块类对象416中的任何元件中,包括命令564。此外,如在此特别描述地,除了整体地或在对象层或元件层,在模块类对象内部(而因此由其创建的模块对象),变化和安全参数中的一个或两者可在任何期望的层提供。如果希望的话,一个模块类对象或者任何从其创建的模块对象的改变和安全参数可以用一个批配置应用程序或程序来设置或配置,如一个电子数据表程序,从而使一个配置工程师以一个简单和直截了当的方式为整个模块类对象或者一个模块对象设置或者指定不同的变化和安全参数。
如果期望的话,装置模块类对象416可以包括一些引用,如URLs或者其他的引用,所述引用是对为该装置模块类对象存储的或与该装置模块类对象相关联的文件的引用,所述文件包括与装置模块类对象416相关联的装置的装置或任何子元件相关联的文件。上述引用在图7中以引用599被说明。同样,装置模块类对象416的任何算法,如算法564中的任何一个,可以被加密或者有一个与之相关的安全参数来加密或者解密这些算法564。如果希望的话,上述加密或者解密可以通过方法570来执行。
配置过程设备10时,一个配置工程师如需要在与配置应用程序50(图1)相关联的一个程序库中建立单元、装置、控制和显示模块类对象。该配置工程师,如果希望的话,可以从较低范围的实体开始,如控制和显示模块类,然后再为较高范围的实体开发模块类对象,如装置和单元模块类对象,其可以使用或引用较低范围的实体。此后,配置工程师如需要将为设备内的每一个过程实体选择或指定模块类对象来建立与被选择的模块类对象相对应的实际的模块对象。当配置重复装置时,配置工程师将为来自同一个模块类对象中的该重复装置的每一个实例建立一个模块对象。这样,该配置工程师可以为图1中的反应堆建立一个反应堆单元模块类对象(其包括建立被该反应堆单元模块类对象引用的其它的模块类对象,如果所述其它的模块类对象在程序库中不存在)。此后,配置工程师通过从所述反应堆单元模块类对象为图1中的反应堆即反应堆_01、反应堆_01和反应堆_03中的每一个建立一个反应堆单元模块对象配置过程。
在从一个模块类对象建立一个或多个模块对象之后,配置工程师可以把所述模块对象(包括子对象或者被引用的对象)连接到设备内部特定的装置上。因为单元模块对象与单个的单元模块类对象相关联,不同单元模块对象的代号、参数、和其它变量可以用例如一个批处理应用程序,如一个电子数据表应用程序来一起指定。当然,通过将模块对象连接到特定的装置上,配置工程师实际上正在指定在过程设备10的运行期间,被控制器12内部的控制程序或者控制模块用来执行控制行为的控制变量和通信路径名,或者被例如工作站14内部的显示程序使用的显示变量。在所述连接完成以后,配置工程师可以下载被连接的控制程序到控制器12,和下载被连接的显示例行程序到工作站14。
图8-16描述了可以通过图1中的配置应用程序50在一个配置工程师建立和使用模块类对象配置过程设备10期间建立的屏幕显示。将了解到,图8-16中的大部分屏幕显示包括在屏幕的左手边上一个资源管理器视图,其提供一个描述过程设备10配置的组织树结构。同样,图8-16中的大部分屏幕显示包括在屏幕的右手边上一个或多个信息视图。这些信息视图提供关于在资源管理器视图中被选择的元件的进一步的信息。这些信息能够为每一个不同的模块类对象或者其中的子元件设置的图6和图7中的控制和安全参数534、536、538、540、572、574、580和582确定或者控制,所述信息在信息视图中能够被显示给用户或者被用户改变。因此,资源管理器视图内部的一个特定的元件可能是可显示的或者暴露给用户,使用户在设置在模块类对象内并传送到资源管理器视图中的模块对象的安全和控制参数进行观察和改变。当然,如先前解释的那样,信息可能一直被隐藏,可能只有当一个用户输入密码或者其它的安全码才可显示或者可改变,可能一直都是可显示的但不能被改变,可能一直都是可显示的和可改变的或这些和其它的安全和变化参数的任何其它的结合。更进一步,如果希望的话,一个元件的可显示性或可改变性可以在资源管理器视图中用加亮区、灰色、颜色或者任何其它的技术给以指示以通知用户哪一个元件能够更详细的显示或者能够被改变。
在图8中,一个屏幕显示600包括描述在显示屏的左边的一个资源管理器配置视图602的一部分。这部分资源管理器视图602的这一部分说明了一个程序库,所述程序库存储了包括单元模块类对象604、装置模块类对象606和控制模块类对象608为数众多的模块类对象。一个反应堆单元模块类对象610(其可能与图4中的反应堆单元模块类对象410相对应)被存储在单元模块类程序库604中,并包括众多子元件的指示,众多子元件包括剂量、混和、排水和冲洗阶段类对象,和一个酸、一个碱、一个水和一个出口装置模块类对象,一个进水和一个水位计控制模块类对象和如期望的其它对象。因此,在单元模块类程序库604中定义的,反应堆单元模块类对象610包括阶段类的指示,以及装置模块类对象和控制模块类对象的指示。因为反应堆单元模块类对象610被选择在屏幕600中,其中的元件在屏幕600的右边612被给予更详细的描绘。
更进一步,装置模块类程序库606包括一个积算器装置模块类对象614(其可与图7中的积算器装置模块类对象416相对应)和一个反应堆出口楼装置模块类对象616。积算器装置模块类对象614包括一个算法的三个不同的部分(如图7中的算法564之一)称之为命令_00001、命令_00002和命令_00003。模块类对象614也包括对被称为粗调_阀和微调_阀(它们是开/关型控制模块类对象)和流量_计(其为一个流量计型控制模块类对象)的控制模块对象的引用。更进一步,反应堆_出口装置模块类对象616包括一个状态驱动控制算法,该算法有不同的状态,称之为状态_00001、状态_00002和状态_00003、一个目标、一个驱动器、一个监视器和一个回读模块和一个出口、一个排干、一个产品阀控制模块对象(它们可以是开/关控制模块类对象型的模块块的指示或者是对所述模块块的引用,而且它们被命名为出口、排干和产品,或者它们可以是简单的对象)。与积算器和反应堆_出口模块类对象614和616相关联的命令和状态驱动算法可以是任何期望的例行程序,而且可以引用和那些命令一起被使用的装置模块类对象内部的控制模块对象。特别地,,装置模块类对象的CDA或SDA命令算法可以包括动作的表达式,所述动作的表达式通过合并那些模块的名字来指示当执行该算法时将要操作哪一个装置来引用控制模块(或其它的装置模块)。在这些算法中对控制模块(或另一个装置模块)名字的使用指定了控制模块对象,所述控制模块对象被装置模块对象引用或者与装置模块对象相关联,所述算法位于所述装置模块对象中,并且当从装置模块类对象创建装置模块对象时,指定的名字将被连接或被例示。
图9说明了一个配置屏幕620,在其中,将积算器装置模块类对象614扩大来显示与之相关的运行逻辑,包括具有命令_00002、命令_00003和命令_00009的命令驱动算法。如在屏幕620的右手边622说明的那样,将更详细地提供关于运行逻辑控制例行程序的信息。特别是命令_00002是用于通过积算器控制精确的或细的流量一个精确积算例行程序,命令_00003是用于控制或提供通过积算器的快速的流量一个快速积算程序,命令_00009是一个重置例行程序,用于重置积算器。屏幕620上的监视器块是与运行逻辑相关联的一个功能块,其用于提供监视行为。从图8和图9中将了解到,程序库604、606和608内部的模块类对象内部的每一个元件具有子对象和子元件,而且,在一些或者所有情况下,在过程设备的运行期间,这些子元件引用或包括将被计算机执行的控制例行程序或显示例行程序,如一个控制器或一个工作站。然而,模块类对象内部的该控制和显示例行程序和其他的装置引用本质上是通用的,因此它们不被限定或者连接到设备10内部实际的各个装置上。
图10示出了更进一步的屏幕显示630,其示出了积算器装置模块类对象614的运行逻辑中的命令_00002例行程序的细节。如从一个连续功能表程序编辑器634发展的弹出窗口632中所说明的,命令_00002例行程序包括一系列的步骤,而每一个步骤包括一系列的动作。仅仅命令_00002例行程序的第一个步骤(S1)的第一个动作(A1)显示在窗口632中被说明。正如被注意到,命令_00002例行程序的第一个步骤的第一个动作使流量_计控制模块对象参数重置到“正确”,而然后基于变量SP的状态,将粗调阀控制模块对象(或模块块)的目标_状态参数设置为“阀开”和将微调_阀控制模块对象(或模块块)的目标_状态参数置为“阀开”。将了解到,命令_00002例行程序的这一部分一般引用与积算器装置模块类对象相关连的流量_计、粗调_阀和微调_阀控制模块对象(或模块块),但是从积算器装置模块类对象创建来任何实际的积算器装置模块对象的命令_00002例行程序将引用控制模块对象实际的名字,所述控制模块和积算器装置模块对象一起被创建或作为积算器装置模块对象的一部分。
图11图示了一个屏幕视图640,其示出了与剂量阶段类642相关连的控制算法的细节,所述算法可以在图8中的反应堆单元模块类对象610中被使用或者引用。特别是剂量阶段类642包括一组不同的一般控制行为包括中断、失败、坚持、重启和运行。与运行动作相关的逻辑(称为运行_逻辑)包括在区域644说明的一系列步骤,如步骤1(S1)、步骤2(S2)、和步骤3(S3)、两个转换T1和T2和一个终止。一个连续功能图表编辑器646以方块图形式图示了该步骤和转换。一个弹出窗口648图示了与步骤(S1)的动作(A1)相关连的实际控制逻辑,特别是窗口648中的运行逻辑是一个逻辑编辑器,它包括要求公用水水箱为反应堆打开进水阀,然后重置所有与该反应堆相关的积算器的动作。
因为剂量阶段类的被编写独立于反应堆,它用别名来引用装置,所述装置在运行时或者在运行之前被指定,但当然不能在反应堆单元模块类对象内被指定。然而,对在控制算法648内部被使用的实际装置或其它的处理元件的引用是对那些位于同样的单元模块类对象内部的装置而言的,在本案中指反应堆单元模块类对象。在控制例行程序648中,别名通过#标号描绘,因此#进_水#是同一模块中进_水控制模块的一个别名,即单元模块类对象610。同样,名称#水#、#酸#和#碱#是引用反应堆单元模块类对象610内部的水、酸和碱积算器模块块。当然,将了解到,通过相应的积算器和反应堆装置模块对象(例如,称为碱1,酸1等)和开/关阀控制模块对象(例如,称为粗调_阀1,微调_阀1,出口_1等),积算器和反应堆出口装置模块类对象和开/关阀控制模块类对象被关联到反应堆单元模块类对象,而因此成为该单元类对象的一个逻辑部分。
图12说明了一个屏幕显示650,其中更详细地说明了反应堆_出口装置模块类对象616。与反应堆_出口装置模块类对象616相关联的运行_逻辑在屏幕部分652中示出,包括一个驱动元件、一个监视元件、一个回读元件和更重要地,一个状态驱动算法,所述状态驱动算法有四个单独的状态,用于控制与反应堆_出口装置模块类对象616相关联的阀。右边的屏幕部分654包括关于驱动项目的细节和通信路径的详述,所述驱动项目包括控制块或控制模块内部的驱动参数排干_SP、出口_SP和产品_SP的名称,其用于打开或关闭实际的阀,所述通信路径详述是用于被称为排干、出口和产品的模块块内每一个控制模块目标_状态。一个回读路径的详述为排干、出口和产品模块块中的每一个的当前_状态的读回参数提供通信路径,而且也为反应堆_出口装置的不同状态提供了阀的状态。因此,屏幕部分654内部的驱动细节指出,在反应堆_出口616的被关闭的状态操作期间,排干、出口和产品阀都被关闭,在排干操作期间,排干和出口阀是打开的,然而产品阀被关闭,而在产品释放操作期间,排干阀被关闭但产品阀和出口阀被打开。也将了解到,虽然图12中的屏幕显示说明了为一个装置模块类对象指定状态驱动控制逻辑的一种方式,但任何其它期望的方式也可以被使用。
当然,如果希望的话,这些和与之相似的屏幕,如屏幕9-12可以被一个配置工程师用来在剂量或任何其它的阶段类内部创建和指定控制算法,或为任何其它的模块,如一个单元模块类对象、装置模块类对象和显示模块类对象由此创建任何期望的模块类对象。
如上所述,在创建一个或多个模块类对象之后,配置工程师可以用这些模块类对象配置过程设备10内部的元件。图13图示了一个屏幕显示660,其具有一个示出过程设备10内部一个系统配置662的分等级的视图661。该系统配置662包括一个称为控制策略664的部分,其为过程设备10特别为控制过程设备10的过程实体时使用方法指定控制策略。控制策略664被分为合乎逻辑的多个组,如分成过程设备的多个物理区域。一个区域_A665在视图661中被说明。区域_A665包括一个称为盐块的盐制造部分666,其包括多个用于制造盐的同样的装置。
要配置过程设备10的盐生产部分,配置工程师可以在图8的单元模块类程序库604内部选择反应堆单元模块类对象610,并且将其拖曳或者复制在盐666标题下面,以反应堆模块类对象610指定的形式创建反应堆的一个实例。这个反应堆在图13中图示为反应堆_1单元模块对象668。配置应用程序50可以基于单元模块类对象的名称,但以配置系统内部独有的方式自动地命名反应堆_1单元模块对象668,反应堆_1单元模块对象668是由所述单元模块类对象创建的。如图13所说明,反应堆_1单元模块对象668包括一个酸_1积算器装置模块对象,一个碱_1积算器装置模块对象,和一个出口_2装置模块对象,他们与反应堆单元模块类对象10内部指定的酸、碱和出口模块类对象相对应。更进一步,反应堆_1单元模块对象668包括剂量、排干、冲洗和混合单元阶段(从阶段类发展而来),它们被模块类对象610指定。一个别名辨别表被提供在一个被成为别名的模块中,其包括用在反应堆_1单元模块对象668中任何地方的控制例行程序中的别名的辨别列表。反应堆_1单元模块对象668中的别名辨别表使这些控制例行程序在运行之前或者运行期间被辨别从而连接到过程设备内部的特定的装置上。单元段和别名辨别表的使用在美国专利第6385496号中被详细描述,所述专利授予本专利的代理人而且在这里通过引用得到了清楚地合并。更进一步,反应堆_1单元模块对象668包括一个水_HDR1和一个进水模块对象,其分别与反应堆_1单元模块对象668内部指示的水积算器装置模块类对象和反应堆单元类对象610的进水开关阀控制模块类对象相对应。当然,基于反应堆单元模块类对象610内部相对应元件的名字,但以一个使这些名字在控制策略内独有的方式,配置应用程序50又可以自动地提供用于为反应堆_1单元模块对象668的元件命名的命名方案,其中反应堆_1单元模块对象668中的每一个单独的元件从反应堆单元模块类对象610内部相应元件创建而来。
从与反应堆单元模块类对象10相关的讨论中将了解到,水_HDR1是一个公用水箱(与图1中的水入口阀系统110相对应)。因而,提供一个在盐标识666下面的一个单独的装置模块对象,称之为水_HDR1 670。当然,通过拷贝或者拖曳元件到屏幕部分661,配置工程师可以从图8中的积算器装置模块类对象614来创建水_HDR1 670模块对象。在这种情况下,如所意料,公用水箱水_HDR1 670图示为包括特定的开/关阀控制模块对象(称为粗调_阀4和微调_阀4)和一个特定的流量计控制模块对象(称为流量_计4),其与图8中的粗调_阀、微调_阀和流量_计控制模块类对象相对应。此外,反应堆_1单元模块对象668内部的水_HDR1引用涉及水_HDR1装置模块对象670。
当然,任何装置或模块对象能够在单元模块类对象被指定为共享的或非共享的模块对象。一个非共享模块对象完全被较高层的模块对象拥有,其中所述非共享模块对象从所述较高层的模块对象创建而来。一个共享模块对象被不止一个较高层模块对象拥有或与其相关联。一个模块对象的共享或非共享的属性影响它在资源管理器视图中的描述。特别是一个非共享模块对象标志导致在控制策略内部,该模块对象只能在较高层对象下面被描述,然而,一个共享模块对象标志导致共享模块块或模块对象在每一个共享该元件和在资源管理器级别的单个的模块对象的较高层模块对象下面被描述。
将了解到,通过简单地复制一个反应堆单元模块类对象610和创建一个在其中具有反应堆单元模块类对象10中指定的所有元件的实例(反应堆单元模块类对象668),配置工程师能够在配置系统的控制策略664内部为整个反应堆建立一个控制策略。然而,用与从模块对象到模块对象不同的输入/输出标志和一个配置会话盒,反应堆单元模块对象668的各个的单元特别是控制单元能够被限制或连接到过程设备10内部的特定的实体上,其中建立所述配置会话盒从而能够使一个配置工程师指定模块对象被连接到过程设备的方式。也如上面指出的,如果希望的话,创建的反应堆模块对象668仍然被连接到反应堆单元模块类对象610上或被其拥有,以致在反应堆单元模块类对象610内部作出的改变能自动传到或反映在反应堆1_模块对象668内部。在任何情况下,配置工程师可以改变或单独地修改所创建的模块对象,如反应堆1_模块对象668,使之以整体的原则或一个元件到一个元件的原则接受或拒绝来自母模块类对象的变动。
屏幕660右边的部分672图示或列出了与反应堆1_模块对象668内部的所有元件相关连的参数、警报等(因为那是部分661中被选择的元件)以及与之相关的值、过滤和其它的信息。当然,配置工程师可以为反应堆1_模块对象668内的每一个元件改变或者指定这一数据从而以任何期望的方式修改从模块类对象创建的各个的模块对象。
图14说明一个屏幕显示680,其示出反应堆1_模块对象668的酸1装置模块对象682的配置。因为选择了图14中的酸1装置模块对象682,其中的元件在屏幕右边680的部分684中被说明。这些元件包括一个粗调阀、一个微调阀和一个流量计控制模块对象和暴露的参数。
一个弹出框686提供关于与酸1装置模块对象、以及模块类相关联的子模块对象的信息,所述这些子模块对象源于所述模块类或由其创建。特别,酸1装置模块对象属于积算器装置模块类对象,粗调阀1和微调阀1模块对象属于来自图8中的程序库块608的开_关阀模块类对象,和流量计1模块对象属于图8中的程序库块608的流量计控制模块类对象。
酸1配置弹出框686的列表显示也包括参数、IO(输入/输出)、警报和现场总线标志。参数表可用于指定或填充反应堆_1模块对象668的酸1积算器的每一个元件的参数。IO表可用于指定反应堆_1模块对象668的酸1积算器的每一个元件之间的输入/输出连接从而将这些各个的元件连接到过程设备10的实际装置上。如果希望的话,可以用一个如图15所示的电子数据表算法或程序指定这些连接操作,从而在整体批基础上指定过程设备10内部的模块对象(任何层)的所有元件和实际元件之间的相互连接关系。图15中的电子数据表显示688说明了一个电子数据表视图,其能够使配置工程师同时将不同积算器装置模块的粗调阀连接到过程设备10内部的装置上。既然如此,IO_OUT路径名和IO_读回路径名为被称为VLV-101A、VLV-201A、VLV-301A和VLV-401A的阀而指定。然而,如果希望的话,同一模块中的不同元件能够以批的方式被指定。
再参考图14,弹出框686的警报列表能够用来指定或配置与酸1模块对象相关联的警报,如需要,一个现场总线列表能用来指定特定的现场总线装置连接。当然,相似的配置屏幕可用于反应堆_1模块对象668内部的其它模块对象或整个反应堆_1模块对象668。同样,同样的或相似的配置屏幕可用于其它的模块对象。将了解到,在模块对象的任何层,包括单元模块层、装置模块层、控制模块层等,配置屏幕可以被显示和使用。
图16说明了一个屏幕显示690,其包括一个过程设备10的配置系统的资源管理器视图661,在其中,配置工程师增加了一个更进一步的反应堆模块对象692,称为反应堆_1_1,其复制或创建于图8中的反应堆单元模块类对象610。当然,当建立反应堆_1_1模块对象692时,配置工程师可以指定不同的参数、到不同装置的不同连接,甚至将用在其中的各个的子元件的不同控制程序。如图16中所说明,反应堆_1_1模块对象包括图8中的反应堆单元模块类对象610内部的每一个装置模块类对象的子对象,,包括一个酸2、碱2和出口4装置模块对象。反应堆_1_1模块对象也包括一个进水2、一个水位计2控制模块对象、一个共享装置模块对象的引用,称为水HDR1和剂量、排干、冲洗和混合单元阶段。只与反应堆_1_1模块对象692相关的子对象被给以独有的命名,而共享单元,如水HDR1模块对象,是以共享水箱的名字被说明。
将了解到,配置工程师可以用相似的方式,根据这里讨论的原则,使用任何另外的单元模块类对象、装置模块类对象和控制模块类对象以及显示模块类对象为处理控制环境的单元、装置、控制元件和显示元件建立配置元件。也将了解到,因为工程师不必要从一个控制模板单独建立或拷贝每一个控制元件,而可以使用在越来越高层或范围所提供的模块类对象来建立在配置过程设备10使用的越来越大的批配置项目,所以使用这些可能实际上相当详细的模块类对象为配置工程师在建立一个配置时提供了相当大的有利条件。
更进一步,通过改变一个或多个单元模块类对象,配置工程师可以整体地对不同的过程实体的配置元件作出变动,并将这些变动传到每一个模块对象上,所述模块对象由那些单元模块类对象创建并与其相关联。这一特征使得在配置已经建立后,在配置内部作出变动更容易和消耗更少的时间。此外,通过在模块类对象内设置安全参数,配置工程师可以为配置系统内部的模块对象的不同元件或单元指定一个不同的访问级别。如上所述,配置工程师可以由任何级别的模块基础在一个模块上指定安全级别,如在单元模块级别、装置模块级别、控制模块级别和显示模块级别。以这种方式,一个单元模块对象的一些元件是可见的而其它则是不可见的。
当然,一旦配置系统已经完成,模块对象被连接到过程设备10内部的各个的过程实体上,与这些模块相关的控制和显示模块元件可以下载到图1中的适当的控制器12和工作站14上,用于在过程设备10的运行期间的执行。
一旦被实施,这里描述的任何软件可以被存储在任何计算机可读存储器上,如磁盘、光盘或其它的存储媒介,在计算机或处理器的RAM或ROM上等。同样,使用任何已知的或期望的传送方法,包括如在计算机可读盘或其它的可传送计算机存储机制上或通过通信信道如电话线、因特网、全球网、任何其它的局域网或广域网等(这一传送可视为与通过一个可运输存储媒介提供上述软件相同或可互换的),这一软件可以传送到一个用户、一个过程设备或一个操作员工作站。此外,可以直接提供这一软件而不对其进行调制或加密,或在通过一个通信信道传送之前,用适合的调制载波和/或加密技术对其调制和/或加密。
本发明通过引用特定的例子来加以描述,它们仅仅是本发明的例证而不限制本发明,对本领域的普通技术人员来说,在不脱离本发明的精神和范围的情况下,可以对公开的实施例作出改变、增加或删除是显然的。
权利要求
1.一个模块类对象实体,用于配置一个过程设备,所述模块类对象实体包括一个计算机可读存储器;一个存储在计算机可读存储器上的类对象,该类对象一般地表现过程设备内部的一个过程实体,而且包括一个第一存储器,适合存储一个或多个组成过程实体的过程元件的指示;和一个第二存储器,适合存储对一个或多个模块对象的引用,每一个创建于类对象的模块对象包括一个或多个与组成过程实体的过程元件相一致的特定的过程元件的指示,和关联到一个或多个特定的过程元件上以在过程设备运行期间执行的程序。
2.如权利要求1所述的模块类对象实体,其中过程实体是一个单元,而所述一个或多个过程元件是该单元的子元件。
3.如权利要求2所述的模块类对象实体,其中该单元的一个或多个子元件包括一个装置实体。
4.如权利要求3所述的模块类对象实体,其中该单元的一个或多个子元件包括适合控制该装置实体的通用控制程序。
5.如权利要求3所述的模块类对象实体,其中一个或多个子元件包括一个通用的显示程序,所述显示程序适合在过程设备的运行期间给用户提供显示。
6.如权利要求1所述的模块类对象实体,其中过程实体是一个装置实体,而一个或多个过程元件是该装置实体的子元件。
7.如权利要求6所述的模块类对象实体,其中装置实体的一个或多个子元件包括控制装置实体的通用控制程序。
8.如权利要求6所述的模块类对象实体,其中装置实体的一个或多个子元件包括一个阀。
9.如权利要求6所述的模块类对象实体,其中装置实体的一个或多个子元件包括通用的显示程序,其适合于在过程设备运行期间给用户提供一个与装置实体相关的显示。
10.如权利要求1所述的模块类对象实体,其中过程实体是一个控制元件,而一个或多个过程元件包括一个适合用于在过程设备内部提供控制活动的通用的控制例行程序。
11.如权利要求1所述的模块类对象实体,其中过程实体是一个显示元件,而一个或多个过程元件包括一个适合用于在过程设备内部给用户提供显示活动的通用的显示例行程序。
12.如权利要求1所述的模块类对象实体,其中组成过程实体的一个或多个过程元件的指示之一包括一个代表过程设备内部一个第二过程实体的另外类对象的指示,该另外类对象包括一个另外存储器,适合存储组成第二过程实体的一个或多个过程元件的指示。
13.如权利要求12所述的模块类对象实体,其中所述另外类对象是一个装置模块类对象,代表过程设备内部的一个装置实体。
14.如权利要求12所述的模块类对象实体,其中所述另外类对象是一个控制模块类对象,代表过程设备内部的一个控制实体。
15.如权利要求12所述的模块类对象实体,其中所述另外类对象是一个显示类对象,代表过程设备内部的一个显示实体。
16.如权利要求1所述的模块类对象实体,还包括一个或多个模块对象。
17.如权利要求16所述的模块类对象实体,其中类对象包括当对该类对象作出变动时对一个或多个模块对象作出变动的程序。
18.如权利要求17所述的模块类对象实体,其中一个或多个模块对象中的每一个包括一个参数,该参数指示对类对象作出的变动是否要对模块对象作出。
19.如权利要求1所述的模块类对象实体,其中类对象包括一个或多个参数,所述参数为由类对象创建的一个模块对象指定一个安全入口。
20.如权利要求1所述的模块类对象实体,其中过程实体是一个装置实体,而一个或多个过程元件是该装置实体的子元件,其中类对象包括一个在过程元件上执行的算法。
21.如权利要求20所述的模块类对象实体,其中所述算法是一个状态驱动算法。
22.如权利要求20所述的模块类对象实体,其中所述算法是一个命令驱动算法。
23.如权利要求20所述的模块类对象实体,其中算法被加密。
24.如权利要求1所述的模块类对象实体,其中类对象包括一个指定到类对象的安全入口的安全参数。
25.如权利要求24所述的模块类对象实体,其中类对象包括多个安全参数和一个使用户指定多个安全参数的例行程序。
26.如权利要求1所述的模块类对象实体,其中类对象包括对与类对象相关的文件的引用。
27.一个配置系统,用于在处理器上执行配置一个过程设备,该配置系统包括一个计算机可读存储器;存储一个模块类对象的一个程序库,所述模块类对象一般代表过程设备内的一个过程实体,和包括一个或多个与过程实体相关联的过程元件的指示;一个存储在计算机可读存储器上的配置例行程序,其适合在处理器上执行从而提供一个代表过程设备配置的配置表现给用户;从模块类对象创建一个或多个模块对象,每一个模块对象包括与过程实体相关联的一个或多个过程元件的指示;使用户能够在配置表现内部放置一个或多个模块对象,并且为每一个模块对象指定过程设备内与一个或多个过程元件相关联的特定的过程实体;从至少一个模块对象创建一个程序,在过程设备的运行期间,所述程序适合在一个处理器上执行,从而提供关于特定过程实体的控制或显示功能,所述特定过程实体与模块对象的一个或多个过程元件相关联;和跟踪模块类对象,其中一个或多个模块对象中的每一个由所述模块类对象创建。
28.如权利要求27所述的配置系统,其中模块类对象包括一个存储器,适合存储由模块类对象创建的一个或多个模块对象的引用。
29.如权利要求27所述的配置系统,其中过程实体是一个单元,和模块类对象的一个或多个过程元件是该单元的子元件。
30.如权利要求29所述的配置系统,其中所述单元的一个或多个子元件包括在处理器上执行的通用控制程序,用于控制该单元。
31.如权利要求29所述的配置系统,其中所述单元的一个或多个子元件包括适合在过程设备运行期间提供与该单元相关的显示给用户的通用显示程序。
32.如权利要求27所述的配置系统,其中过程实体是一个装置实体,和一个或多个过程元件是该装置实体的子元件。
33.如权利要求32所述的配置系统,其中装置实体的一个或多个子元件包括被执行以控制该装置实体的通用控制程序。
34.如权利要求32所述的配置系统,其中装置实体的一个或多个子元件包括通用显示程序,其适合于在过程设备运行期间被执行以为用户提供与装置实体相关的显示。
35.如权利要求27所述的配置系统,其中过程实体是一个控制元件,而一个或多个过程元件包括一个适合用于在过程设备内部提供控制行为的通用控制程序。
36.如权利要求27所述的配置系统,其中过程实体是一个显示元件,而一个或多个过程元件包括一个适合用于在过程设备内部为用户提供显示行为的通用显示程序。
37.如权利要求27所述的配置系统,其中程序库包括多个模块类对象,而且其中模块类对象中的第一个包括模块类对象中的第二个的指示,作为与由第一个模块类对象代表的过程实体相关联的过程元件之一。
38.如权利要求37所述的配置系统,其中模块类对象中的第一个是代表过程设备内部一单元的一个单元模块类对象,而模块类对象中的第二个是代表过程设备内部一装置实体的一个装置模块类对象。
39.如权利要求37所述的配置系统,其中模块类对象中的第一个是代表过程设备内部一单元的一个单元模块类对象,而模块类对象中的第二个是代表过程设备内部一控制实体的一个控制模块类对象。
40.如权利要求37所述的配置系统,其中模块类对象中的第一个是代表过程设备内部一单元的一个单元模块类对象,而模块类对象中的第二个是代表过程设备内部给用户提供显示的一显示实体的一个显示模块类对象。
41.如权利要求37所述的配置系统,其中模块类对象中的第一个是代表过程设备内部一装置的一个装置模块类对象,而模块类对象中的第二个是代表过程设备内部一控制实体的一个控制模块类对象。
42.如权利要求37所述的配置系统,其中模块类对象中的第一个是代表过程设备内部一装置实体的一个装置模块类对象,而模块类对象中的第二个是代表过程设备内部给用户提供显示的一显示实体的一个显示模块类对象。
43.如权利要求27所述的配置系统,其中配置例行程序还地适合于能够使用户建立一个或多个模块类对象和在程序库中存储一个或多个模块类对象。
44.如权利要求27所述的配置系统,其中配置例行程序还地适合于当已对模块类对象作出改动时,对一个或多个模块对象作出所述改动。
45.如权利要求44所述的配置系统,其中一个或多个模块对象包括一个变动参数,其指示对模块类对象作出的改动是否被传输到模块对象。
46.如权利要求27所述的配置系统,其中模块类对象包括一个或多个参数,所述参数指定到由模块类对象创建的每一个模块对象的一个安全入口。
47.如权利要求27所述的配置系统,其中过程实体是一个装置实体,并且一个或多个过程元件是该装置实体的子元件,其中类对象包括一个在过程元件上执行的算法。
48.如权利要求47所述的配置系统,其中所述算法是一个状态驱动算法。
49.如权利要求47所述的配置系统,其中所述算法是一个命令驱动算法。
50.如权利要求47所述的配置系统,其中所述算法被加密。
51.如权利要求47所述的配置系统,其中其中模块类对象包括一个指定到模块类对象的安全入口的安全参数。
52.如权利要求51所述的配置系统,其中模块类对象包括多个安全参数和一个使用户能够指定多个安全参数的例行程序。
53.如权利要求27所述的配置系统,其中模块类对象包括对与模块类对象相关的文件的引用。
54.一种配置一个过程控制设备的方法,包括创建一个或多个模块类对象,每一个模块类对象一般代表过程设备内的一个过程实体,和包括与该过程实体相关联的一个或多个过程元件的指示;提供一个代表过程设备配置的配置表现给用户;从模块类对象创建一个或多个模块对象,每一个模块对象包括与过程实体相关联的一个或多个过程元件的指示;为每一个模块对象指定过程设备内与模块对象的一个或多个过程元件相关联的特定的过程实体;在配置表现内部放置一个或多个模块对象;创建并下载从至少一个模块对象发展而来的一个程序,在过程设备运行期间所述程序适合于在一个处理器上被执行,从而提供与过程实体有关的控制和显示功能,所述过程实体与模块对象的一个或多个过程元件相关联;和存储所述模块类对象的一个指示,其中,从所述模块类对象创建一个或多个模块对象。
55.如权利要求54所述的方法,其中,从所述模块类对象创建一个或多个模块对象包括存储与所述模块类对象相关连的一个或多个模块对象的一个指示。
56.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建一个单元模块类对象,所述单元模块类对象一般代表过程设备内部的一个单元并包括一个或多个是所述单元的子元件的过程元件。
57.如权利要求56所述的方法,其中创建一个单元模块类对象包括指定一个通用的控制程序作为该单元的子元件用于控制过程设备内部的单元。
58.如权利要求56所述的方法,其中创建一个单元模块类对象包括指定一个显示程序作为该单元的子元件用于为用户显示关于该装置的信息。
59.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建一个装置模块类对象,所述装置模块类对象一般代表过程设备内部的一个装置实体并包括一个或多个过程元件,它们是所述装置实体的子元件。
60.如权利要求59所述的方法,其中创建所述装置模块类对象包括指定一个控制程序作为该装置实体的子元件用于控制该装置实体。
61.如权利要求59所述的方法,其中创建所述装置模块类对象包括指定一个显示程序作为装置实体的子元件用于为用户显示关于该装置实体的信息。
62.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建一个控制模块类对象,所述控制模块类对象一般代表过程设备内部的一个控制实体并包括一个或多个控制例行程序,用于在过程设备运行期间执行控制行动。
63.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建一个显示模块类对象,所述显示模块类对象一般代表过程设备内部的一个显示实体并包括一个或多个显示例行程序,用于在过程设备运行期间为用户提供显示活动。
64.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建模块类对象中的第一个来包括对模块类对象中的第二个的一个指示,作为由第一个模块类对象代表的与过程实体相关的过程元件之一。
65.如权利要求64所述的方法,包括创建模块类对象中的第一个,作为一般代表过程设备内部一个单元的一个单元模块类对象,并创建模块类对象中的第二个,作为一般代表过程设备内部一个装置实体的一个装置模块类对象。
66.如权利要求64所述的方法,包括创建模块类对象中的第一个,作为一般代表过程设备内部一个单元的一个单元模块类对象,并创建模块类对象中的第二个,作为一般代表过程设备内部一个控制实体的一个控制模块类对象。
67.如权利要求64所述的方法,包括创建模块类对象中的第一个,作为一般代表过程设备内部一个单元的一个单元模块类对象,并创建模块类对象中的第二个,作为一般代表过程设备内部给用户提供显示的一个显示实体的一个显示模块类对象。
68.如权利要求64所述的方法,包括创建模块类对象中的第一个,作为一般代表过程设备内部一个装置实体的一个装置模块类对象,并创建模块类对象中的第二个,作为一般代表过程设备内部用于控制装置实体的一个控制实体的一个控制模块类对象。
69.如权利要求64所述的方法,包括创建模块类对象中的第一个,作为一般代表过程设备内部一个装置实体的一个装置模块类对象,并创建模块类对象中的第二个,作为一般代表过程设备内部用于为用户提供与该装置实体相关的显示信息的一个显示实体的一个显示模块类对象。
70.如权利要求54所述的方法,还包括当对一模块类对象作出变动时,自动地对由该模块类对象之一创建的每一个模块对象作出变动。
71.如权利要求70所述的方法,其中自动地对每一个模块对象作出变动包括访问存储在每一个模块对象内的变化参数,来决定是否对模块对象作出与对模块类对象相同的的变动。
72.如权利要求54所述的方法,包括在模块类对象之一内存储一个安全参数,来控制到每一个由该模块类对象之一创建的模块对象的访问权限。
73.如权利要求54所述的方法,其中创建一个或多个模块类对象包括创建一个代表一个有过程元件的装置实体的装置模块类对象,装置模块类对象包括一个在过程元件上实施的命令算法。
74.如权利要求73所述的方法,包括创建所述装置模块类对象以包括一个状态驱动算法。
75.如权利要求73所述的方法,包括创建所述装置模块类对象以包括一个命令驱动算法。
76.如权利要求73所述的方法,包括创建所述装置模块类对象以包括一个加密命令算法。
77.如权利要求54所述的方法,包括创建模块类对象以包括一个指定到模块类对象的安全入口的安全参数。
78.如权利要求54所述的方法,包括创建模块类对象以包括多个安全参数和一个使用户能够指定多个安全参数的例行程序。
79.如权利要求54所述的方法,包括创建模块类对象以包括对与所述模块类对象相关的文件的引用。
全文摘要
过程设备的配置系统使用模块类对象来帮助配置、组织和改变过程设备内的控制和显示行为。模块类对象一般模拟或代表一个过程实体,并可用来建立对象的实例和代表任何期望范围的过程实体,因此一个单一的模块类对象可用来配置过程设备内任何期望范围的过程实体的控制和显示活动,而并非仅仅在控制模块层。大范围的模块类对象可用来配置过程设备的一个大的部分,因而过程设备的配置更容易和耗时更少。模块类对象可以是反映过程设备内部物理单元的一个单元模块类对象,反映过程设备内部物理装置的一个装置模块类对象,反映过程设备内部控制模块或方案的一个控制模块类对象,或反映过程设备内部提供信息给用户的显示例行程序的一个显示模块类对象。
文档编号G05B13/00GK1550976SQ20041005951
公开日2004年12月1日 申请日期2004年2月18日 优先权日2003年2月18日
发明者马克·尼克松, 迈克尔·卢卡斯, 阿瑟·韦布, 赫谢尔·科斯卡, 李健, 拉里·琼特, 丹尼斯·史蒂文斯, 罗伯特·哈夫科斯特, 迈克尔·奥特, 卢卡斯, 史蒂文斯, 哈夫科斯特, 奥特, 科斯卡, 琼特, 韦布, 马克 尼克松 申请人:费舍-柔斯芒特系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1