首页> 中国专利> 具有过程控制系统和安全系统的过程装置中的集成诊断法

具有过程控制系统和安全系统的过程装置中的集成诊断法

摘要

一种过程装置,包括与过程控制系统物理地和逻辑地集成的安全系统,使得安全系统和过程控制系统可以在过程装置内使用通用的通信、诊断和显示硬件和软件,同时在安全系统控制器和过程控制系统控制器之间仍提供功能的隔离。该集成的过程控制和安全系统对于安全系统和过程控制系统两者都采用了通用的数据通信结构,从而使应用程序可按相同方式,如采用相同的通信硬件和软件,向其中任一系统的设备发送数据或从其接收数据。然而,通用的数据通信结构被设置成,通过使用向设备发送的或从设备接收的消息内的标志、地址或其他字段,来区分过程控制系统设备和安全系统设备,这使得与过程控制系统相关联的数据能和与安全系统相关联的数据区分开来,从而使用户接口内的诊断应用程序可根据数据的来源(或目标)自动地区别性处理该数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-07-09

    授权

    授权

  • 2006-03-29

    实质审查的生效

    实质审查的生效

  • 2004-10-06

    公开

    公开

说明书

技术领域

本发明一般涉及在过程装置中使用的安全系统,更具体地,涉及到功能性地和逻辑地嵌入到或集成到过程装置的过程控制系统中的安全系统。

背景技术

过程控制系统,如在化工、石油或其他过程中使用的那些过程控制系统一样,典型地包括一个或多个过程控制器,它们通过模拟、数字或模拟/数字结合的总线、可通信地连接到至少一个主机或操作者工作站,以及连接到一个或多个现场装置。现场装置,例如可以是阀门、阀门定位器、开关和传送器(例如,温度、压力和流速传感器),在过程装置内执行多种功能,诸如打开或关闭阀门、测量过程参数。过程控制器接收指示由现场装置作出的过程测量的信号和/或其他与现场装置有关的信息,使用这个信息实现控制例行程序,然后并产生控制信号,在总线上发送到现场装置,以便控制过程的操作。来自现场装置和控制器的信息一般可由操作者工作站所执行的一个或多个应用程序所获得,从而使操作者执行有关过程的任何期望的功能,诸如对过程进行配置,观察过程的当前状态,修改过程的操作等。

此外,在许多过程中,提供了独立的安全系统,以便当可能导致或引起装置中的严重事故,诸如有毒化学品溢出,爆炸等的问题发生时,检测过程装置内的重要的有关安全的问题,并且自动地关闭阀门、从装置移去电源(power)、切换装置内的流程(flow)等。这些安全系统一般具有一个或多个独立的控制器,它们独立于过程控制系统控制器,并通过设置在过程装置内的独立总线或通信线,连接到安全现场装置上。安全控制器使用安全现场装置来检测与重大事件相关联的过程状态,诸如某些安全开关或关闭阀门的位置、过程中的溢流或潜流、重要能源产生或控制装置的操作、故障检测装置的操作等,从而检测在过程装置内的“事件”。当检测到事件时,安全控制器就采取一些动作,来限制事件的危害作用,诸如关闭阀门、关掉装置、从部分装置撤去电源等等。

由于使用过程控制器来执行安全功能会导致在那个过程控制器发生故障时,安全功能和过程控制功能同时失灵,因此将过程控制器和安全控制器之间进行隔离被认为是重要的(且常常由可采用的政府标准所指令)。然而,在过程控制器由于过程在某一时刻部分或全部失控而发生故障时,安全功能就变得极为关键。

在过程装置中,在过程控制器与安全控制器之间的隔离已经会导致这些由不同人员正在采用不同的硬件和软件来开发这些系统。实际上,在某些情况下,由于安全系统不使用过程控制系统硬件和软件构架,因此,在相同过程装置中的不同位置处,诸如不同节点处,会采用不同的并且完全不相连的安全系统硬件和软件。在任何事件中,过程控制系统和安全系统之间的隔离都会导致在同一装置中,必须独立地对许多不同的和互不相连的安全系统进行配置和监控。结果是,通常都要使用不同的通信构架,以便利用正在用来配置和监控这些独立的系统的不同的配置和诊断应用程序以及工作站来实现同一装置中的这些不同的系统。类似地,通常还需要不同的人员来针对这些不同的系统进行配置、诊断和监控活动,所有这些都会导致在配置和运行其中使用了安全系统的过程装置方面付出额外的成本。此外,由于安全系统的配置和诊断软件与控制系统的配置和诊断软件不同,一般必须分别对人员进行关于这些不同的软件程序的培训,从而导致培训时间的延长。

在过去,人们多方努力试图来将来自同一装置中的过程控制和安全系统的数据集成到同一用户接口上,从而提供在同一位置对这些不同数据的观察和操作。然而,这种集成一般要在将传统的控制系统配置、观察和诊断应用程序用作基本的软件平台,然后再将安全系统数据输入到控制系统软件之后,才能进行。不幸的是,传统的控制系统没有提供将安全系统数据和控制系统数据区分开来的灵活性。结果是,一旦将安全系统信息集成到控制系统应用程序中,显示给用户的安全系统值会表现得与显示给用户的控制系统值一样,这使得追踪或区分安全系统数据变得困难。

此外,这些集成的显示系统一般还需要将安全系统数据映射到控制系统配置中,以便使用户能理解安全系统数据相对于控制系统硬件的起源处。在这些情况中,由于使用了不同的结构来定义与两个系统相关联的数据(或指示数据的来源或目的地的标记),所以利用用户接口内的独立软件来映射在两个系统之间的数据。这些数据映射技术需要附加的用户编程来设置并维护,并且可能由于映射功能所引入的错误而导致的错误数据。

更进一步地,要试图将安全系统数据集成到传统的控制系统应用程序中,系统中的安全问题也变得更难处理。尽管一些用户接口或人机接口(HMI)产品(与控制系统相对的)能够提供关于单独的HMI数据值/标记的唯一安全保证,但是还必须在HMI内安装附加的用户程序来确保每一个值和/或标记按来自于安全系统而被正确地标记,从而确保调用这个安全程序。因为其依赖个人对HMI的编制和维护,才能确保所有来自安全系统的值被正确地映射到控制系统接口中,所以该功能本身更倾向于出现错误,因而安全性更低。此外,如此的映射技术使HMI安全更重要,这也使安全仪表系统复杂化,使测试和检验整体安全水平变得更为困难。

结果是,这些已知的用户接口集成系统缺少直接将安全仪表系统的读出和写入值放置到用户画面上、而无需在控制和安全系统配置之间的映射、或无需位于安全系统控制器中的特定安全仪表控制逻辑的能力,其中所述特定安全仪表控制逻辑在操作者界面和安全仪表系统逻辑之间建立一道“防火墙”,从而防止未经授权的对安全仪表系统的写入。此外,这些已知的集成用户接口系统缺少安全写入机制,该机制确保在写入到安全仪表系统期间,输入值或路径不发生讹误(corruption),还缺少建立到控制系统中的唯一的安全保证,该安全保证可确保所有对安全仪表系统的值的写入都需要特定的权限,而不管是从过程图还是从能向安全仪表系统中写入值的任何其他应用。

此外,一般使用存储在过程装置内的独立位置的不同的配置应用程序来创建和浏览安全系统和控制系统的配置,在安全系统配置数据和过程控制系统配置数据之间只有很少或甚至没有交互作用(相互连接)。结果是,对于用户来说,要以集成方式来观察或了解控制系统和安全系统的配置是很困难的,例如,以展示或显示两个系统彼此交互作用的方法或在装置内物理地和逻辑地相互连接与不同系统相关联的装置和逻辑的方法的方式。

同样地,与控制和安全系统相关联的诊断应用程序,诸如报警、测试和其他诊断工具,在许多情况下也都是被独立地执行,这使得对于单个用户来说,要理解一个系统中的问题是怎样影响或涉及其他系统内的问题是困难的。此外,这些独立的诊断应用程序已经导致了与不同系统相关联的报警和其他诊断数据一般是对于不同用户,在不同显示器上显示,或是在同一显示器上使用不同程序在不同时间显示。诊断数据的这种非集成的使用和显示使得对于整个装置的操作,以及在装置的操作期间中,安全系统与过程控制系统的交互作用的方式的了解变得更困难了。

尽管提供过程控制系统和安全系统报警的集成显示是已知的,如上所述,还必须将安全系统报警映射到过程控制系统的报警显示环境中,来作为过程控制系统报警。结果是,安全系统报警必须显示为过程控制系统报警,这使得报警显示的用户很难去容易地识别或区分安全系统报警与过程控制系统报警。此外,因为为了显示的目的而必须将安全系统报警转换成过程控制系统报警,所以转换的安全系统报警标有表示它们在过程控制系统内产生时间的时间标志,即,当报警由显示应用程序转换后,其时间标志不再表示这些报警在安全系统中实际检测出来的时间。结果是,与安全报警在安全系统中实际产生的时间有关的数据丢失了,造成用于报警记录、识别和响应目的的信息出错。

发明内容

一种过程装置,包括安全系统,该安全系统物理地和逻辑地集成到过程控制系统中,以这样的方式来允许安全系统和过程控制系统在过程装置中使用公共的通信、配置、诊断和显示硬件与软件,同时仍然提供在安全系统控制器和过程控制系统控制器之间的功能性隔离。正如一般地,独立的安全系统控制器通过安全通信构架连接到安全现场装置,同时过程控制系统控制器通过标准的控制系统总线或通信线连接到控制系统现场装置。然而,安全系统控制器可通过总线或其他通信信道来与过程控制系统控制器进行通信联接,并且每个控制器都通过通用的通信网络,与过程装置内的一个或多个操作者工作站相连接,这使得操作者工作站内的软件能够既与过程控制系统控制器(和相关的过程控制现场装置)也与安全系统控制器(和相关的安全现场装置)进行通信、对其配置和观察其操作。

这一集成包括,对安全系统和过程控制系统使用通用的数据通信结构,使得应用程序能够以同样的方式,即采用同样的通信硬件和软件,来向两个系统的任一个系统中的装置发送数据和从其接收数据。然而,通用的数据通信结构可以通过使用在向装置发送或从其接收的消息内的标志、地址或其他字段,来将过程控制装置和安全装置区分开来,这使得与过程控制系统相关联的数据能与跟安全系统相关联的数据区分开来,从而使用户接口内的应用程序能自动地根据数据的来源(或目的地)来有区别地处理这个数据。

在一个例子中,显示、配置、控制和诊断应用程序能够向过程控制系统设备以及安全系统设备写入需要其执行的(或读出从其产生的)内容,同时根据对安全系统设备的写入,自动地执行安全例行程序,而该对安全系统设备的写入对于写入到过程控制系统设备则是不需要的,反之亦然。然而,这些写入可以根据要写入的数据在显示器内所放置的显示器的字段,从同一显示器上来区分是写入到安全系统的还是写入到过程控制系统的。以同样的方式,显示、配置、控制和诊断应用程序可向任一系统写入数据,而无需从过程控制系统向安全系统或从安全系统向过程控制系统来映射数据。

此外,配置和诊断程序可为在过程装置内,对过程控制系统和安全系统进行配置和诊断活动提供通用的接口。特别是,配置应用程序可使用户对过程控制系统和安全系统之一或两者进行配置,并还可利用过程控制系统设备(逻辑)和安全系统设备(逻辑)之间已知的关联,来将配置信息存储到通用的数据库中,从而使得更容易理解控制系统配置和安全系统配置之间的相互关系。更进一步地,通用的配置屏幕既可以显示过程控制系统配置信息,也可以显示安全系统配置信息,并且在这些系统之一中所产生的数据可用于这些系统中另一个的配置或实现,而无需执行单独的映射例行程序。这个通用或集成配置应用程序使得采用单一的配置应用程序对整个装置进行配置变得容易了,而且,其还可不需要对同一或个别的用户进行不同配置应用程序的培训。

