首页> 中国专利> 用于批准过程控制系统软件对象的集成电子签署

用于批准过程控制系统软件对象的集成电子签署

摘要

软件对象授权系统包括能够选择签署者,他们必须在软件对象被下载至过程控制系统之前批准该软件对象。签署者是以允许他们通过用户名和密码验证他们的身分的形式而存在的。已经验证了其身分的签署者可批准或拒绝该软件对象。当已经收到对于软件对象所需要的所有批准时,软件对象被授权。然后可下载被授权的软件对象至过程控制系统。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-25

    专利权有效期届满 IPC(主分类):G06F 9/00 专利号:ZL031530044 申请日:20030804 授权公告日:20090617

    专利权的终止

  • 2009-06-17

    授权

    授权

  • 2005-09-28

    实质审查的生效

    实质审查的生效

  • 2004-03-10

    公开

    公开

说明书

相关申请

此项申请涉及共同待批的U.S.专利09/420,182,标题为“Version Controland Audit Trail in a Process Control System”,它的全部内容因此被合并在此项申请中。

技术领域

本发明属于过程控制系统,更特别地属于用于在过程控制系统中使用的软件对象的批准。

背景技术

过程控制系统一般包括许多设备组,用于执行某个制造或其它控制过程。设备组被连接至控制器,控制器包括过程控制软件指令,该指令用于以某种方式操作设备执行制造或控制过程。可按阶段(phase)安排过程控制软件,阶段一般与过程步骤的各种类型有关。例如,一个混合阶段可与执行一个过程的一个混合步骤的硬件联系起来。

不过,由于阶段的通用性,基于它们要执行的步骤的特殊性,必须修改或定制阶段。例如,对混合阶段,它通常适合于操作混合设备,必须定制该阶段,以在特定的时间期间用特定的速度操作混合设备的特定部分。一般使用配方(recipe)定制或修改阶段。如名称暗示的,配方是用于执行指定的任务的下载至过程控制硬件的指令组,诸如例如制造饼干、生产医药品或控制其它过程。配方一般比阶段更明确,并且事实上,在配方中包含对阶段的使用。例如,饼干制造配方可包括混合步骤,该步骤可以由混合阶段执行。不过,与该混合阶段对比,饼干制造配方指定应该执行的持续时间和速度。因此,配方指定规定运行该混合阶段的参数。

易于理解,改变由过程控制系统所执行的配方可以彻底地影响该过程控制系统的运行。例如,改变巧克力薄片饼干配方能够影响用于饼干生面团的巧克力薄片的数量或饼干的烘烤时间。因此,下载已经被偶然地改变或者另外以未经授权的方式修改的配方,会不利地影响过程控制系统的输出,生产出不根据产品规范的产品,使损失利润。

尽管用于产品(如饼干)的配方更改可能产生明显有缺陷的饼干(例如,没有完全地成为饼干,没有足够的巧克力薄片等等),但不是所有的配方更改将导致立即可察觉缺陷的产品。例如,在生产过程中不容易发现有过多盐的饼干。不过,消费者可能注意到饼干的咸味并且可能向厂商投诉,然后可确定用于该饼干的配方以不能接受的方式被更改了。尽管事实上一些消费者可能会不舒服,但饼干配方未经授权的更改不会威胁到人们的生命。

虽然在某些情况下(如饼干生产),在最坏的情况中,未经授权的配方更改可导致消费者不满,但是例如,用于医药品生产的配方未经授权的更改可能有更严重的后果。改变药的数量或成分的配方更改,可能致使生产的药物无效或者有毒。另外,药成分的改变,不可能象饼干上的巧克力薄片数量容易被发觉,因为药可能看上去具有与未被改变或正确制造的药相同的颜色和密度。

而且,许多配方与在生产能力、时间和/或原料中的重大的投资密切相关并且因此在进行中必须报废配方可能对执行该配方的实体和期望接收来自该配方执行的产品输出的任何其它实体具有实质性不利的财政影响。例如,用于制造包含发酵的产品诸如啤酒、奶酪等等产品的配方常常要求以星期或月计的处理时间以及实质性的原料投资。

一般,用于过程控制系统的配方以及其它软件模块或对象诸如单元、阶段等等是由工程师或科学家所编写的,在配方或其它软件被下载至过程控制系统之前,该工程师或科学家请求各种实体(例如研究或生产团体)批准该配方或其它软件。不过,对于过程控制系统软件的批准过程,在最好的情况下,一般是通过循环使用备忘录或批准请求而执行的,而在最坏的情况下则是更加非正式的。另外,除过程控制系统的应用知识和配方和在这里所实现的其它软件对象之外,几乎没有阻力来阻止下载未经批准的软件至过程控制系统。