类似地,也可采用来自过程控制系统和安全系统的数据来对诊断应用程序进行编程,使其执行集成的诊断,而不会失去对诊断数据源的跟踪。例如,报警显示应用程序可用来在同一界面上显示过程控制系统报警和安全系统报警、按优先权排列报警、并提供一些在这些报警之间的相互关系的指示,举例来说,特定的过程控制系统报警在某种方式上是与特定的安全系统报警相关的。因为采用能够区分安全系统设备和过程控制系统设备的通用的通信格式来将报警发送到诊断应用程序中,所以诊断应用程序能检测出报警是在过程控制系统内产生的,还是在安全系统内产生的,从而可以显示两种类型的报警,而不会失去对这些报警所产生的时间和地点的跟踪。

附图说明

图1是一个示例性过程装置的方框图,该过程装置具有与过程控制系统集成在一起的安全系统,并包括接口、用于针对过程控制系统和安全系统提供集成的安全、配置和诊断活动的配置和诊断应用程序;

图2是多个安全系统控制器的方框图,该控制器通过第一通信网络彼此通信地连接,此外又通过第二和通用的通信网络与过程控制系统控制器和操作者界面(interface)相连;

图3是图1的配置应用程序所产生的屏幕显示的一个例子,其表示显示过程控制系统设备和安全系统设备两者的图1的过程装置的配置视图;

图4是图1的诊断应用程序的方框图,该诊断应用程序适于在单一用户界面中集成过程控制系统和安全系统报警的显示和操作;

图5表示图4的诊断应用程序所产生的报警屏幕的一个例子,其显示来自图1的过程控制系统和安全系统这两者的报警;

图6是设置在一个或多个图1的工作站内的安全应用程序的例子的方框图,该安全应用程序在向图1的过程控制系统设备和安全系统设备写入数据和从其读出数据时,自动地执行不同的安全规则;以及

图7表示操作者界面显示的一个例子,其能用图6的安全应用程序,对图1的过程控制系统和安全系统内的不同设备进行安全的写入和读取。

具体实施方式

现在参考图1,过程装置10包括集成了安全系统14(用虚线表示)的过程控制系统12,该过程控制系统12一般作为安全仪表系统(SIS)来进行操作,以便监视和超驰(override)由过程控制系统12所提供的控制,以便使过程装置10的可能的安全操作最大化。过程装置10还包括由装置工作人员,诸如过程控制操作员、维护人员、配置工程师等可进行访问的一个或多个主工作站、计算机或用户接口16(其可以是任何类型的个人电脑、工作站等)。在图1中所示的例子中,显示了通过公共的通信线或总线22来与两个独立的过程控制/安全控制节点18和20相连的并与配置数据库21也相连的三个用户接口16。可采用任何期望的基于总线的或不基于总线的硬件、采用任何期望的硬线的或无线的通信结构、以及采用任何期望的或适当的通信协议(诸如以太网协议)来实现通信网络22。

一般来说,过程装置10的节点18和20的每一个都包括通过设置在背板上的总线结构连接在一起的过程控制系统设备和安全系统设备,其中在背板中连接了不同的设备。图1说明了节点18,其包括过程控制器24(其可以是冗余控制器对)以及一个或多个过程控制系统输入/输出(I/O)装置28、30和32;同时说明了节点20,其包括过程控制器26(其可以是冗余控制器对),以及一个或多个过程控制系统I/O装置34和36。每个过程控制系统I/O装置28、30、32、34和36都通信地连接到一组与过程控制相关的现场装置上,如图1所示为现场装置40和42。过程控制器24和26、I/O装置28-36以及控制器现场装置40和42通常就构成了图1的过程控制系统12。

类似地,节点18包括一个或多个安全系统逻辑运算器(solver)50和52,同时节点20还包括安全系统逻辑运算器(solver)54和56。每个逻辑运算器(solver)50-56是具有处理器57的I/O装置(还可以不同地称为安全控制器),该处理器57执行在存储器中存储的安全逻辑模块58,并通信连接来向安全系统现场装置60和62提供控制信号和/或从其接收信号。此外,节点18和20的每一个都可以包括至少一个消息传播装置(MPD,Message PropagationDevice)70或72,它们通过环形总线连接74(图1中只表示了其中一部分)彼此通信地相互连接。安全系统逻辑运算器(solver)50-56、安全系统现场装置60和62,MPD 70和72,以及总线74通常构成了图1的安全系统14。

过程控制器24和26,只是以例子形式,可以是Emerson过程管理部所出售的DeltaVTM控制器,或任何其他期望类型的过程控制器,对过程控制器24和26进行编程,使其使用I/O装置28、30和32(对于控制器24)、I/O装置34和36(对于控制器26)以及现场装置40和42,来提供过程控制功能(使用通常所称的控制模块)。具体地,控制器24和36每一个都执行或监视存储在其中或其他与其相关联的一个或多个过程控制例行程序75(也称为控制模块),并与现场装置40和42以及工作站14进行通信,以任何期望的方式来控制过程10或过程10的一部分。现场装置40和42可以是任何期望类型的现场装置,诸如传感器、阀门、传送器、定位器等,并可以遵照任何期望的开放的、专有的或其他通信或编程协议,该协议包括,例如HART或4-20ma协议(如现场装置40所示),任何现场总线协议,诸如Foundation现场总线协议(如现场装置42所示),或CAN、Profibus、AS接口协议,等等。类似地,I/O装置28-36可以是使用任何适当通信协议的任何已知类型的过程控制I/O装置。

图1的安全逻辑运算器(solver)50-56可以是任何期望类型的安全系统控制装置,包括处理器57和存储器,该存储器存储适用于在处理器57中执行的安全逻辑模块58,以便通过使用安全现场装置60和62来提供与安全系统14相关联的控制功能。当然,安全现场装置60和62可以是遵照或使用诸如上面所提及的那些的任何已知类型或期望的通信协议的任何期望类型的现场装置。特别地,现场装置60和62可以是传统上由独立的、专用的有关安全的控制系统所控制的类型的有关安全的现场装置。在图1中所示的过程装置10中,安全现场装置60具体是采用专用的或点对点的通信协议,诸如HART或4-20ma协议,同时安全现场装置62如图所示采用总线通信协议,诸如现场总线协议。通常,作为安全系统14的部件使用的安全装置(安全系统逻辑运算器(控制器)50-56以及安全系统现场装置60和62)将被列为安全装置,这通常意味着这些装置必须经过评价(rating)例程(routine),来由适当的主体评价为安全装置。

在节点18和20的每一个中都使用了公共背板76(通过控制器24和26、I/O装置28-36、安全逻辑运算器50-56和MPD70和72用虚线所表示的),以便将控制器24和26连接到过程控制I/O卡28、30和32或34和36,同样也连接到安全逻辑运算器52和54或56和58,以及连接到MPD70或72。控制器24和26也通信连接到总线22,并作为总线判优器(bus arbitrator)来操作,使每个I/O装置28-36、逻辑运算器52-56以及MPD70和72通过总线22与任一工作站16进行通信。

正如将要了解的,节点18和20的每一个中都采用了背板76,使安全逻辑运算器50-56彼此进行本地通信,以便协调由这些装置的每一个所执行的安全功能,彼此交换数据,或执行其他综合功能。另一方面,运行MPD70和72使允许设置在装置10许多不同位置处的安全系统14的各部分仍可彼此进行通信,从而在过程装置10的不同节点处,提供已协调的安全操作。具体地,与总线74相连的MPD70和72能使与过程装置10的不同节点18和20相关联的安全逻辑运算器(solver)通信地级联在一起,使过程装置10中相关安全的功能根据所分配的优先权来进行级联。或者,在过程装置10内不同位置处的两个或更多有关安全的功能可以互锁或互联,而不需要向装置10的独立的物理区域或节点内的单独的安全现场装置运行一条专用线。换句话说,MPD70和72以及总线74的使用,允许配置工程师设计并配置安全系统14,该安全系统14本质上在过程装置10中是分布式的,但又具有其不同的部件相互通信连接,使与全异的(disparate)安全相关的硬件根据需要彼此进行通信。这一特征还提供了安全系统14的可扩展性,这是因为附加的安全逻辑运算器当其需要时或当新的过程控制节点加入到过程装置10中时,能够该附加的安全逻辑运算器加入到安全系统14中。

图2更详细地说明了过程装置10的节点18和20内部和之间的通信连接。一般说来,图2中所示的图1的部件周相同的参考标号来表示。然而,控制器24和26的每一个都在图2中作为冗余控制器对24A、24B以及26A和26B来说明,它们可使用任何标准的冗余技术。类似地,安全逻辑运算器50-56的每一个都表示成一对装置,在每一对中具有一级(primary)安全逻辑运算器50A、52A、54A和56A,以及二级安全逻辑运算器50B、52B、54B和56B。如将要了解的,每对安全逻辑运算器50-56连接到安全现场装置(图2中未说明),并可存储相同的安全逻辑模块58,以便在安全系统14内执行安全功能中使用。每对安全逻辑运算器50-56都包括在一级和二级逻辑运算器(solver)之间连接的专用总线50C、52C、54C和56C,以便提供逻辑运算器对之间的控制通信。一级和二级安全逻辑运算器最好同时运行和执行运算,这两套装置的输出可通过适当的总线50C、52C、54C和56C彼此进行通信和确认。如果希望的话,一级装置可包括表决逻辑,其根据一级和二级装置这两者的输出来确定安全逻辑运算器对的输出。或者,任何期望的或已知的冗余技术都可用于逻辑运算器对50-56。

此外,每一个MPD 70和72都图示为冗余对装置70A、70B和72A、72B,不同节点18和20的MPD与冗余对通过内部节点(inter-node)通信线或总线74相连接。尽管图1和图2说明仅在两节点18和20之间的通信互联,可以理解,单个或冗余对的MPD可被设置在过程装置10中的任何数量的不同节点中,并可在环形总线结构中彼此连接,以任何期望的方式提供内部节点通信。因为通常使用环形总线通信结构(尽管不是必须的),所以第一节点的MPD将连接到第二节点的MPD,该第二节点的MPD将连接到第三节点的MPD,以此类推,最后一个节点的MPD连接到第一节点的MPD,都是通过环形总线74。如果在过程装置10中只存在两个节点,如图1所示,节点20的MPD72A和72B的输出总线74就将直接连接到节点18的MPD70A和70B的输入处。

在说明了图1的控制器24、26以及工作站之间的连接以外,图2还详细地说明了背板76。具体地,在节点18处,控制器24A和24B通过最好是设置在背板76中的干线总线通信连接100连接到I/O装置28、30和32,连接到冗余对安全逻辑运算器50A、50B和52A、52B,并连接到冗余对MPD70A和70B。以同样的方式,在节点20处,控制器26A和26B通过设置在背板76中的干线总线通信连接102连接到I/O装置34和36,连接到安全逻辑运算器对54A、54B和56A、56B,并连接到冗余对MPD72A和72B。控制器24和26使用干线总线(railbus)连接100和102,来提供一端在工作站14和另一端在I/O装置28-36以及安全系统逻辑运算器50-56和MPD70和72之间的通信,同时提供一端在I/O装置28-36和另一端在安全系统逻辑运算器50-56和MPD70和72之间的通信。换句话说,干线总线的线路100和102用作通信网络,其使安全系统设备与过程控制系统设备在过程装置10内以较高的水平相集成,从而使得设置在工作站14内的相同的配置应用程序和显示应用程序可以对来自过程控制系统设备和安全系统设备这两者的信息进行通信、配置和显示。