发明内容

根据一个方面,软件对象批准系统和方法在过程控制系统中使用,生成代表一组实体的身分信息,在该过程控制系统中执行软件对象之前需要该组实体的批准。此外,该系统和方法可从在身分信息中代表的每个实体接收关于该软件对象的批准的电子指示,并且可以使用第一软件例程以阻止该过程控制系统执行该软件对象,直到在身分信息中所代表的每个实体批准该软件对象。更进一步,该系统和方法可使用第二软件例程以基于电子指示选择地使过程控制系统能够执行该软件对象。

根据另一方面,软件对象批准系统和方法用于在过程控制系统中使用,确定软件对象是否被一组实体批准,并且如果该软件对象被该组实体所批准,则在过程控制系统中执行该软件对象。

在另外一方面,软件对象批准系统和方法用于在过程控制系统中使用,在响应收到电子指示即一组实体的至少一个还没有批准该软件对象时,确定软件对象没有被批准。该系统和方法在响应收到另一个电子指示即该组实体的每一个已经批准该软件对象时,还可确定该软件对象被批准。此外,如果该软件对象被批准,该系统和方法可使能够下载该软件对象至过程控制系统。

附图说明

图1是过程控制系统的部分结构图,该系统使用一或多个具有别名和/或动态参考参数的控制例程以执行过程装置的控制;

图2是对象结构的方框图,示出图1的过程控制系统的逻辑层次或结构;

图3是图2的对象结构的一部分更详细方框图;

图4是配方编辑例程的典型流程图;

图5是授权设置例程的典型流程图;

图6是与图5的授权设置例程关联的典型用户界面;

图7是增加例程的典型流程图;

图8是与图7的增加例程关联的典型用户界面;

图9是删除例程的典型流程图;

图10是修改例程的典型流程图;

图11是与图10的修改例程关联的典型用户界面;

图12是配方授权例程的典型流程图;

图13是与图12的配方授权例程关联的典型用户界面;

图14是批准例程的典型流程图;

图15是与图14的批准例程关联的典型用户界面;

图16是拒绝例程的典型流程图;

图17是典型用户界面,显示未批准配方的状态;以及

图18是下载例程的典型流程图。

具体实施方式

用于控制软件对象的批准和下载的方法和系统,软件对象诸如例如在下面详细描述的过程控制系统中的配方,这些方法或系统可用于使软件对象的作者能够指定个人或团体审阅者或签署者,必须在软件对象下载至过程控制系统或在过程控制系统中执行之前由该审阅者或签署者授权该软件对象。可通过多种不同技术通知审阅者或签署者,根据该通知,审阅者或签署者可审阅该软件对象并批准或拒绝该软件对象。附加功能可包括使各种各样的个人或实体(例如,审阅者、作者、商业团体或其它)能够检查软件对象的批准状态。

虽然作为实例在下面描述软件对象批准系统和方法,该实例用于在过程控制系统中批准和下载可包括一个或多个软件对象的配方,但是在此所描述的系统和方法也可有利地用于其它类型的软件对象,诸如例如单元、阶段、图形等等。而且,在此作为实例所描述的软件对象批准系统和方法,可用于同时批准和下载单一对象和/或同时批准和下载一组有关或无关的软件对象。

另外,易于理解,在此所描述的软件对象批准系统和方法能有利地结合版本控制软件一起使用。一种典型类型的版本控制软件在名为“VersionControl and Audit Trail in a Process Control System”专利申请中描述,在1999年10月18日提出,赋予美国申请号09/420,182并由本专利的受让人拥有。

现在参照图1,过程控制系统10包括控制器12,通过以太网连接15连接至一组工作站14。控制器12还通过一组通信线路或总线18连接至与过程(概括地由参考数字16所指定的)关联的装置或设备。控制器12可能是,只是作为实例,由Fisher-Rosemont Systems,Inc.所销售的Delta VTM控制器,能够与控制元件通信,诸如遍及过程16所分布的现场设备和在现场设备内的功能块,以执行一或多个过程控制例程,最好使用面向对象的编程技术实现过程控制例程,并且这样软件对象因此实现所要求的过程16的控制。工作站14(它可以是例如个人计算机),可由一或多个工程师或其它用户用于设计由控制器12所执行的过程控制例程或软件对象,用于与控制器12通信以下载这样的过程控制例程或软件对象并且在过程16的运行期间接收和显示属于过程16的信息。每个工作站14包括存储器20用于存储应用程序,诸如组态设计应用程序,并且用于存储数据,诸如属于过程16的组态的组态数据。每个工作站14还包括一个处理器21,执行应用程序以使用户能够设计和/或修改过程控制例程或软件对象并且下载这些过程控制例程或软件对象至控制器12。同样地,每个控制器12包括存储器22,用于存储控制过程16所使用的组态和过程控制例程,并且包括处理器24,执行过程控制例程以实现过程控制策略。如果控制器12是Delta V控制器,它们可以在控制器12内通过一台工作站14向用户提供过程控制例程的图形描述,显示过程控制例程内的控制元件和这些控制元件被设置以提供过程16的控制的方式。

该系统还可包括网络30,通过它可连接一或多个工作站14。可使用任何适合的网络实现网络30,诸如例如,互联网、企业内部互联网、局域网(LAN)、广域网(WAN)或任何其它适合的网络。尽管显示的网络30具有有线连接,容易了解到,这样的网络可能是一个无线网络或可能是一个同时包括有线和无线部分的网络。

许多终端32也可通过网络30连接至工作站14。每个终端32可包括存储器34连接至处理器36,该处理器适合于执行存储在存储器34上的指令。在典型实施例中,终端32可以是个人计算机或任何相似的处理设备,可包括与现今已知的可用普通个人计算机相比相同或更大的处理能力和存储器。

回到图1中对过程控制系统的平衡的说明,控制器12通过总线18通信地连接至三组同样地配置的反应器,在此被称为Reactor_01、Reactor_02和Reactor_03。Reactor_01包括反应器容器100,连接控制向反应器容器100提供流体的流体进入管的两个输入阀101和102,和连接控制流体经由流体输出管流出反应器容器100的输出阀103。装置105,可以是传感器,诸如温度传感器、压力传感器、流体液位计等等或某些其它装置如电加热器或蒸汽加热器,被安排在反应器容器100内或接近反应器容器100处。同样,Reactor_02包括反应器容器200、两个输入阀201和202、输出阀203和装置205。同样,Reactor_03包括反应器容器300、两个输入阀301和302、输出阀303和装置305。如图1所示,控制器12是通过总线18通信地连接至阀门101-103、201-203和301-303和连接至装置105、205和305,以控制这些元件执行一或多项与反应器单元有关的操作。这样的操作可包括,例如,填充反应器容器、加热反应器容器内的原料、倒空反应器容器、清洗反应器容器等等。

图1中所示的阀门、传感器和其它装置可以是任何想要的装置种类或类型,包括例如,现场总线设备、标准4-20mA设备、HART设备等等,并且可使用任何已知或想要的通信协议与控制器12通信,通信协议诸如现场总线协议、HART协议、4-20mA模拟协议等。更进一步,其它类型的设备可连接至控制器12并由其控制。而且,其它控制器可通过以太网通信链接15连接至控制器12和工作站14以控制与过程16关联的其它设备或区域,并且这样附加的控制器的操作可与图1所示的控制器12的操作以任何想要的方式相互配合。

一般而言,图1的过程控制系统10可用于实现批过程,在批过程中,例如,工作站14或控制器12之一执行一批管理例程,该例程是高层控制例程指挥一个或多个反应器单元(以及其它装置)的操作以执行生产产品所需要的一系列不同步骤(一般被称为阶段),诸如食品产品、药品或其它医药品产品等等。步骤或阶段一般是使用软件对象实现的,软件对象能被实例化并由一或多个处理器21和24在系统10中执行。

要实现不同的阶段,批管理例程使用一般被称为配方的软件对象,配方指定要执行的步骤、与步骤关联的数量和时间和步骤的顺序。对应于一个配方的步骤可能包括,例如,用适当的原料或成分填充反应器容器、在反应器容器中混合原料、在反应器容器中以某个温度在某段时间内加热反应器容器、倒空反应器容器并然后清洗反应器容器以准备用于下一次批运行。每个步骤定义批运行的一个阶段,并且在控制器12内的批管理例程将对这些阶段的每一个执行不同的控制算法。当然,指定的原料、原料的数量、加热温度与时间等等对于不同的配方可以不同,并且因此,根据正在制造或生产的产品和正在使用的配方由批运行至批运行这些参数可以改变。在本技术领域中的技术人员将理解,尽管在此描述控制例程和配置用于在图1所示的反应器单元中的批运行,但是控制例程可用于控制其它所需要的设备以执行任何其它所需要的批过程运行或以执行连接过程运行,如果需要的话。

在高层上,在运行的相关部分中,位于工作站14的个人或实体可创建或修改配方或其它软件对象,并且可向各种各样的授权实体诸如例如生产、工程、质量保证或管理请求批准。授权实体可使用工作站14或终端32审阅所讨论的配方和/或其它软件对象,并批准或拒绝配方和/或其它软件对象。所讨论的软件对象的批准或拒绝可被传送至请求该对象的批准的个人或实体。一旦软件对象已经由所有被请求批准的实体批准,该软件对象可被下载至控制器12以在过程控制系统10中实现或执行。