此外,对于节点18所说明的,背板76包括一级点对点(P2P)总线104A,其将每个安全系统逻辑运算器50和52连接到一级MPD70A,同时二级P2P总线104B将每个安全系统逻辑运算器50和52连接到二级MPD70B。一级和二级P2P总线104A和104B是本地P2P总线,在单一背板76内的安全逻辑运算器之间,及其与相关的或连接到背板76的MPD70之间提供本地通信。以类似的方式,节点20包括一级点对点(P2P)总线106A,其提供每一个冗余对安全系统逻辑运算器54和56与一级MPD72A之间的连接,同时二级P2P总线106B将每一冗余对安全系统逻辑运算器54和56连接到二级MPD72B。一级和二级P2P总线106A和106B是本地P2P总线,其提供在节点20的背板76内的安全逻辑运算器和MPD72之间的本地通信。可以理解,本地一级和二级P2P总线104A、104B、106A、106B在各自背板76上所有有关安全的逻辑运算器50-56之间的冗余通信路径。如果需要的话,本地P2P总线104和106可作为广播总线来操作,这是因为其中每个连接到总线的安全逻辑运算器和MPD装置接收该总线上所有其他装置的传送,并且同一时刻只有一个装置可进行发送。当然,尽管图2只说明了在不同的节点18和20中连接到每一背板76的两组安全逻辑运算器,任何期望数量的安全逻辑运算器,其可以是冗余对逻辑运算器或单个(stand-alone)逻辑运算器,都可在节点18和20的每一个处连接到背板76(从而也能连接到本地P2P总线104或106上)。

如果需要的话,安全逻辑运算器可使用时分多路存取(TDMA)技术来共享本地P2P总线介质,在该技术中,特定背板上的所有本地安全逻辑运算器可彼此进行同步。在一种情况下,本地P2P总线104和106可使用RS485Manchester编码HDLC协议,带有例如2Mb/s的流量。该Manchester编码系统使线路以4Mb/s来驱动。这种给定的速率只是示例性的,还可以选择其他适当的速率和编码系统。此外,如果需要的话,每个特定背板上的本地安全逻辑运算器可根据其在背板76中的物理位置,来决定或分配其在背板76所使用的TDMA系统内的传送时段,这可以减少在特定节点中设置背板76所需要的配置步骤的数量。而且,背板76的一级和二级P2P总线104和106可支持任何希望的消息类型,本地P2P总线104和106的物理连接可设置于背板76内。

遥控P2P总线74最好使用环形拓扑网络使数据在过程装置10中不同节点、从而是设置在不同背板76中的安全逻辑运算器之间进行通信。MPD70和72负责在遥控P2P总线所构成的环形网络周围,进行消息传播,将消息从与MPD70和72同一背板上的安全逻辑运算器直接放置到环形网络74,再将环形网络74上、要提交给与MPD70和72同一背板上的安全逻辑运算器的消息,传递给安全逻辑运算器。尽管遥控P2P总线74上可传播任何数量的消息,在一个实施例中,在任何P2P总线周期期间可传播的最大消息数量是32。这些消息由1到32个独立的不同的安全逻辑运算器而来,包括节点18和20的背板76上的安全逻辑运算器50-56,以及过程装置10中通过环形总线74互连的其他节点的任何其他背板上的安全逻辑运算器。然而,由于环形总线74在这些装置之间提供的通信连接能够同步执行,该操作的结果就是,所有安全系统14中的安全逻辑运算器都可同步运行,即使其位于不同节点。环形总线74可采用任何预期类型的总线结构和协议,但最好采用10Base-T以太网协议的点对点双绞线,或具有10Mbit/sec传输速率的光缆和10base-F以太网协议。

再次参照图1,每个工作站16包括处理器77和存储器78,存储适合由处理器77执行的、任何数量的用户接口、配置、诊断和/或观察程序。配置程序80和诊断程序82在图1中以分解图来表示,表示存储在一个工作站16中,同时表示了用户接口或显示程序85存储在第二个工作站16中。然而,如果需要的话,这些程序可以在与过程装置10相关联的其他计算机中,或不同工作站16中存储并执行。一般来说,配置程序80为配置工程师提供配置消息,使配置工程师对过程装置10的一些或所有元件进行配置,并在配置数据库21中存储该配置。作为配置程序80所执行的配置活动的一部分,配置工程师可为过程控制器24和26创建控制程序或控制模块,可为任何及所有安全逻辑运算器50-56创建安全逻辑模块58,可通过总线22和控制器24和26下载这些不同的控制和安全模块到适当的一个过程控制器24和26以及安全逻辑运算器50-56中。类似地,配置程序80可用来创建和下载其他程序和逻辑到I/O装置28-36,到任何现场装置40,42,60和62等。可以理解的是,对于独立的过程控制和安全系统,这些过程控制和安全控制模块可独立于执行这些模块的装置而创建,并可通过彼此直接相互关联而通信连接,从而过程控制系统逻辑和安全系统逻辑在分配给特定装置之前就可彼此通信。这一特征使过程控制系统和安全系统模块作为模板来创建和存储,当过程装置内的设备改变、移走等之后,为这些模块提供了更方便的可移植性,并在与这些系统相关联的物理装置到位之前就一般性地完成过程控制系统12和安全系统14的逻辑配置。

相反地,诊断程序82可用来为用户,例如过程控制操作员、安全操作员等,提供一个或多个显示,它包括有关过程控制系统12和安全系统14状态的消息,根据需要在独立的视图或同一视图中显示。例如,诊断程序82可以是报警显示程序,它为操作员接收和显示报警指示。如果需要的话,这一种报警显示程序可采用名为“包括报警优先权调整的过程控制系统”的5768119A号美国专利以及名为“过程控制网络中的集成的报警显示”的09/707,580号美国专利申请所公开的形式,二者都转让给了本专利的受让人,从而在此描述性地包含,以作为参考文献。然而,可以理解,这些专利的报警显示或报警栏可在集成的报警显示画面中接收来自过程控制系统12以及安全控制系统14的报警,同时通过将来自两个系统12和14的报警传送到执行报警显示程序的操作者工作站16,且这些报警作为来自不同类型装置的报警、包括作为来自过程控制系统或安全系统的报警,被识别。如果需要的话,一个操作者可采用与过程控制报警相同的方式来响应(如确认、禁止等)报警栏显示的安全报警。例如,操作者或用户可使用报警显示器的任何功能来确认安全报警、关闭安全报警等。这些动作利用总线22和背板76上的通信,发送消息到安全系统14内适当的安全逻辑装置50-56,从而使安全系统14针对该安全报警采取相应的动作。以类似的方式,其他诊断程序也可显示从过程控制系统12以及安全系统14所获得的诊断消息或数据,由于这两个系统采用了同样类型和种类的参数、保护及关联,使来自系统12和14之一的任何数据可集成到过去只为过程控制系统而设置的显示或观察画面中。

用户接口程序85可以是任何类型的接口,例如,使用户操纵数据值(如进行读出或写入),从而在其中之一或所有两个控制系统和安全系统中,改变控制或安全模块的操作,同时提供恰当的保护级别和类型。因而,举个例子,如果写入动作限定到与控制系统12相关联的控制模块,例如控制模块75之一,或现场装置42之一,那么,例如,程序85就执行恰当的保护进程,使该写入动作发生。另一方面,如果写入动作限定到与安全系统14相关联的模块,如模块58之一,或现场装置62之一,那么,例如,程序85就执行恰当的保护措施和进程,使该写入动作发生,且如果满足保护条件,则发送写入指令到适当的安全装置,而不需要在安全系统控制器50-56中设置另外的防火墙。

在任何过程中,程序80、82和85可发送独立的配置、诊断和其他信号到各过程控制器24和26以及各安全系统逻辑运算器50-56,并从其接收数据。这些信号可包括与控制相关过程控制现场装置40和42的控制和操作参数有关的过程级消息,还可包括与安全相关联的现场装置60和62的控制和操作参数有关的安全级消息,还可包括与特定装置相关联的装置级消息,既包括过程控制系统设备也包括安全系统设备。安全逻辑运算器50-56可进行编程,来识别过程级消息和安全级消息,同时安全逻辑运算器50-56还能区分两种类型的消息,并不能够由过程级配置信号所命令或作用。举一个例子,传送给过程控制系统设备的指令消息可包括某些字段或地址,它们可由安全系统设备识别,并防止这些消息用于对安全系统设备的命令。特别的,发送到例如安全系统逻辑装置50-56之一的安全系统装置或程序的,或从其接收的标签(例如路径名)或地址,可以包括专门的字段或头,标志与安全系统14相关联的装置或单元。如果在这种情况,嵌入在所有程序中的写保护软件可决定什么时候要对安全系统部件写入与数据相关联的标签或地址。当保护软件确定安全系统需要写入(或读出)时,保护程序可自动执行预期的保护进程,如检查密码、验证用户,来确定该用户具有向安全系统设备或逻辑单元写入(或读出)所需的权限。

如果需要的话,安全逻辑运算器50-56可采用与过程控制I/O卡28-36所用硬件和软件相比、相同的或不同的硬件或软件设计。然而,对过程控制系统12内设备和安全系统14内设备采用互换技术可以最小化或消除一般原因的硬件或软件故障。

安全系统设备,包括逻辑运算器50-56,还可采用任何预期的隔离和保护技术,来降低或消除对其所执行的相关安全功能作出未经许可改变的机率。例如,安全逻辑运算器50-56和配置程序80需要具有特定权限级别的人员,或处于特定工作站的人员来改变逻辑运算器50-56内的安全模块,该权限级别或所处位置与由控制器24和26以及I/O装置28-36来执行的改变过程控制功能所需的权限或访问级别是不同的。在这种情况,只有安全软件中指定的人员、或位于有权修改安全系统14的工作站的人员,才有权力更改相关安全功能,这使得安全系统14操作发生讹误的几率实现最小化。可以理解的是,要实现该保护,安全逻辑运算器50-56内的处理器可评估进入消息的适当形式和安全性,并在安全逻辑运算器50-56内执行的安全级控制模块58被修改时,作为监视程序。另外,正如以下所具体描述的,为安全逻辑运算器50-56产生消息的程序可执行保护过程,当用户的保护级不足以向安全系统设备写入或读出时,拒绝发送消息。

这样,如果希望的话,一旦相关安全功能在逻辑运算器50-56内启动,就无法通过不具有适当访问特权的操作者工作站16来改变安全功能的状态,这使与过程控制系统12相关联的通信结构可用来对安全系统14提供初始化,并用来提供安全系统14操作的运行时间报告,但过程控制系统12与安全系统14却仍隔离,在一方面来说,即对过程控制系统12的改变不会影响安全系统14的操作。

图3表示了由图1配置程序所产生的显示屏幕183,描述了配置内容,其中安全系统14(包括逻辑运算器50-5和安全现场装置60、62)与过程控制系统12集成在一起。可以理解,图3的配置显示屏幕183表示了配置程序80对过程装置10内不同设备的相关软件进行配置的方式,且配置程序可由配置工程师来使用,通过下载新的配置软件到过程装置10内的设备,包括过程控制系统设备和安全系统设备,来创建或更改过程装置10的当前配置。

如显示屏幕183所示,过程装置10包括:物理网络部分184,用来显示过程装置10内设备的物理连接;以及安全网络部分185,用来配置安全系统设备。物理网络部分184包括具有控制器187(命名为CTLR1)的控制网络部分186。控制器187可以是图1控制器24、26中的一个,包括一组存储在控制器187中、并由其所执行的控制模块188,还包括I/O装置部分189,与控制器187相连,用作通信目的。I/O装置部分189被放大,表示了通过图1的一个背板76连接到控制器187(CTRL1)上的所有卡190。在该例子中,I/O装置部分189包括过程控制输入/输出卡C01-C05,C11-C15和C21。每个这些卡都可放大,能表示出与各卡相连的不同的现场装置相关(图1的现场装置40和42中的各独立装置)的身份,及其他相关消息。类似地,要表示物理连接,两个安全系统卡C07(命名为”BLR1BMS”)和C017(尚未配置)都表示成明暗形式,在该部分不能放大,因为它们不能在控制网络中由其进行配置。然而,可以理解的是,与过程控制系统12相关联的装置可用屏幕183的控制网络部分186,通过在配置画面的该部分加入、删除或改变控制模块、I/O装置和/或现场装置来进行配置。

安全系统14在显示屏幕183的安全网络部分185中表示,包括三个安全逻辑运算器191-193,命名为BLR1BMS、BLR2BMS和LS1。类似地,如果需要,消息传送装置(如图1的MPD70和72)也可在安全网络部分185中表示。在屏幕183中,放大安全逻辑运算器191,以表示其包括了指定的安全模块、一个或多个通道(连接到图1的安全现场装置如装置60和62)和安全参数。每个这些元件都可在屏幕183部分进一步观察、加入、删除或改变,从而对安全系统14进行配置。具体地,安全系统14可用安全网络部分185,以类似于用控制网络部分186对过程控制网络12进行配置的方式,来进行配置和修改。实际上,可以理解,控制或安全模块可采用美国专利第5838563所描述的配置过程控制系统的方法,来创建并指定给各不同的控制和安全系统,该专利已转让给本专利的申请人,因而描述性地包含在此作为参考。