一个批过程的相同的阶段或步骤能够在相同或不同的时间在图1的每个不同反应器单元上实现。而且,因为图1的反应器单元通常包括相同数量和类型设备(即它们属于相同的单元类),所以用于一个特定阶段的相同的一般的阶段控制例程可用于控制每个不同的反应器单元,除了必须修改这个一般的阶段控制例程以控制与不同的反应器单元关联的不同的硬件或装置之外。例如,要为Reactor_01实现填充阶段(在该阶段期间反应器单元被填充),填充控制例程将在一定的时间内打开一或多个输入阀101或102,例如,直至液位计105检测到容器100满。然而,这个相同的控制例程可用于实现Reactor_02的填充阶段,只要通过修改指定的输入阀为阀门201或202取代阀门101或102,并且修改指定的液位计为液位计205取代液位计105。

图2的对象树示出使用软件例程实现的带有方框具体对象,而在对象上面指示对象的一般类别(或对象类型)没有方框。如图2所示,过程控制系统10包括一或多个区域,区域可以是例如在过程控制工厂内建筑物或其它地理区域名称。在图2的对象树中,过程16有三个地区对象,名为Building_01、Building_02和Building_03。可将每个地区对象分成过程单元,每个单元对应于在该地区内正在执行的过程一个不同方面。图2的Building_01区域对象被示为包括两个被标为Cell_01和Cell_02的过程单元对象。Cell_01可以,例如,与制作在Cell_02中使用的产品部件有关。每个单元对象可包括零或多个单元类,单元类标识在过程单元中所使用的不同类别或不同组合的硬件。一般而言,一个单元类是命名对象,它保持一组相关装置的共同配置,更特别地,它是单元集合,具有非常相似的生产过程用检测仪器,如果不相同的话;每个生产过程用检测仪器在过程中执行非常相似的功能,如果不相同的话。在单元类对象所属的过程控制系统中一般以描述单元的类型命名单元类对象,图2包括Mix_Tank单元类、Reactor单元类和Feed_Tank单元类。当然,在大多数过程控制系统或网络中,将提供或定义许多其它类型的单元类,包括例如,干燥器单元、进料头单元和其它单个硬件或硬件的逻辑组合。

如图2的Reactor单元类所示,每个单元类对象可具有与之相关的单元模块对象和阶段类对象。单元模块对象通常指定在命名的单元类内复制的硬件的某个实例,而阶段类通常指定能被应用于与单元类关联的单元模块的阶段。更特别地,一个单元模块对象是一个命名的对象,它为一个单独的过程单元保持所有的变量和单元阶段(在下文中定义)并一般被命名以标识特定的过程装置。例如,图2的Reactor单元类具有Reactor_01、Reactor_02和Reactor_03单元模块,分别对应于图1所示的Reactor_01、Reactor_02和Reactor_03。Mix_Tank单元类和Fee_Tank单元类将同样具有特定的单元模块,对应于过程16内的特定的硬件或装置。不过,为了简单的缘故,在图1未示出与Mix_Tank或Feed_Tank单元类关联的装置。

阶段类是命名的对象,为一个阶段保持共同的配置,该阶段能运行于属于同一的单元类的多个单元和多个不同单元类上。本质上,每个阶段类是一个不同的控制例程(或阶段),它是由控制器12所创建并使用以在相同或不同单元类的控制单元模块内控制单元模块。典型地,根据描述在单元模块上所执行的动作的动词命名每个阶段类。例如,如图2中所示,反应器单元类具有Fill阶段类,用于填充图1的反应器容器100、200或300的任何一个;Heat阶段类,用于加热图1的反应器容器100、200或300的任何一个;Dump阶段类,用于倒空图1的反应器容器100、200或300的任何一个;以及Clean阶段类,用于清理图1的反应器容器100、200或300的任何一个。当然,还可以存在任何其它与此或任何其它单元类关联的阶段类。Fill阶段类同时与Reactot单元类和Feed_Tank单元类关联,并因此在Reactor单元模块和Feed_Tank单元模块上都能执行填充功能。

一般认为阶段类是软件例程或对象,可被批管理例程调用以在整个批过程中执行一些所需的功能,并由用于那个批过程的配方定义。一个阶段类可包括零或多个阶段输入参数,主要是从批管理例程或另外的阶段类为阶段类软件例程或对象提供输入;可包括零或多个阶段消息,可以是要向用户显示的与该阶段类的运行有关的消息、涉及与该阶段类以某种方式所关联的其它阶段的信息;以及可包括零或多个阶段算法参数,致使在阶段逻辑模块(PLM)或单元阶段中创建参数,基于此阶段类。在阶段的执行期间将这些阶段算法参数用作临时存储单元或变量,并且对于用户或批管理例程这些阶段算法参数不必是可视的。阶段类包括一或多个阶段算法定义(PAD),一般而言,阶段算法定义是用于实现阶段的控制例程。而且,阶段类具有一列与零、一、二或多个单元类的关联,并且此列定义可应用这个阶段类的单元类,因此该阶段类的PAD可应用于这些单元类。Fill阶段类关联列同时包括Reactor单元类和Feed_Tank单元类。

图3描述在图2中所示的一些对象的更详细的版本和这些对象之间的关系。在图3中描述了两个单元类,即Reactor单元类50和Feed_Tank单元类52。Reactor单元类50有一个单元模块54,即Reactor_01。尽管其它的单元模块可能存在,但在图3中只是没有示出它们。单元模块54定义与Reactor单元类关联的一些反应器参数,也就是,Reactor_01的容量是300而且Reactor_01不包括搅拌器。同样地,两个阶段类与Reactor单元类50关联,包括Fill阶段类56和Dump阶段类58。Fill阶段类56包括一PAD(如以图形形式在其右侧示为SFC),该PAD已经被设计为使用两个别名,即#INLET_VALVE#和#LEVEL#。这些别名实际上用于Fill阶段类56的PAD中所示的方框内,但做为选择,可用于PAD的逻辑内的任何其它地方。Fill阶段类56还包括一个定义为TARGET_LEVEL的输入和一个定义为FINAL_LEVEL的输出。尽管别名被指示为由数量符号(#)所定界或标注,任何其它标识符能用于定义一个别名,必须在一阶段的实例化时代替它。同样,Dump阶段类58包括在其右手侧以图形形式所示的一PAD,具有别名#OUTLET_VALVE#和#LEVEL#,定义为RATE的输入,定义为FINAL_LEVEL的输出和定义为ACTUAL_RATE的算法参数(由该PAD使用),可在该PAD执行期间用作为临时存储单元。

现在转到图4,可由工作站14的一或多个的处理器21执行的配方编辑例程400,在程序块402开始执行,在此用户或操作者创建或修改配方,可包括与之关联的软件对象的修改,为用于在过程控制系统10中使用。如将容易地了解到,用户可创建或修改使用结合图1-3所描述的技术或使用任何其它合适的技术的配方或其它软件对象。在已经创建或适当地修改配方后,控制从程序块402传送至程序块406。如将在下面结合图5-11更详细地讨论的,可在配方编辑例程400的执行之前或在配方或其它软件对象的修改和/或下载至系统10之前的任何其它时候,至少执行一次授权设置例程404(图5)。一般而言,授权设置可包括,但不限于此,指定个人或实体(例如签署者),即要执行配方或其它软件对象需要他们的批准,或者删除或修改签署者。

在程序块406时,在授权设置期间向每个指定的签署者请求批准,为了批准在程序块402时所创建或修改的配方。批准请求可包括,但不限于此,通过任何适当的通信方法,发送电子邮件至所指定的签署者以审阅与授权设置例程404有关的配方,运行指示对应每个指定的签署者的批准状态的报告,发送即时消息至将审阅配方的签署者,或者发送通知给签署者。在程序块406已经向每个签署者请求批准之后,配方编辑例程400结束运行或返回控制至调用配方编辑例程的其它的例程。

结合图5和6提供授权设置例程404的进一步的细节,图5和6分别揭示流程图和用于授权设置例程404的用户界面屏幕。尽管授权设置例程404一般在系统启动时执行一次,授权设置例程404能被代之以执行多次而不是一次,如果需要的话。一般而言,如图5所示,一旦已经执行授权设置例程404,用户可在程序块410通过取消/确定选择取消该例程的执行。做为选择,用户可以在程序块412、414或416时分别选择增加、删除或修改配方签署者。在增加、删除或修改签署者后,控制从程序块412、414或416传出,并且使用户能够在程序块410选择取消或结束授权设置例程404的运行或者使用程序块412-416再次增加、删除或修改签署者。如果用户在程序块410选择取消或结束授权设置例程404的运行,授权设置例程结束。

用户界面420,如图6所示,包括配方授权设置标签422,它允许用户选择界面按钮424、426或428以增加、修改或删除签署者。增加、修改和删除界面按钮424-428对应于(且可被选择以调用所要执行的功能)图5所示的增加、删除和修改程序块412-416。结合图7-11提供关于程序块412-416的每一个的进一步细节,并隐含地提供关于界面按钮424-428的进一步细节。当增加、修改或删除签署者时,在文本框430中显示签署者的状态。如图6所示,文本框430包括一个签署者描述列432,列出签署者的姓名,可以是个人或实体的名称,并且还包括一功能锁定列434,列出功能锁定,对应于所要求的签署者因此具有对访问一个批准的控制。例如,如图6所示,要由工程、生产和质量保证审阅并签署该配方,它们对应于RECIP_APPROVAL_01-RECIP_APPOVAL_03。