然而,一般来说,安全逻辑模块可从存储在配置库中的模块模板对象创建而来,并用来在特定的安全逻辑运算器中执行与过程装置10内特定的安全现场装置相关联的安全功能。要创建安全逻辑模块,安全工程师可拷贝特定的控制模板(既可用来创建过程控制器中的过程控制模块,也可用来创建安全逻辑运算器中的安全逻辑模块),来创建特定的安全逻辑模块,并可通过拖曳和拉出该安全逻辑模块到图3配置显示屏幕183内预期的安全逻辑运算器的指示条上或下面,来分配该安全逻辑模块到特定的安全元件,如安全逻辑运算器之一。在实现该公开系统的过程中,创建了安全工程师的新用户角色。在对安全系统14配置时,管理过程控制部分的配置工程师可以不具有配置安全模块的适当的权限,而安全模块的配置将由安全工程师来进行。这样,系统内的保护考虑到了独立的安全工程师和过程配置工程师的情况。

在一个特定例子中,安全工程师可通过从安全网络菜单(可以是,如弹出式、或下拉式)中选择增加逻辑运算器菜单选项(未示出)来在安全网络部分185下加入安全逻辑运算器。这时,具有下一个可用系统名的逻辑运算器在安全网络185下创建了。自动创建系统名可从如LS1开始,但也可以在过程装置10的配置系统内重新命名为任何全局(globally)的独特名称。图3表示了两个逻辑运算器被重命名,一个(LS1)未被重命名的情况。在这一点上,逻辑运算器仍为占位符,但并不绑定到物理逻辑运算器。此后,用户可从物理网络部分184下(如I/O部分189下的一个卡)拖曳和下拉逻辑运算器到安全网络部分185,来将特定的物理逻辑运算器(即一卡)绑定到创建的占位符中。一旦在安全网络部分185下特定的逻辑运算器被绑定,就对逻辑运算器进行配置变化,并在物理网络部分184所指定的特定的物理逻辑运算器上下载。进一步地,一旦绑定,安全网络部分185下的逻辑运算器在括号中显示物理路径。而物理网络部分184下的逻辑运算器(卡)则在括号中显示逻辑运算器名。该安全逻辑装置191和卡CO7以图3的方式绑定到一起。在物理网络部分184下的卡CO7分散表示其不能在过程控制网络部分186下进行配置,而必须通过安全网络部分185进行配置。更进一步的,安全网络部分185下的端口(Port)(现场总线)部分表示了现场总线端口,现场总线安全装置加入到该端口,或连接到安全逻辑单元或安全控制器191。

如果需要,绑定过程还可通过拖曳安全网络部分185下未绑定的逻辑运算器到物理网络部分184下未绑定的逻辑运算器,或者物理网络部分184下未绑定的逻辑运算器可拖曳或下拉到安全网络部分185下来执行。在任一情况下,将占位符绑定到物理逻辑运算器会在括号中产生表示的标记。当然,不支持拖曳或下拉在安全网络部分185下的占位符到控制网络部分中控制器下的I/O,事实上这是被保护系统所禁止的,这样就不可能在过程控制器I/O装置下产生逻辑运算器卡。这在过程控制装置和安全装置之间提供了功能性的隔离。低级别的安全元件,如安全现场装置,安全模块、参数等,可通过在屏幕显示183的适当位置放置(如拖曳或下拉)这些低级别元件的标志,来指定给或绑定到特定的安全逻辑运算器。

然而,可以理解,可采用类似的技术,用配置屏幕183对过程控制网络186进行配置,这样过程控制网络(系统)和安全系统可用同一程序来配置,从而确定过程控制网络内和安全网络内元件之间的相互关系。此外,由于配置程序80对过程控制网络186和安全网络185的配置采用了同一命名结构(在这些名称的字段中采用用来确定元件是与过程控制网络相关,还是与安全网络相关的变量),因此,所有其他程序就可根据与数据相关联的名称或标签,来方便地确定数据或信号是由过程控制元件产生或发送到其上,还是由安全元件产生并发送到其上。由于该通用配置和命名结构,数据不需要从安全系统映射到过程控制系统,反之亦然。替代性地,任何程序可从过程控制装置或安全系统设备中的任一个接收数据,并向其发送数据或指令(假定满足保护规则),还能够根据数据的名称或标签,或者数据被发送至的装置或逻辑元件的名称或标签,来了解该数据属于哪个系统。

此外,由于在过程控制系统设备和逻辑,以及安全系统逻辑和装置之前采用了通用的命名结构,且由于配置数据库为所有这些实体存储了数据,配置工程师可具有与安全逻辑模块相关联(通信)且反之亦然的过程控制模块,而无需进行任何映射。事实上,配置工程师可对安全逻辑模块进行配置,使其与过程控制逻辑模块相关联,反之亦然,它的方式与工程师使两个安全逻辑模块或两个过程控制模块彼此相关联的方式是相同的。正如已知的,这种关联可通过在图形配置屏幕上两个模块适当的输入和输出之间图形化地连线就可完成,或通过用适当的标签、名称、地址等人为地确定要关联的参数来完成。在一个实施例中,这种关联通过采用公知的名字、参数关联形式来进行。在这种情况下,模块或其他实体的名称、以及该实体的参数就被列为与两模块之间通信相关联的标签(路径)的一部分。

此外更进一步地,如果需要,与过程控制系统和安全系统相关联的配置数据,可存储在通用数据库(如图1的配置数据库21)中,还可以集成的方式存储在公共的数据库中,并可由单个程序,如配置程序80在任何预定的时间对其进行存取。另外,装置的不同部分的配置数据可分散开并存储在装置10的不同位置。例如,图1装置中节点18的配置数据(对于与节点18相关联的过程控制装置以及安全系统设备)可存储在节点18的控制器24中,作为数据库或存储器202,而图1装置中节点20的配置数据(对于与节点20相关联的过程控制装置以及安全系统设备)可存储在节点20的控制器26中,作为数据库或存储器204。

以这种方式,配置活动可由同一配置程序完成,来对与装置10相关联的过程控制网络12以及安全网络14进行配置,这两个系统的配置数据可集成到一起,表示过程控制系统的硬件、软件和安全系统的硬件、软件之间的相互关系。然而,由于采用了通用的配置模式,过程控制系统12和安全系统14内元件的命名和数据寻址可通过为向每个装置提供一个唯一的名称或地址来确定,这样安全系统部件(和数据)与过程控制系统部件(和数据)可以方便地区分开来。这因而也消除了映射的需要。可以理解,配置程序80对过程控制系统(及其中所有逻辑和物理实体)以及安全系统(及其中所有逻辑和物理实体)采用了通用的标签、命名、寻址和关联格式。

此外,所有只与位置(或区域)相关联的共享的配置和运行时间项对于过程控制系统和安全系统来说只需定义一次(并不是对各系统独立定义),因为过程控制模块和安全模块在同一区域内是绑定在一起的。这种绑定是逻辑的,因为每个区域都是既有过程控制系统设备(和逻辑)也有安全系统设备(和逻辑)的逻辑组。例如,在一个区域可以有多个锅炉,该区域可称为“BOILERS(锅炉)”。“BOILERS(锅炉)”区内的每个锅炉都有其自身的安全设备和逻辑,以及过程控制设备和逻辑。这样,通过使同一逻辑位置的安全模块作为“BOILERS(锅炉)”区中的过程模块,所有相关消息就可为用户保存在一起,并可通过单独的或公共的配置程序进行存取。如果需要,在该例子中,用户可以在“BOILERS(锅炉)”区加上另一名为UNITS(单元)的“目录式文件夹”(如图3所示的文件夹)。在该文件夹中,可以是与三个不同锅炉相关联的锅炉单元1(Boiler Unit1),锅炉单元2(Boiler Unit2)和锅炉单元3(Boiler Unit3)。同样,安全模块和过程控制模块都可放置在适当的锅炉单元(Boiler Unit)下,来表明哪些安全模块(和过程控制模块)用于哪些锅炉单元,从而在配置显示中提供进一步的间隔(granularity)。

因此,可以理解,安全仪表系统配置和过程控制系统配置可由同一工程应用程序来进行,它可以使配置浏览、管理、测试和备份等在一个单一的位置进行。更具体地,单一的的配置数据库管理程序,如备份配置数据库的备份程序、向配置数据库输入数据的输入程序、以及其他程序,在配置数据库内既可以用于过程控制系统数据也可以用于安全系统数据,从而减少了各独立系统所需的支持程序的数量。此外,装置10中具体部分(如区域)的安全仪表功能可以作为该部分(如区域)过程控制配置在同一位置上进行配置和保存。

因此,一个区域中来自过程控制和安全系统的所有相关消息都处于单一的位置,并使用同一个程序进行配置。更具体地,过程控制系统元件(如过程控制器24、26或现场装置40、42以及其中执行的模块或其他逻辑)和安全系统元件(如安全控制器50-56或安全现场装置60、62以及其中执行的模块或其他逻辑)可在一个区域内,用同一程序逻辑地配置在一起,而不用考虑该控制器是用来执行过程控制还是安全系统逻辑。因此,对过程控制系统和安全系统的配置逻辑可以在了解到有多少控制器、系统中的控制器所处的位置、以及逻辑被分配给哪个控制器之前,进行创建。由于这一事实,对于安全模块的配置来说,不需要了解过程控制系统的物理设计。这种基于逻辑而不是基于物理所进行的配置还使两系统之间的移植更为方便,响应过程装置内物理设计的改变、从而向逻辑运算器重新分配模块变得更容易,建立类库模板用来创建过程控制和安全安系统配置逻辑也更方便。此外,由于安全模块之间的关联通过安全模块名称/参数来进行,安全模块之间的通信可独立于安全模块所指定的逻辑运算器来进行配置。

如上所述,尽管过程控制和安全系统配置集成在一起,但配置程序具有保护措施,来限定可对过程控制和安全系统独立进行配置活动的用户。更具体地,配置程序80可设置成通过不同的用户帐号来访问,每个用户帐号与特定的用户实体相关。用户实体可以是一个或多个用户,在一些情况下,可以是独立于人类进行操作的应用程序。为了简便,在此认为用户和用户帐号是可互换的。

可以理解,每个用户帐号可具有或被分配到不同的访问特权,即针对过程控制系统和安全系统而规定的用户实体的权力。同一用户帐号对于过程控制系统配置功能和安全系统配置功能,可具有不同的访问特权,每个用户帐号可规定对过程控制系统和安全系统的访问级别,即使没有访问。如果需要,任何具体的用户帐号可具有访问特权,使用户实体只对过程控制系统采取一个或多个动作,只对安全系统采取一个或多个动作,或者既对过程控制也对安全系统采取一个或多个动作。此外,对于过程控制系统和安全系统可以规定不同级别的访问特权,例如,允许用户实体读出过程控制或安全系统数据的级别,允许用户写入或改变过程控制或安全系统参数或设定的级别,允许用户创建过程控制或安全系统模块或其他逻辑的级别,允许用户下载过程控制或安全系统模块到适当装置的级别,以及允许用户在一个或多个过程控制或安全系统设备上执行校准过程的级别。当然,任何用户实体都可给予其任何数量的、对于过程控制系统和安全系统全部或二者之一的这些访问特权,也可采用除了这里所列权限级别以外的,或将其取代的其他可能的权限级别。

这样,就可防止过程控制工程师对装置内的安全系统进行配置,同时防止安全工程师对装置内的过程控制系统进行配置。如上所述,对配置和运行时间权限进行用户保护的保护系统,可完全地集成到对于过程控制和安全系统的单一程序中(例如配置程序)。如上所述,可对用户帐号进行设置来限定特定用户在特定位置(或在特定程序内)所具有的权限。如果需要,控制的运行时间用户间隔可按区域定义,也可按过程控制和安全系统功能定义。这样,一个操作者可以访问一个或多个特定区域的安全系统以及过程控制系统,但不能访问其他区域的。以这种方式,可在用户和位置相结合的基础上进行保护。如果需要,保护还可根据执行配置程序的位置或计算机来进行,这样用户必须在特定的计算机上具有适当的访问特权,才能通过该计算机执行配置功能。

可以理解,安全系统配置活动可以规定成在图形显示中互联的逻辑元件(类似功能块或模块),以美国专利第5838563、5940294和6078320所公开的方式,所有这些都在此描述性地包含,作为参考。在这种情况,安全系统功能或逻辑(以安全系统模块的形式)可独立创建,而不必规定哪个实际的安全系统硬件将执行该逻辑,以及将使用哪条安全系统I/O通道。一旦限定了硬件和通道定义,就可采用简单的硬件和I/O分配操作(如图3配置屏幕上的拖曳和下拉操作)来对逻辑和硬件进行绑定。该操作使安全系统功能在安全系统之间具有高可移植性,并为安全系统14硬件位置和通道地址的设置提供了更高的灵活性。此外,类似于过程控制模块,安全系统逻辑模块可存储为库中的模板,从而使同一基本类型的安全模块可供装置中不同区域的类似设备或相同设备更易于重复使用。以这种方式,安全系统逻辑模板可复制到适当区域,并分配给安全系统硬件。

此外,由于安全系统一般要比其相关的过程控制系统小,因此,要从过程控制系统硬件和逻辑中轻松地找到并浏览安全系统逻辑和硬件,从而观察安全系统逻辑模块对安全系统硬件的分配是很重要的。如前所述关于图3的配置系统通过使安全系统14和过程控制系统12的配置消息分离,或处于配置图的不同标题栏下以区分二者。

此外,来自安全系统逻辑的消息一般在过程控制系统也是需要的,作为互锁的目的等。如前所示,这在传统上需要将安全系统的配置映射到过程控制系统的保持寄存器或其他已当定义的数据结构中,以便在控制策略中供过程控制系统使用。通过上述的集成配置,安全系统消息和数据很容易由过程控制系统逻辑所获得,无需映射数据,因为所有该数据和消息都提供和存储在一个集成的配置中,因而安全系统的数据可直接按照与数据从过程控制系统逻辑其他部分被使用的完全相同的方式,被过程控制系统逻辑所用。这一集成既减少了配置的时间,也降低了配置的复杂度,还有效地减少了与数据映射相关联的误差。

可以理解,安全系统设备的配置和状态数据也可集成在该单一的配置环境中。这既包括装置特定消息,也包括有关装置的控制系统消息,如装置报警配置。通过一些通信协议,如Foundation现场总线,控制消息可保存在其自身的现场装置中。如果想利用该消息作为安全系统功能的一部分,那么,对于理解该逻辑来说,在同一配置环境中具有该消息的能力是很重要的。此外,来自安全系统14的任何部分,包括传感器、执行器和逻辑运算器的状态消息可以适当地用于控制系统12或安全系统14。例如,可以根据装置的正常状况,使基于装置状况的表决系统降低级别,或对控制系统12中的互锁进行调整。这种过程控制系统12和安全系统14之间消息的共享,如果没有集成的配置环境,是很难实现的。

从上述讨论中可以理解,通过集成的配置,所有标签、参数关联、命名、保护等,都可从一个公共的数据库来进行配置。这使用户控制了在过程控制系统中为安全重要功能所提供的投资、培训。此外,通用的浏览视图(如图3中的,集中了过程控制装置和逻辑,以及安全系统设备和逻辑)可使用户很容易区分过程、装置和安全功能,从而为视图上的适当项目设置关联,清楚地区分与所选项目关联的指令等。此外,集成的体系提供了对标志项更方便的导航、搜索、报告等。在浏览者画面上设置优先选项可使用户不需要的功能隐藏起来。实际上,如果需要,每个用户或用户帐号可具有不同的优先选项,它影响了配置消息向该用户所显示的方式,配置消息包括过程控制系统配置消息和安全系统配置消息。

在配置活动以外,与过程控制系统12和安全系统14相关联的诊断活动也可集成在通用的程序和提供给用户的通用视图或显示中。具体地,图1的诊断程序82可提供诊断消息,并使用公共接口为过程控制系统12和安全系统14执行诊断活动。在一个例子中,诊断程序82可以是报警浏览程序,它接收任何类型的报警,如过程报警/报警信号,装置报警/报警信号,通信报警/报警信号等,它既是在过程控制器24和26内也是在安全逻辑运算器50-56内产生或检测到的。由于过程控制器24和26以及安全逻辑运算器50-56传送的消息当其与过程控制硬件/软件或安全系统硬件/软件相关联时,是可区分的,因此这些报警或报警信号可集成在公共的显示器上,或集成在公共的诊断程序中,同时又保持追踪并显示该报警源,而不管报警是安全系统报警还是过程控制系统报警,同时还保持追踪报警由过程控制系统12或安全系统14最初产生或标上时间戳的时间。

更具体地,由于图1的诊断程序82可以按前面对于配置程序80所讨论的同一方式来识别过程控制以及安全系统,因此也不需要将一种类型的报警映射为其他类型报警的显示结构。相反地,程序82可简单使用报警检测,以及由逻辑运算器50-56之一或过程控制器24和26之一创建报警消息时产生的时间戳,在用户接口上以任何方便的格式来显示该消息。然而,诊断程序82可对每个从过程控制系统硬件或安全系统硬件接收而来的报警应用一致的规则,来确定报警的优先权,控制报警的识别,并启动/关闭过程控制和安全系统报警的功能部件。

可以理解,要使报警集成,过程控制器24和26内的报警检测软件或逻辑就检测、标上时间戳,并发送报警给诊断程序82,和在通常的过程控制系统内一样。此外,安全逻辑控制器50-56内的报警检测软件或逻辑检测、标上时间戳,并发送报警消息到诊断程序82。过程控制报警消息(由控制器24和26发送)和安全系统报警报消息(由逻辑运算器50-56发送)的格式是类似的,二者有同样的或通用的格式,有时间戳字段、报警名称或类型字段等。此外,消息具有一些指示,如字段、地址或标签等,用于标志消息或报警是在过程控制系统,还是在安全系统设备中产生。诊断程序82于是可利用该指示在报警显示器上显示具体的报警是安全系统报警或过程控制系统报警。此外,诊断程序82可基于报警是安全系统报警或是过程控制系统报警,对所有报警提供不同的确认、观察和启动/关闭功能部件。例如,诊断程序82可根据报警是过程控制系统报警或是安全系统报警,将报警表示成不同色彩,处于显示的不同区域,或具有不同名称等等。类似地,诊断程序82可通过任何类目,如优先权、名称、类型和/或报警是安全系统报警或过程控制系统报警,来启动报警的过滤或分类。然而,诊断程序82可用一套通用的规则来对安全系统和过程控制系统报警(对于优先权)进行分类,来提供过程控制系统和安全系统中一致的报警类别。此外,报警的时间戳会反映其在过程控制系统12或安全系统14内首次检测到的时间,从而产生有关报警在过程控制和安全系统内何时产生的更好更精确的消息。

图4表示了一个运行在工作站16中,提供集成的过程控制和安全系统报警画面的诊断程序82的例子。一般来说,诊断程序82显示有关过程控制系统12和安全系统14的消息,根据操作者的理解或能力,来针对过程提供的报警,观察过程当前运行状态。可由程序82创建的一个显示例子在图5中表示出来,包括报警栏273,其中具有报警指示;还包括一级显示271,表示了过程装置的一部分,包括相对于报警栏中一个或多个报警、与过程装置的该部分相关联的过程控制和安全系统设备,以及其他设备。一级显示271可提供有关过程装置当前状态的消息,如罐中液体的液位,阀门和其他流体管线的流量特性,设备的设定,传感器的读数等。此外,该显示可指明安全装置的当前状态,如阀门、开关的关闭等。因此,可以理解,操作者可利用诊断程序82来观察过程装置10内的不同设备或不同部分,并且,在观察的同时,诊断程序82还与控制器24和26以及安全逻辑运算器50-56进行通信,必要的话,还与装置内的现场装置40、42、60和62以及任何其他装置进行通信,以获得过程装置产生的、或与其有关的相关数值、设定和测量值。

诊断程序82可进行配置,用来接收控制器24或26,I/O装置28-36,安全逻辑运算器50-56以及现场装置40、42、60和62中全部或其中一些的报警产生软件所产生的报警。此外,诊断程序82可接收不同类别的报警,包括,如过程报警(一般由过程控制软件模块或安全系统模块所产生,这些模块例如是由通信连接的功能块所构成,形成在过程运行期间所使用的过程控制和安全程序),硬件报警,例如,由控制器24或26,I/O装置30-36,安全逻辑运算器50-56以及其他工作站16等所产生的、属于这些装置的状态或功能条件的报警,以及由一些或所有现场装置40、42、60和62产生、表示有关这些装置的问题的装置报警。这些或其他报警类别可按任何预期方式产生。当然,诊断程序82除了可提供装置产生位置以外,即是在过程控制系统12中还是在安全系统14中,还可提供报警的类型(如过程报警、硬件报警和装置报警)。

如果需要,诊断程序82可基于一些因子接收并筛选报警。具体地,诊断程序82可根据运行程序82的工作站、登录到工作站的操作者或个人,以及操作员配置设置来筛选报警,操作员配置设置包括,如报警的类别、类型(过程、硬件、装置等)、优先权、状态、产生时间、来源(过程控制或安全系统)等。例如,程序82可筛选报警,并只显示来自装置某些区域或部分的报警,通过对运行程序82的工作站进行配置使其接收这些报警。也就是说,装置某些区域或部分的报警,可以不在某些工作站上显示,而是限定每个工作站只显示装置中一个或多个特定区域的报警。同样地,报警可通过操作者的识别来进行筛选。具体地,操作者可限制浏览某些类目、类型、优先权等的报警,或限制浏览来自装置一部分或一小部分(如区域)的报警。诊断程序82还可根据操作者的清理来筛选出要显示的报警。这些工作站和操作员筛选设置在此指的是工作站和操作员领域的控制,它可包括保护功能,使某些操作者可同时浏览和操作过程控制报警和安全系统报警,或只可浏览和操作二者之一。

诊断程序82还可筛选可视报警(即在工作站和操作员领域控制中的报警),根据操作者可配置设定,包括,如报警类别(即过程、装置或硬件报警)、报警类型(通信、故障、警告、维护等)报警优先权、报警所属的模块、装置、硬件、节点或区域,报警确认或取消与否、报警激活与否、报警是过程控制报警还是安全系统报警,等等。

再参照图4,诊断程序82表示成在图1的工作站16上执行,该工作站也存储并执行通信软件,如通信层或堆栈262,它通过以太网连接22与控制器24和26进行通信,接收控制器24和26、安全逻辑模块50-56、I/O装置28-36、现场装置40、42、60和62以及/或者其他工作站16所发送的信号。通信层262还对要传送给控制器、I/O装置、现场装置、安全逻辑运算器和其他工作站的消息,如报警确认信号,进行完全地格式化。通信软件262可以是如以太网通信当前所用的任何已知或需要的通信软件。当然,通信堆栈262可连接到在工作站16内运行的、执行其他功能的其他软件,如配置程序、诊断或其他过程程序、数据库管理程序等。

图4的诊断程序82包括报警处理单元24,它接收来自通信层262的报警,对该报警解码,并将解码后的报警存储在数据库266中。诊断程序82还包括筛选器268,报警处理单元264使用该筛选器来确定哪些报警要显示在与工作站16相关联的用户接口269(如CRT、LCD、LED,等离子显示、打印机等)上。筛选器268可将其设定存储在数据库266中,这些筛选器设定可由用户根据该用户的习惯进行预配置和/或修改。