在图6中还示出的是两个检查框436和438,对应于使能配方授权(enablerecipe authorization)和允许批准传播至所包含的配方(allow approvalpropagation to contained recipes)(即子配方)。操作中,当选择检查框436时,启用系统的使能配方授权(enable recipe authorization)特征并且启动授权设置过程。当没有选择检查框438,表示用户将不具有传播批准的选项。相反地,如果选择检查框438,该用户将具有为子配方传播批准的选项。例如,一个主配方可由两个或多个子配方组成或可包含它们,与该主配方关联的批准可自动地传播至子配方。当然,这样的配方批准的自动传播可导致显著的时间节省,特别是对于包含大量子配方的配方。

用户界面420还包括取消(cancel)和确定(ok)界面按钮,分别用参考数字440和442指示它们。界面按钮440和442对应于图5的取消/确定程序块410并允许用户退出授权设置例程404。虽然界面按钮440和442都能使用户离开授权设置例程404,取消(cancel)界面按钮440结束授权设置例程404而不包括对配方的授权设置所做的修改。相反地,确定(ok)界面按钮442允许用户离开授权设置例程404并且保留在使用用户界面420时对授权设置所做的修改。

现在转到图7,提供代表一个增加例程的程序块412的进一步细节。增加例程412开始执行于程序块450,接收由用户提供的功能锁定选择。如图8所示,图形用户界面或弹出窗口452可包括一批准功能锁定(Approval Function Lock)框454,用户可输入批准功能锁定的名称到该框内。例如,如图8所示,框454可包括一个显示,即选择的批准功能锁定是RECIPE_APPROVAL_03。

返回至图7,在程序块450已经接收了功能锁定选项之后,程序块460接收由用户所提供的签署者描述。例如,如在图8的用户界面452中所示,用户可在方框462中输入签署者描述。作为举例,描述“Team Leader”在输入框462中显示,表示用户想要将队长(team leader)作为具有批准功能锁定RECIPE_APPROVAL_03的签署者加入。

在程序块450和460已经分别接收了功能锁定选择和签署者描述之后,控制传送至程序块466,确定是否缺少功能锁定或签署者描述,或者是否已经选择了在图8中分别以参考数字470和472所示的取消(cancel)或确定(ok)界面按钮。如果缺少锁定或描述,控制从程序块466传送至程序块450。做为选择,如果程序块466确定用户已经选择取消(cancel)或确定(ok)界面按钮470和472,则增加例程412结束它的运行并将控制返回至图5的授权设置例程404。如关于图6的用户界面420所述,按动取消(cancel)界面按钮470引起增加例程412结束它的执行而不保存在其执行期间所做的修改。相反地,如前所注,按动确定(ok)界面按钮472引起增加例程412结束并保存在增加例程412的执行期间所做的修改。如果增加例程412增加一个新的批准者或签署者,任何以前被批准的配方(即已经收到所有原来所要求的批准的配方)自动地变成非授权的,直到从新增加的签署者获得批准为止。

结合图9提供删除例程414的进一步细节,它的操作与图6的用户界面420有关。特别地,删除例程414开始执行于程序块480,接收要被删除的签署者描述的选择。用户可通过选择图6的用户界面420的文本框430中显示的一个签署者描述提供这样一个选择。在用户选择所要删除的描述之后,用户然后按动删除界面按钮428以表明他或她想要删除所选择的签署者描述或签署者。在程序块480完成执行之后,控制传送至程序块482,接收对由用户请求的删除的确认。例如,在用户选择所要删除的签署者描述并按动删除界面按钮428之后,删除例程414可要求用户确定他或她想要删除所选择的签署者描述,通过在显示屏幕上向用户显示的用户界面图形。这样一个图形显示可包括确定(ok)或取消(cancel)界面按钮,在其中按动(例如通过鼠标、键盘等选择)确定(ok)界面按钮将确认用户想要删除所选择的签署者描述,而取消(cancel)界面按钮将取消删除所选择的描述。在程序块482已经收到对删除的确认之后,删除例程414结束它的执行并返回控制至授权设置例程404。