一般地,筛选器设置可控制报警的分类和优先权,如果需要,可利用一些不同的规则来建立报警显示顺序。首先,工作站和操作员领域的控制,基于操作员标识和操作员所登录的工作站,报警是过程控制或安全系统报警,等等,会影响具体操作员所能看见的内容(在具体工作站上显示哪些报警)。在这种情况,可向每个工作站分配操作许可,没有操作员许可,报警消息和所有报警列表/概要显示都将为空,即报警处理单元264不会显示任何类别(过程、硬件或装置)、或来自任何起源(过程控制系统或安全系统)的启动或抑制的报警。而且,只有来自当前操作员领域(通常给操作员在装置区域中的至少一个保护锁)的装置区域的报警,出现在该工作站的报警显示中才是合法的。此外,只有来自装置区域和单元、没有用装置区域或单元筛选显示来“关闭”掉的报警信号出现在报警显示中才是合法的。以这种方式,筛选器268首先防止了工作站和操作员领域以外报警的显示,同时防止了来自已由操作员关闭的装置区域或单元的报警的显示。

在测试完报警对工作站和操作员领域控制的一致性以后,筛选器268接着根据操作员设定,包括,如报警类别、报警优先权、报警类型、报警的确认状态、报警的取消状态、报警时间、报警的活动状态、报警来源(即来自过程控制系统或安全系统)等,筛选出并确定出报警显示的顺序。接收到的报警,即用报警消息发送到程序82的报警,包括对应于每个这些值的参数,筛选器通过将报警的适当参数与筛选设定相比教,来筛选出要显示的报警。报警处理单元264可根据报警产生的地址、报警消息内的字段等检测出报警的来源。尽管操作员设定了通过筛选器268的报警的显示顺序,该顺序还可由预先配置的设定来确定,这使不同的报警能更一致地显示。

在任何过程中,操作员可根据操作员或用户最感兴趣的报警来源和/或报警类别来定制报警显示的方式,报警来源和/或类别可以是如过程报警、装置报警、或硬件报警中的一个或所有报警的类别,或者是如过程控制报警、安全系统报警中的一个或所有报警的来源,或者是两个或更多报警类别和来源的结合。用户还可控制报警如何表示报警以及为报警提供什么样的消息。以这种方式,诊断程序82可用来使一个人员就能执行安全操作员和过程控制操作员的操作。另外,在同一系统的不同时间,可用同一系统使过程控制操作员只观察过程控制报警,而安全操作员可观察安全报警。以这种方式,同一诊断程序可由不同类型的人员在同一时刻(在不同的工作站)使用,来观察与过程控制系统12和安全系统14的操作功能有关的报警的不同内容。

在报警处理单元264用筛选器268确定了哪个(些)报警应通过显示屏269显示给用户,以及报警应该以什么顺序显示之后,报警处理单元264将该消息提供给用户显示界面270,它可采用任何标准的或预期的操作系统来以任何预期的方式,在报警显示屏269上显示报警消息。当然,用户显示界面270还从数据库266或从通过通信层262接收的来自过程装置的其他通信信号处,获得了其他它所需要的消息,如有关过程控制系统12和安全系统14的设计或配置的消息,在这些系统中参数或信号值等。此外,用户显示界面270还接收来自用户要求的指令,如有关具体报警的更多消息、报警或筛选器设置的改变、新的报警显示等,将该消息提供给处理单元264,然后由处理单元采取需要的动作,为报警消息搜索数据库266,等等,从而通过显示屏269为用户提供新的报警画面。

如前所述,不同类别或来源的报警,包括过程控制报警和安全报警,被送到诊断程序82,或从诊断程序接收,以一些方便的消息格式供显示装置269可能的显示。因此,不同类别和类型的报警可集成在同一界面上,为操作者提供属于过程控制系统和安全系统故障操作的更多消息。通过在此描述的集成显示,操作者可在同一屏幕或显示器等上面观察实际的过程控制和安全系统报警,并可以同样的方式对各报警进行处理。

当然,在用户接口上以集成的方式来显示不同的过程控制和安全报警有多种方法。一个实施例中,对过程控制和安全系统报警的处理可类似于在显示器上对过程报警的传统处理方式。因此,操作者可按照与其确认或取消过程控制报警相同的方式来确认或取消安全报警。同样地,过程控制和安全系统报警可以按照表示报警的类型、优先权、名称、过程区段、状态等的方式来显示。此外,与报警相关联的一级显示可提供给用户,一级显示是用来显示给用户,帮助其理解或看见报警的来源、或有关报警的硬件和软件元件的功能,如报警产生或与报警相关的模块、过程环路、设备、节点、区域等。一级显示可以是,例如,设备的物理画面,设备所处空间或区域的数字图片或画面,与设备有关的其他消息,如装置画面、表示装置安装中设备连接的示意图或概念图等的一部分。报警的一级显示可由用户创建,并可如面向模块(对于过程报警)、面向装置(对于装置报警)以及面向节点(对于硬件报警)或面向与报警相关的装置的区域或区段。一级显示还可适合于不同功能。例如,过程报警一级显示可以面向过程操作功能,设备报警一级控制显示可以面向现场装置维护功能,而硬件一级控制显示可面向节点维护功能。硬件报警的一级显示可以是,例如,控制器所处位置的画面、表示了所有硬件报警状态的控制器I/O硬件示意图,定位到控制器所支持的单元视图或一级显示的按钮、维护过程列表等等。同样地,装置报警的一级显示可由用户创建,并可如面向装置维护功能。一级显示可存储在数据库266中(图4),并可在选中了使用该一级显示的报警时,在显示器269上访问和列出。当然,对于不同的报警可采用相同的或不同的一级显示。

在一个实施例中,集成的报警消息在显示器上,以例如在显示屏边缘处的报警栏的形式提供给用户。下面参考图5,报警栏273位于屏幕的底部。报警栏273包括第一行,显示由过程控制系统12和安全系统14所产生的、且通过筛选器268提供给显示的各种报警的指示。至少一个在报警栏273中指示的报警能与过程控制系统和安全系统在一级显示271中描绘的部分相关。报警栏273中显示的特定的报警和这些报警的顺序,根据筛选器268的筛选设定来决定。一般来说,还没有确认或抑制的最高优先级的报警首先显示,下一最高优先级的报警接着显示,以此类推。在图5的示例屏中,最高优先级报警274表示的是与名为PID101的控制程序相关联的过程控制报警。报警274用红色显示,来表示其优先级是很高的。在报警栏273的第二行,报警消息区276显示出与当前所选的报警栏273中报警相关联的报警消息。在图5的例子中,选择了过程控制报警274,报警消息区276就表示出,报警274于星期五12:52:19产生,与“罐16液位控制”相关,具有标号或名称“PID101/HI_HI_ALM”,具有高、高优先级,是重要报警。如果报警274闪烁,就意味着报警没有被确认,而在报警栏273中稳定的(不闪烁的)报警指示则意味着报警已由某些操作者或用户确认。当然,其他类型的报警消息也可在报警消息区276中显示。

当然,报警栏273中的其他报警指示,如报警指示278,可以是在过程装置的相关区域或区段,与安全系统设备相关联的安全系统报警。该安全系统报警可以是任何类型的报警,包括过程报警(由安全逻辑模块产生)、硬件报警(由安全逻辑运算器产生)和装置报警(由安全系统现场装置60、62之一产生)。这些其他报警指示可以是其他颜色,如黄色、紫色等,来表示与报警或其他报警源相关联的严重度或优先权的其他级别。在选择另一报警,如报警278、280、281或282时,属于该报警的报警消息会显示在报警消息区域276。观察报警栏273的报警,操作者可确认报警,并警告维护人员或工程师采取适当的动作来校正导致报警的状态,或另外地,可在过程控制系统或安全系统内采取其他适当的步骤,如重置某些给定值来缓和报警状态。当用来只显示过程控制报警时,图5的显示屏类似于当前DeltV控制系统中设置的已知操作员画面。然而,可以理解,图5的报警显示集成了过程控制系统报警和安全系统报警的显示和控制。

如前所示,通过选择报警栏273中的一个报警(如报警274),出现了该报警的一级显示271。具体地,如图5所示,屏幕的主体包括一级显示271或与过程装置内特定报警(所选择的报警)相关联的对应的硬件图。在图5的例子中,硬件包括通过各种阀门和流体流动管线,以及设置在其上的各种传感器相互连接的三个罐。该硬件图表示了过程装置一部分内的设备,并提供了有关一些设备操作的特定消息,如与罐、传感器等相关的某些值或参数。该描绘的设备可以是过程控制设备和安全系统设备或二者之一。当然,一些该消息可由存储在数据库266中的配置消息提供,或由过程控制系统和安全系统中的传感器信号提供。在后一种情况下,该消息通过通信层262传送上来,并通过任何已知或预期的软件提供给用户显示界面270。

此外,如图5所示,为PID控制单元(模块)描绘出“虚拟仪表”的面板272,作为报警栏内一个报警(在这种情况下,即过程控制报警274)的附加消息表示出来。面板272提供了属于所选过程控制报警的进一步的消息,并标志控制单元(模块PID101)的名称和与该模块相关的某些设置或参数。这种过程图形化描述的产生目前已用于过程控制报警,是本领域已知的,不再详细描述。只需说明的是,对过程装置部分或整体的这种、或任何其他预期的图形化或非图形化描述,都可显示在屏幕上,来使用户,如操作员观察过程装置任何部分的操作功能或硬件功能,包括过程控制系统实体和安全系统实体。当然,该显示器可描述出或用其他方式表示出独立的硬件单元、相关的硬件组、装置的部分或区域的方块图或其他图,等等。

再次参照图4,诊断程序82还可包括激活的报警汇总控制程序290和抑制的报警汇总控制292。这些程序可用来为用户提供显示,表示系统中当前激活报警或抑制报警的汇总。当然,这些汇总可以按任何方法或样式在显示屏269上构建或表示,可以理解这些汇总可将过程控制系统报警和安全系统报警在同一显示或列表中汇总到一起,或者如果需要的化,将其分开。当然,诊断程序82还可包括保护程序294,它执行适当的保护进程,决定用户是否可浏览和操作任何特定的报警。具体地,保护程序284可执行一组规则,该规则设计用来控制哪些用户可浏览过程控制和/或安全系统报警,哪些用户可通过确认这些报警、取消这些报警来对这些报警进行操作,等等。这样,保护程序294可允许特定用户来确认或取消某些过程控制报警而不是安全系统报警,允许另一用户来确认或取消某些安全系统报警而不是过程控制报警,并允许高级用户来确认或取消该两种类型的报警。当然,对于浏览过程控制和安全系统报警、确认这些报警、取消这些报警等,可建立和执行不同的规则或权限。如果需要,各种类型的报警可一起显示,这样,例如安全装置报警就可和过程控制装置报警一起显示,安全过程报警可以和过程控制系统过程报警一起显示,安全硬件报警可以和过程控制系统硬件报警一起显示。当然,这些不同的报警可根据报警类型和报警来源、或它们的任何组合,来一起浏览,或分开浏览。

此外,安全报警和事件可以与过程报警和事件一起,电子存储在同一数据库中,在存储到数据库中时,每个报警都被编上时间。因此,过程报警和事件的编上时间的历史记录与安全报警和事件的编上时间的历史记录与集成的数据库一起,可用来根据报警和其中发生的事件,来更方便地观察和决定过程控制系统12和安全系统14之间的相互作用。

可以理解,诊断程序82可使用上述关于配置程序80的同样的用户帐号和权限,来决定不同的诊断或报警浏览访问特权,这些权限能设定成允许不同用户个体根据报警类型、报警来源(过程控制或安全系统)等,来浏览、确认、关闭(启动或取消)报警。可以理解,一些用户只可浏览、确认或关闭过程控制系统报警,或只可浏览、确认或关闭安全系统报警,或二者皆可。此外,每个用户帐号可与优先选择联系在一起,从而根据对程序82进行访问的用户个体,使诊断(如报警浏览)程序82自动地提供不同的视图、筛选器设置等。

尽管将集成的报警(警告)浏览程序作为集成诊断程序82的例子进行了讨论,也可以使用其他类型的集成的诊断程序。具体地,诊断程序82可提供过程装置中区域、单元、装置、控制器、模块、逻辑单元等等,的分级视图,使用户获得装置内包含的任何诊断消息,如包含在装置内仪器或设备中的消息。这种分级视图可类似于图3的配置图,但对于每个与不同区域、单元等相关联的过程控制和安全系统,表示了不同的设备、模块等。利用该视图,用户可深入到过程区域、单元等,到达过程控制系统设备、模块、功能块等,或到达安全系统设备、模块、功能块,或二者兼到。在视图的任一点,用户能够访问或浏览当前从设备、模块、功能块等而来或与其有关的诊断数据,包括由设备、模块、功能块等自身产生的诊断数据,或使用其他工具,如与该实体相关的校准和测试工具(可以是硬件和软件工具),来确定的诊断数据。该诊断数据包括使用状况数据、模式和状态数据、当前设置或操作参数数据,或可从设备获得的任何其他数据。以这种方式,用户可利用诊断程序82来获得对过程控制系统设备和安全系统设备当前状态和使用状况的组合的、集成的了解,并通过通用程序甚至是通过通用显示屏,来实现对装置中诊断数据的访问。

此外,这种诊断程序82可提供汇总视图,包含了来自过程控制系统设备和/或安全系统设备的诊断数据。此外,集成的视图可向上滚动,从而可以汇总或组合的方式来浏览单元、区域等的诊断数据,因此利用来自该区域、单元等中的过程控制系统设备和安全系统设备的诊断数据,来确定有关该区域、单元等的全面集成。如果需要,诊断工具还可以存储在该诊断程序中,或由该诊断程序来执行。例如,控制回路调节器(例如,可以是用于安全系统控制回路或过程控制系统控制回路)可存储在诊断程序82中并在其中运行。当有关控制回路或模块的诊断数据表示控制回路缺少调节,或没有在预期的偏差内运行时,用户可选择运行该工具。其他诊断程序可包括用于任何类型的设备、逻辑模块等上的校准和测试工具。

此外,在工作站16(图1)中可运行通用的保护程序,来为该工作站提供保护,它只允许用户登录到该工作站一次(通过如用户帐号),并能够根据分配给用户个体和工作站16的优先级,来运行不同的程序,如配置/启动、下载、浏览和操作(即写入参数值)过程控制系统12和安全系统14或二者之一。通过通用保护程序的这种程序的集成,使用户更方便地管理综合功能(例如,在一个位置对报警优先级、安全性等进行配置),还可使用户更方便地扩展系统,修改系统(因为在重建系统时不需要映射了)以及升级系统(因为对于过程控制系统和安全系统可采用单一的同等的升级策略)。此外,用户可随着需求的增长,作为整体或部分地管理装置、控制系统和安全系统的升级。此外,用户不必分别地测试系统的不同部件,希望当所有部件到位时能够整体运行在一起,因为系统的集成特性使得对它们的配置、测试和诊断都是在一起进行的。

图6表示设置在图1的工作站16中的保护程序300,它可针对图1中集成的过程控制系统和安全系统内所发生的动作(如读和写),根据该动作(如读或写)是与过程控制系统装置相关还是与安全系统装置相关,来自动执行保护进程。尽管保护程序300表示成一个独立的程序,可以理解该程序可以包含到图1操作者工作站16(或任何其他计算机)所用的任何其他程序中,来确保以可靠的方式对安全系统14(如果需要,可以是过程控制系统)读出或写入。此外,尽管保护程序300可用作前述配置程序80和诊断程序82的一部分(如子程序),它还可用于任何用户接口程序85中,使用户对过程控制系统或安全系统进行修改或写入,或浏览有关这些系统的消息。此外,可以理解,保护程序300可相对于配置和诊断程序80和82建立并执行前面讨论过的用户帐号和访问特权。

图6中表示了保护程序300,如前面参照图4讨论的,在工作站16内,在通信层262和用户显示界面270之间通信连接,它包括保护单元301,针对向过程控制系统12或安全系统14的任何预期的读出或写入,执行保护进程。保护程序300可存储一组安全系统规则302和一组过程控制系统规则304,它们分别定义了执行对安全系统14和过程控制系统12读出或写入的保护的类型和性质。保护处理单元301可与用户显示界面270结合操作,来检测过程控制系统12和安全系统14内各元件的读出或写入需求。

根据来自用户显示界面270、属于请求读写活动的消息,保护处理单元301可利用起源/目标的源文件306来确定请求的读写是属于过程控制系统元件(或参数)还是安全系统元件(或参数)。起源/目标源文件306可简单地提供相关消息,即由用户接口产生的显示中的哪些区域对应于过程装置的哪些元件,且如果需要,还可存储与用户接口显示中显示区域的目标相关的标志或地址,从而使保护处理单元301确定用户显示屏上具体的动作或请求是关于过程控制系统元件的还是关于安全系统元件的。如果必需的话,保护处理单元301还可或另外采用存储在配置数据库310中的配置消息,来确定具体的元件是安全系统元件还是过程控制系统元件。在任何过程中,在确定了请求的动作属于过程控制系统元件或安全系统元件之后(且一般来说,是在确定了与请求读出或写入的该元件相关的地址或标志之后),保护处理单元301可存取安全规则302或过程控制规则304,来确定哪一个读或写是允许的,如果允许的话,针对该读或写执行哪些保护进程。

例如,利用用户显示269,用户可请求改变安全系统装置的一个参数,例如,与检测故障状态相关的设定值。保护处理单元301(通常与设计成允许这些写入的程序相结合,或作为该程序的一部分)将通过确定请求写入的参数的地址或标签,来确定该写入的目标文件。这样的地址或标签可以存储在起源/目标源文件306中,或通过其得出。根据地址或标签,保护处理单元301将确定该请求是对安全系统参数作出还是对过程控制系统参数作出。如果针对安全系统参数作出请求,保护处理单元301就采用安全规则数据库302中的规则,来确定该写入是否得到允许,即,用户是否具有适当的权力来对该单元写入。在一些情况中,用户接口程序可能已经了解了用户的身份,并通过将用户屏幕中部分变灰,来预先指明用户的写入能力为不能写入。其他情况中,在保护处理单元301的提示下,用户接口程序可在请求的写入动作之前,要求用户提供密码和用户身份,并通过核查该密码和身份以确定适当的权限。

另一方面,如果向过程控制系统请求写入,保护处理单元301可存取过程控制规则数据库304中的过程控制规则(或存取其中的优先权),并确定用户是否具有过程控制系统内适当的权限来进行请求的写入。可以理解,保护处理单元301可对于读和写执行相同的或不同的保护规则,也可以对过程控制系统元件和安全系统元件执行相同的或不同的保护动作。在任何事件中,当保护处理单元301确定该用户(除使用用户接口的人员以外,也可以是的一个程序)具有请求读或写的适当的权限后,保护处理单元301使通信层262发送适当的消息来对过程控制或安全系统设备进行读写。此外,保护处理单元301还可执行读或写所需要的任何其他保护进程(存储在数据库302或304中),如写认证进程、读写请求进程。

图7示意了简单的显示屏320,表示利用保护程序300所提供的保护,使用户对过程控制系统元件和安全系统元件进行读出或写入的用户接口。具体地,显示屏320的左手侧与针对具体的过程控制系统元件的过程控制系统读和写相关,而显示屏320的右手侧则与针对具体的安全系统元件的安全系统读和写相关。

如图7可以了解,用户(或隐含的程序)可浏览(读出)与名为CNTRLOOP1的过程控制系统控制回路相关的值,包括在该回路中当前测量的各种温度、压力和流量值。这些读数可以是不变的(非用户可变的),如显示320中区域321所示。此外,用户可浏览名为CNTRLOOP1的控制回路内当前的温度设定值和所用的控制器增益。如果需要,用户还可通过在区域322和324内输入与温度设定值和控制器增益相关的新的值,来改变这些值。

以类似的方式,用户可使用显示器320观察和修改属于安全系统元件的消息。具体地,屏幕320的右手侧表示与安全系统回路相关联的消息(例如,可以是与控制回路CNTRLOOP1所控制的硬件相关联的)。在这种情况,可以表示某些安全系统值,如关闭阀和压力开关的当前状态(如325处所示)。此外,在区域326和328可表示用户可配置安全系统参数,如名为罐1的罐关闭充满液位,以及名为罐1和罐2的两罐的关闭温度,在这片区域还允许用户修改这些参数。

一般来说,屏幕320的各区域与过程控制系统或安全系统内的地址或元件相关联,该关联可以存储在起源/目标源文件306中(图6)。在任何事件中,图6的保护程序300可用来在特定用户试图修改可写参数时,确保该用户具有级别和权限来执行该动作。这样,只有当用户或请求程序具有适当的权限或许可时,保护程序300才可访问并允许从过程控制或安全系统读出参数。由于使用了地址、标签或其他字段的通用的通信格式将过程控制系统元件从安全系统元件中区分出来,因此对于过程控制系统的读出和写入以及安全系统的读出和写入,保护程序300可轻易将其区分并执行独立的保护(根据屏幕320内的区域),从而使这些读出和写入可由通用的用户接口程序来进行。当然,保护程序300可结合用户接口程序运行,使显示器320上用户不具有读出或写入权限的区域变灰。尽管在此描述了保护程序300,作为对过程控制系统和安全系统(以及其中的装置和其他实体)的读和写的保护,可以理解,保护程序300还可对不同程序限制其他级别的访问,如允许或阻止逻辑模块、下载模块的产生,执行校准过程,观察、确认和启动/取消报警,等等。

可以理解,与过程控制系统值相比,用户保护对于安全系统值是独立定义的,在过程控制系统值以外,可越过过程控制系统值,对安全系统值进行在线用户修改上的附加保护,这些附加保护由安全规则数据库302和过程控制规则数据库304来限定(图6)。事实上,这是识别安全系统值和过程控制系统值之间差别的一种能力,这能够实现对安全系统值的单独处理。因此,通过保护程序300,任何程序可自动识别安全系统的读和写,并确保在改变过程装置10内的值时,提供恰当的保护以及写认证。该自动执行写保护的方法可用来保证送到安全控制器的写入值是有效的,从而消除了采用其它类型方案所需的大量的用户编程。

作为保护过程的一个例子,以下将更具体地描述一种进行安全写入的方法。作为背景,只要安全系统的操作参数发生改变,IEC61500标准都需要进行重复的确认步骤。如果确认其被定义为安全系统规则数据库302内要执行的安全系统写入中的一个步骤,保护处理单元301可自动执行该重复确认步骤。这样,利用规则数据库302,保护程序300可在对于安全系统的所有写入中执行重复的确认步骤(或任何其他进程),而不需要用户方任何附加的编程或特殊的配置。

IEC标准用一种方法表述,表示了一种期望,即防止操作者选择了错误的修改项,或不理解修改的过程意义,并有助于防止消息的讹误。要执行该标准,大多数已知的集成过程控制和安全系统需要从过程控制系统向安全系统映射数据,并在发送要改变安全系统的单个消息之前,在操作者图形内创建“是否确定”的对话框。

然而,以下将具体描述一种更安全的执行写保护特性的方法,它可用于所有程序,如操作程序、配置程序和诊断程序。值得注意的是,该技术或功能可应用于任何用户启动修改,或从任何应用程序对于安全逻辑运算器的动作,例如,可应用任何指令,如许可指令,下载指令,锁定指令,切换指令等,用于修改安全系统逻辑运算器的值。此外,以下描述的写保护作用可对在任意两个应用程序之间传送的任何消息执行,从而提供了更高级的保护,来防止突发性的破坏和未经授权的修改,如由黑客、病毒及类似物所引起的破坏。

要实现写保护作用,写保护服务器端350(图6)设置在主机16中,且如图1所示,写保护客户端360设置在过程控制系统控制器24和26中(称为控制器客户端360),写保护客户端380设置在安全逻辑运算器50-56中(称为逻辑运算器客户端370)。当用户或其它类型程序启动修改指令时,保护程序首先认证该用户(或程序)具有进行修改所需的访问特权或许可。如果是这样,写保护服务器端350和客户端360和370运行,来确保该用户试图进行修改,并确保在从主机16向控制器24或26,或从控制器24或26向安全逻辑运算器50-56的传送期间,该消息没有讹误。此外,写保护服务器端350和客户端360、370确保了该消息到达正确的目的地,同时防止了谬误产生的消息引起变化。