结合图10和图11提供与图5的修改例程416有关的进一步细节。修改例程416开始执行于程序块484,从用户接收要修改的签署者描述的选择。例如,用户可选择图6中名为Quality Assurance的签署者并且然后可按动修改界面按钮426。在按动修改界面按钮426之后,用户界面诸如例如,在图11所示的用户界面486,可向用户显示并可包括一签署者描述框488和一批准功能锁定框490。用户界面486还可包括确定(ok)和取消(cancel)界面按钮492和494。在修改例程416已经接收要修改的签署者描述的选择(在此情况下,已经选择签署者Quality Assurance用于修改)之后,控制从程序块484传送至程序块496。方框496接收签署者描述的修改,诸如例如,签署者名称、批准锁定功能的修改或任何其它适当的修改。例如,在方框488用户提供签署者描述之后,用户可修改签署者的名称或可修改显示在方框490中显示的批准锁定功能并且可选择确定(ok)或取消(cancel)界面按钮492和494。如前所述,按动确定(ok)界面按钮492保存对签署者描述所做的修改。相反地,按动取消(cancel)界面按钮494结束修改例程416而不保存所做的修改。无论如何,按动界面按钮492和494的任意一个结束修改例程416的执行并返回控制至图5的授权设置例程404。而通过增加例程412,签署者或批准者的修改自动地导致任何以前被批准的、请求该签署者批准的配方变成未经授权的。

到此为止,已经提供了签署者或配方审阅者或批准者的增加、删除和修改。所述的例程或实施结合这些例程所述功能的例程可在图1的工作站14和/或终端32中任意一个内实现。

前述的图形和描述已经属于签署者的指定,而图12-16属于可由签署者执行的审阅、批准或拒绝过程。在图12-16所示的例程和用户界面可在图1的终端32和/或工作站14上执行。特别地,存储器20和34的一个或多个可存储指令,由处理器21和36的一个或多个执行该指令以执行在例程中程序块代表的操作。

现在转到图12,配方授权例程500开始执行于程序块502,显示与正在审阅的配方相关的签署者和状态信息。例如,图13的用户界面504可包括一文本框506,具有多个列508-518,可代表签署者身份、状态、用户类型、时间、注释和节点。签署者列508列出为了配方的批准所请求的签署者,以及状态列510列出对应每个签署者的签署状态。例如,签署状态可以是空白的或未决的、批准的或拒绝的,在其中一个空白状态或未决状态可代表该签署者还没有审阅配方。用户列512列出为最近的签署变化负责的用户类型。时间列514列出时间,在此时间发生最近的签署变化。注释列516列出由签署者所做的任何注释,当在他们批准或拒绝配方时;以及节点518代表系统节点,在此节点签署者批准或拒绝配方。例如,节点可以是图1的终端32和/或工作站14的任意一台。除文本框506之外,用户界面504可包括关闭(close)、批准(approve)、拒绝(reject)和清除(clear)界面按钮520-526,它们将结合图12的配方授权例程500描述。

在程序块502显示签署者和状态信息之后,程序块530接收签署者选择,可由用户通过选择界面按钮520-526的任意一个指明所做的选择。特别地,如果用户按动关闭(close)界面按钮520,配方授权例程500的控制从程序块530传送至程序块540,关闭用户界面504,结束配方授权例程500的执行并将控制返回至任何调用配方授权例程500的例程。

做为选择,如果用户按动批准(approve)界面按钮522,控制从程序块530传送至程序块550,它代表一个批准例程。如图14所示,批准例程550开始执行于程序块552,接收由用户提供的用户名和密码。一个用户界面554,这是图15所示的一个实例,可包括用户名和密码框556和558,用户可向它们输入他们的用户名和密码。

在程序块552已经完成执行之后,控制传送至程序块560,接收在批准期间所做的用户注释。例如,图15的用户界面554可包括一文本框562,可在此框中键入注释。在程序块560完成执行之后,程序块561确定用户是否是经授权的。在程序块561所执行的授权检查可验证在方框552所收到的用户名和/或密码是有效的和/或与那个用户名和密码关联的用户是否被授权以进行这样一个批准。如果在程序块561确定用户是经授权的,然后控制传送至程序块566。程序块566更新状态信息以反映批准。例如,文本框562包括文本注释“This oneis ready for production”,它也被反映在图13中,作为由生产(production)签署者在执行程序块566后批准配方时所作的注释。如果在程序块561确定在程序块552所收到的用户名和密码之一或两者没有是未经授权的,则随后批准例程550结束。

如结合前面的许多用户界面屏幕所述,图15的用户界面包括确定(ok)和取消(cancel)界面按钮568和570,它们可用于结束批准例程550的执行,同时保存或放弃在该例程执行期间所做的修改。另外,如图15所示,可提供一检查框572以使用户选择将批准传播至任何包含的或子配方。