一般来说,从用户或其他类型程序收到修改指令后,写保护服务器端350将需要的数据,如目标文件、要修改的参数、值等,与该修改指令一起进行打包,并加入为该数据包或消息创建的循环冗余校验(CRC)字段。写保护服务器端350接着发送带有CRC的修改指令到接收该修改指令的适当的控制器客户端360,以确认该修改指令(且如果需要,可向写保护服务器端回送响应,具体内容是控制器客户端360作为修改消息所收到的消息)。写保护服务器端350显示修改的消息,如名称、项目描述符和向用户认证的需要修改的内容。如果需要,写保护服务器端350可使用来自发送到控制器客户端360的修改指令的修改数据,来确保用户对实际发送到控制器客户端360的消息进行认证。另一方面,如果控制器客户端360将控制器客户端360所收到的修改数据发送回写保护服务器端350,写保护服务器端350可向用户显示该消息以供确认。

写保护服务器端350可向用户显示修改的消息,通过如用户显示器上的对话框,使用户确认(通过选择对话框中的OK或确认按钮)该修改消息是正确的。在经过用户(或,如果需要的话,一个程序)认证之后,写保护服务器端350再发送第二修改指令(重复的修改指令)到控制器客户端360,内容是经过用户认证的修改内容。具体地,写保护服务器端350打包该修改指令数据(用户认证后的),包括,如目标文件、要修改的参数、值等,以及为该数据包或消息创建的CRC,并发送该第二修改指令到控制器客户端360。应该注意的是,如果没有发生任何讹误,第一修改指令(及CRC数据)与第二或重复修改指令(及其CRC数据)应该是相同的。

在收到第二或重复修改指令后,控制器客户端360比较第二修改指令和第一修改指令,来看它们是否相同(意味着没有发生讹误,用户确认了第一修改指令中提供的修改消息)。如果需要,控制器客户端360可简单地确定该两条修改消息是否相同或具有相同的CRC数据。另外,控制器客户端360可对消息解码来看修改消息是否每个都相同,尽管该操作在某些安全系统中是不允许的。如果消息或修改消息相同,控制器客户端360就发送修改请求给适当的逻辑运算器客户端370。如果需要,该修改请求可包括来自第一和第二修改指令的修改消息。另外,来自两条修改指令的CRC数据,以及来自一条指令,如第一修改指令的修改数据,可作为控制客户端360向逻辑运算器客户端370的修改请求的一部分来发送。

逻辑运算器客户端370接收修改请求,并对该请求解码,以确保修改请求发送到正确的位置,并且没有讹误。这些步骤可包括,校验一个或两个CRC数据包来确定CRC消息是否正确地对应压缩了的修改消息,确定CRC数据包是否相同(应该相同),并确定修改的目标文件是否位于或通过安全逻辑运算器。如果来自两条修改指令的修改消息处于同一消息中,逻辑运算器客户端则再次检验以确定修改消息相同,来确保在从控制器客户端360向逻辑运算器客户端370传送过程中没有发生讹误。如果逻辑运算器客户端370确定修改消息是正确的,则逻辑运算器客户端370可使逻辑运算器50-56执行修改,并向控制器客户端360发回修改已执行的确认。控制器客户端360可将该确认发送到写保护服务器端350,它再为用户显示修改已执行的确认。如果在过程任一处发生错误,逻辑运算器客户端370和/或控制器客户端360可告知写保护服务器端350该错误以及有关该错误的任何已知细节(如CRC不匹配,消息送到了不正确的目的地,等等)。写保护服务器端350于是可通知用户修改没有进行,并告知与写过程中发生的错误有关的需要的细节。

作为一个例子,用户可通过显示屏上的写保护对话框输入希望的修改。在确定用户是否有权修改之后,程序呼叫写保护服务器端350,传送路径、参数类型和当前值给写保护服务器端350。写保护服务器端接着产生带有指令(参数、改动)、路径、新的值和CRC的写保护请求,并发送该写保护请求给适当的过程控制系统控制器24或26。写保护服务器端350再创建确认对话框,具有用户使用的发送到控制器24或26上、经过CRC的数据的一个拷贝。对话框可表示路径和值,写保护服务器端350只有当修改指令已由适当的控制器24或26确认后,才使对话框中确认或OK按钮可用。在收到修改指令之后,控制器24或26内的控制器客户端360确认该修改指令,并将经过CRC的数据项存储在对应的模块或方块中。

到现在,用户认证了确认对话框中的值是正确的,并选择了确认或OK按钮。写保护服务器端350于是产生第二或重复修改指令(第二条消息),包含指令(参数、改动)、路径、来自确认对话框的值以及该数据的CRC,并发送该消息到控制器客户端360。过程控制器24、26接收第二或重复修改指令,并将本指令中经过CRC的数据项与早期存储的(与第一修改指令相关联的)相比。如果相同,该两项(例如,具有CRC的整个第一修改指令和第二修改指令的CRC)被放置到修改请求中,发送到适当的逻辑运算器50-56。因此,只有认证过的修改请求被发送到安全逻辑运算器50-56,这进一步降低了进行未授权修改的几率,且在控制器客户端可检测出由于控制网络通信、工作站问题或控制器问题而引起的任何讹误。

逻辑运算器客户端370接收修改指令并检验两个CRC匹配。逻辑运算器客户端370于是取出消息内的修改数据,并核实该数据的CRC。如果CRC是适当的的或正确的,则校验路径,来确保消息被送到正确的位置。后一个核实步骤保证了在控制器24、26到安全逻辑运算器50-56的通信路径中没有发生任何讹误。当逻辑运算器客户端370确认了所有校验是恰当的,该值就被写入到参数中,写的状态就被返回到控制器客户端360,接着控制器客户端可向写保护服务器端350提供确认消息,来显示给用户。

通过该过程,最初的请求和确认后的请求由人员、控制器和安全逻辑运算器所比较,这使该过程比其他只提供人为比较而没采用两次请求的已知方案更安全。事实上,其他产生重复消息的系统一般只在用户程序中作这种比较,通过在从用户接口机器上实际传送修改指令之前、用确认对话框提示用户。然而,这些系统只传送一条包含了要修改项的消息给安全装置。因此,这些已知技术并不能防止传送期间的讹误,或确保消息到达正确的目的地(如,当消息中的目标字段发生讹误时)。

尽管前面描述了从服务器端350到控制器客户端360、再到逻辑运算器客户端370的重复的写过程,可以理解,该过程包括的步骤可以更多或更少。如果采用了更多的步骤,第三和随后的步骤可在接收端类似于逻辑运算器客户端370地执行,而在发送端则类似于控制器客户端360地执行,直到最后阶段。如果使用较少的步骤,服务器端350仍应发送两条写指令,但如果客户端检测出二者是相同的话,客户端就执行该修改。此外,可以理解,服务器端350和客户端360和370可利用任何需要的通信和软件协议,在软件、硬件和固件中实现。

如前所示,来自和送入到安全系统设备及过程控制系统设备的消息,可通过与该设备相关联的地址或标签来检测。如果需要,各安全逻辑设备的源地址可从干线总线消息中获得,并由背板ID(BPID)以及插槽ID(SID)所构成,背板ID在每个节点是相同的,但在过程装置内是唯一的;插槽ID从节点到节点是重复的,但在节点内是唯一的。以这种方式,每个设备都有一个唯一的地址,从而可以作为安全系统设备或过程控制系统设备而区分开来。

尽管嵌入的安全系统可采用许多可能的消息结构或通信协议中的一种,在一个例子中可采用以下的消息结构。具体地,总线消息可一般包括三个基本部分,包括前同步码(如1字节)数据或消息部分(如129字节)以及后同步码(如1字节)。前同步码和后同步码部分是为硬件同步而设置地,同时数据部分包含表示了给定地址的实际消息。如果需要,还可在高级别消息结构的消息部分产生硬件位插入。

一般来说,一条消息的数据和消息部分可分成七个字段,其总长可达到给定程序的最大可能长度。例如,可以有138个可用字节(包括11字节的协议消耗)。消息部分可包括2字节的源地址、2字节的目标地址、1字节的类型字段、1字节的设备状态字段、1字节的长度字段、0-128字节的消息字段,以及4字节的提供循环冗余校验数据的CRC字段。例如,在使用这些字段的一种方式中,源地址字段包含发送设备的地址。高阶字节包含背板ID(BPID),低阶字节包含插槽ID(SID)。加电时,各安全逻辑运算器通过干线总线从控制器获得其完整的SOURCE ADDRESS(源地址)。SOURCE ADDRESS(源地址)的背板ID(BPID)部分设置成与控制器IP地址最右边八位字节相同。SOURCEADDRESS(源地址)的插槽ID(SID)部分来自过程控制器干线总线消息。最好地,各安全逻辑运算器不进行通信(发送或接收),直到它具有完整的SOURCEADDRESS(源地址)。

DESTINATION ADDRESS(目标地址)字段可包含目标装置的地址。高阶字节可包含BPID,低阶字节可包含目标的插槽ID(SID)。消息TYPE(类型)字段包括消息日期字段中包含的有关消息类型的消息。可以定义许多不同的消息类型。DEVICE STATUS(设备状态)字段适合于分割开,用来表示,例如诊断状态(表示无误差或有误差)、转接状态(表示不在进行中或在进行中)、控制器模式(表示正常模式或工程师模式)、安全关闭(trip)状态(表示未关闭或关闭)、冗余状态(表示未冗余或冗余)、配置状态(表示未配置或配置)、控制器类型(由逻辑运算器确定,表示等候或活动),以及模式(模式值通过总线来自控制器,表示工程师模式或正常模式)。

LENGTH(长度)字段可包含紧接着的MESSAGE DATA(消息数据)字段的字节长度,与消息相关。MESSAGE DATA(消息数据)字段是根据消息TYPE(类型)格式化的消息的负载,具有依赖于消息的长度。最后,CRC或循环冗余校验/码字段根据SOURCE ADDRESS(源地址)、TYPE(类型)、DEVICE STATUS(设备状态)、LENGTH(长度)和MESSAGE DATA(消息数据)字段来计算,仍然是与消息相关的。

一般来说,要在总线22(图1)上发送消息,控制器可在以太网IEEE802.3协议包的DATA(数据)部分内封装总线消息,它可包括,例如,7字节的前同步码,1字节的帧起始分隔符,6字节的目标地址,6字节的源地址,2字节的类型/长度字段,46-1500字节的数据字段以及4字节的帧校验序列字段。如已知的,帧由7字节的0和1交替的前同步码开始。当帧为Manchester编码,前同步码给如何锁定的接收站一种已知的模式。目标和源地址一般都是互不相关的,因为接收方列入到混杂的模式中。

以太网TYPE(类型)字段IEEE802.3LENGTH(长度)字段在帧的剩余部分表示了所使用的协议,长度字段规定了帧的数据部分的长度。对于要在同一局域网上共存的以太网和IEEE802.3帧,帧的长度字段必定是随使用的类型字段不同而不同。这一事实限制了帧的数据部分的长度为1500字节,而总的帧长度为1518字节。对于安全逻辑运算器程序,类型将是以太网,而数据字段的长度将为消息的尺寸大小。数据字段包含由安全逻辑运算器或过程控制器发送的消息。数据长度小于46字节的消息将被加长。如已知的,4字节的帧校验序列字段是标准的43位CCITT-CRC多项式。当然,这只是一种类型的消息编码,该编码可以在发送消息到过程控制设备和安全系统设备以及从其接收消息时执行,可以理解,任何其他可以区分过程控制系统设备与安全系统设备的预期的消息格式也可以替代使用。

尽管本发明参照特定例子进行了描述,它可能只是示意了、而不是限制了本发明,对于本领域普通技术人员来说,很明显可以对公开的实施例进行修改、添加或删除,而不脱离本发明的精神与范围。

本申请是在2003年1月28日提交的名为“具有嵌入式安全系统的过程控制系统”的美国专利申请第10/352396号的部分继续申请,这里引用其公开内容作为参考。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号