回到图12和13,如果用户按动图13的拒绝界面按钮524,控制从程序块530传送至配方授权例程的程序块580。程序块580代表拒绝例程,在图16中可得到它的进一步细节。如图16所示,拒绝例程580开始执行于程序块582,在这里用户在控制传送至程序块584之前输入用户姓名和密码。在程序块584,签署者可输入在拒绝配方的过程期间所作的注释。程序块582和584的操作与在图14所示的程序块552和560的操作相似,除了程序块582和584是结合拒绝配方所使用的。在程序块584完成执行之后,控制传送至程序块585,执行与在图15所示的程序块561所执行的相似的授权检查。如果在程序块585确定用户是经授权的,则随后控制传送至程序块586。

程序块586更新状态信息,以反映用户对配方的拒绝。更新状态信息程序块586可生成信息,该信息将被反映在图13的用户界面504中以反映一个签署者已经拒绝一个配方的事实。虽然拒绝例程580没有显示在图形中,它也可使用与图15的用户界面554相似的用于批准配方的图形用户界面。

再次回到图12和13,如果用户按动图13的清除(clear)界面按钮526,控制从程序块530传送至配方授权例程500的程序块590。程序块590可用于清除签署。例如,可由用户选择在图13中所示的签署者之一并使用界面按钮526清除之。不过,一旦配方已经被下载用于执行,例如,由控制器12(图1)或工作站14(图1),则批准签署的效果不能被收回。换句话说,一旦下载了配方(或任何其它软件对象),则不能清除或拒绝签署(即批准)。

前面的说明属于选择签署者和审阅配方,而用户界面600,如在图17中所示,可用于报告在过程控制系统10之内的配方的状态。例如,用户界面600可包括多个列602-610,分别代表配方名(recipe name)、生产(production)、工程(engineering)、质量保证(quality assurance)和组长(team leader)。简要地说,配方名列602列出所有未批准的配方,以及列604-610列出每个配方关于每个审阅者或审阅实体的状态。例如,名为“OP_CHARGE”的配方关于生产、工程、质量保证和组长的每一个是未定的。相反,生产、工程、质量保证和组长的每一个已经批准了“PRC_PAINT”配方,但质量保证还没有批准该配方。因此,“PRC_PAINT”配方还是没有被批准。用户界面600还可包括关闭(close)和打印(print)界面按钮612和614,可用于关闭用户界面600或打印用户界面600以显示包含在列602-610的信息。

一旦一个配方已经由所有签署者审阅并批准,该配方可被下载至或被执行于在图1所示的一或多个控制器12。下载例程630,如在图18中所示,是一个方法,通过它可执行下载。下载例程630开始执行于程序块632,产生下载脚本。在程序块632已经生成下载脚本之后,控制传送至程序块634,确定该配方是否没有被排除(check out)(即被登记(check in))或者是否该用户已经提供一个密钥,该密钥使一个配方能够被下载,即使该配方是被排除的。版本控制软件诸如在“Version Control and Audit Trail in a Process ControlSystem”所公开的软件可与下载例程630一起使用。如果程序块634确定该配方是被排除的并且没有提供密钥,控制传送至程序块636,取消下载并结束下载例程630的执行。做为选择,如果该配方没有被排除或如果已经提供密钥,控制从程序块634传送至程序块638,确定该配方是否被授权或者用户是否已经提供特殊的密钥,使未被授权的配方能够被下载。配方授权可包括,但不限于此,确保所有的签署者已经批准该配方。如果程序块638确定该配方是未被授权的并且没有提供密钥,控制传送至程序块636,在结束下载例程630之前取消下载。在选择中,如果程序块638确定配方是授权的或者如果已经提供了密钥,则控制传送至程序块640,设置下载标签。下载标签可以是一或多个附加在所下载的项上的注释陈述或其它相似的文本性信息,包括下载的时间、日期、版本和发起人(或用户)。另外,下载标签包括详细的正被下载的各个项(例如配方)的列表。可在图1的控制器12中具体化的配方然后被发送至实时系统,在程序块642中。在执行程序块642之后,下载例程630结束执行并将控制返回调用它的例程。

从前面的描述中,能够了解到一个目前没有被批准的软件对象不能由系统10下载或执行,直到与该软件对象关联的签署者或批准者已经批准该软件对象时。因此,一个新的软件对象或配方,例如,必须由预定的个人和/或其它实体的名单或组(例如由授权设置例程404所生成的个人和/或其它实体的名单)批准(图5)。另外,一个以前被批准的软件对象或配方被修改时自动地变成未经授权的,因此,必须由所有它对应的签署者或授权者(authorizer)重新批准以下载被修改的软件对象或配方,如由在图18的方框638和640的实例所示。

虽然已经描述了根据本发明的原则所构建的装置,本专利覆盖的范围并不仅限于此。相反,无论是文字上还是在等价原则下,此专利覆盖本发明构想的所有清楚地落入附加权利要求书范围的实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号