具有过程控制系统和安全系统的过程设备中的集成配置转让专利

申请号 : CN200410047705.5

文献号 : CN1542578B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 辛迪·斯科特朱利安·奈多加里·劳

申请人 : 费舍-柔斯芒特系统股份有限公司

摘要 :

过程设备,包括安全系统,其物理地和逻辑地集成到过程控制系统中,使其可在过程设备内应用通用的通信、配置硬件和软件,同时在安全系统控制器和过程控制系统控制器之间仍能提供功能分离。该集成过程控制和安全系统采用通用的数据通信结构,从而使配置程序能按相同的方式,如采用相同的通信硬件和软件,向任一系统中的装置发送数据或从其中接收数据。然而,设置通用数据通信结构,利用在向该装置发送或从其中接收的消息内的标记、地址或其它字段,来区分过程控制系统装置和安全系统装置,这使得可以区分与过程控制系统相关的数据和与安全系统相关的数据,从而使用户界面内的配置程序可根据数据的来源(或目的地)自动地以不同方式处理该数据。

权利要求 :

1.一种过程设备中使用的配置系统,该过程设备具有过程控制系统和安全系统,过程控制系统执行与过程设备相关的有关制造的控制功能,安全系统执行与过程设备相关的有关安全的控制功能,该配置系统包括:计算机,具有处理器和存储器;

过程控制系统控制器,与计算机通信连接,并适配为应用一个或多个过程控制现场装置来执行过程控制功能;

安全系统控制器,与计算机通信连接,并适配为应用一个或多个安全系统现场装置来执行安全系统功能;

配置数据库,适配为存储与过程控制系统和安全系统相关的配置数据;以及配置程序,其存储在计算机的存储器中,适配为在处理器上执行,以应用配置数据库,使一个或多个用户可以执行过程控制系统和安全系统的配置操作,其中配置程序对过程控制系统中的所有逻辑以及安全系统中所有逻辑使用了通用的标记、命名、寻址或引用格式,使得过程控制系统内的数据和安全系统内的数据容易区分开。

2.如权利要求1所述的配置系统,其中,配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限。

3.如权利要求1所述的配置系统,其中配置程序适配为呈现表示过程控制系统的一部分和安全系统的一部分的配置的显示。

4.如权利要求1所述的配置系统,其中配置程序适配为使过程控制逻辑模块的创建可以在过程控制系统中完成,而使安全系统逻辑模块的创建可以在安全系统中完成。

5.如权利要求4所述的配置系统,其中配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限,并且其中可应用第一个用户账号创建过程控制逻辑模块,并可应用第二个用户账号创建安全系统逻辑模块。

6.如权利要求4所述的配置系统,其中配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限,并且其中可应用同一个用户账号创建过程控制和安全系统逻辑模块。

7.如权利要求1所述的配置系统,其中配置程序适配为使得能将过程控制逻辑模块下载到过程控制系统,将安全系统逻辑模块下载到安全系统。

8.如权利要求7所述的配置系统,其中配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限,并且其中可应用第一个用户账号下载过程控制逻辑模块,并可应用第二个用户账号下载安全系统逻辑模块。

9.如权利要求7所述的配置系统,其中配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限,并且其中可应用同一个用户账号下载过程控制和安全系统逻辑模块。

10.如权利要求1所述的配置系统,其中配置数据库应用通用的标记格式,存储过程控制系统实体和安全系统实体的标记。

11.如权利要求1所述的配置系统,其中配置数据库应用为每个过程控制系统实体和安全系统实体提供唯一的名称的通用命名格式,存储过程控制系统实体和安全系统存储实体的名称。

12.如权利要求1所述的配置系统,其中配置数据库应用通用的引用格式,存储过程控制系统和安全系统的参数引用信息。

13.如权利要求1所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中配置数据库存储过程控制系统和安全系统的访问权限,从而限定与一个或多个用户账号相关的访问权。

14.如权利要求1所述的配置系统,其中配置程序适配为呈现一个显示,在该显示中的过程控制系统部分内表示部分过程控制系统的配置情况,在该显示中的安全系统部分内表示部分安全系统的配置情况,使得一个或多个用户能够应用该显示来配置过程控制系统或安全系统。

15.如权利要求14所述的配置系统,其中配置程序适配为通过使该显示中的过程控制系统部分内的过程控制元件和该显示中的安全系统部分内的安全系统元件相关,而使得一个或多个用户能够配置过程控制系统或安全系统。

16.如权利要求14所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中配置程序适配为在应用具体的用户账号时,对具体的用户账号设置偏爱,从而表示过程控制系统的哪部分以及安全系统的哪部分出现在显示中。

17.如权利要求1所述的配置系统,其中配置程序适配为呈现表示了一部分过程设备的配置的显示,该显示包括与过程控制系统相关的第一部分和与安全系统相关的第二部分,其中第一部分包括识别一个或多个过程控制系统控制器的第一级别,和识别与一个或多个过程控制系统控制器相连的一个或多个过程控制系统现场装置的第二级别,并且其中第二部分包括识别一个或多个安全系统控制器的第一级别,和识别与一个或多个安全系统控制器相连的一个或多个安全系统现场装置的第二级别。

18.如权利要求1所述的配置系统,其中配置程序适配为使得能够创建要在过程控制系统的一部分内执行的控制逻辑和要在安全系统的一部分内执行的安全逻辑,而与对将在其中执行该控制逻辑和安全逻辑的过程控制装置和安全装置的指定无关。

19.如权利要求18所述的配置系统,其中过程控制系统的一部分和安全系统的一部分与过程设备中的同一区域相关。

20.如权利要求1所述的配置系统,其中配置程序适配为使在部分过程控制系统内执行的控制逻辑模块能引用在部分安全系统内执行的安全系统逻辑模块,或适配为使在部分安全系统内执行的安全系统逻辑模块能引用在部分过程控制系统内执行的控制逻辑模块,从而在控制逻辑模块和安全逻辑模块之间提供直接通信。

21.如权利要求20所述的配置系统,其中应用名称和参数引用方案,控制逻辑模块引用安全逻辑模块,或安全逻辑模块引用控制逻辑模块。

22.如权利要求1所述的配置系统,其中配置数据库适配为存储与过程控制系统相关的配置数据,和与安全系统相关的配置数据,它们与过程设备中的通用实体相关。

23.如权利要求22所述的配置系统,其中该通用实体包括处理设备的一个区域中的过程控制和安全系统设备。

24.如权利要求1所述的配置系统,还包括数据库管理程序,适配为对配置数据库中存储的过程控制系统配置数据和安全系统配置数据执行数据库管理活动。

25.如权利要求24所述的配置系统,其中数据库管理程序是一个适配为备份配置数据库的备份程序,并且是适配为将数据输入到配置数据库的输入程序。

26.一种过程设备中使用的配置系统,该过程设备具有:过程控制系统,其具有应用一个或多个过程控制现场装置、执行有关制造的控制功能的过程控制系统控制器;安全系统,其具有应用一个或多个安全系统现场装置、执行与安全相关的控制功能的安全系统控制器;以及具有处理器的计算机,通信连接到过程控制系统控制器和安全系统控制器;该配置系统包括:存储器;

配置数据库,适配为存储与过程控制系统和安全系统相关的配置数据;以及配置程序,存储在存储器中,适配为在处理器中执行,以应用配置数据库,使一个或多个用户可以对过程控制系统和安全系统进行配置,其中配置程序对过程控制系统中的所有逻辑以及安全系统中所有逻辑使用了通用的标记、命名、寻址或引用格式,使得过程控制系统内的数据和安全系统内的数据容易区分开。

27.如权利要求26所述的配置系统,其中,配置程序可通过一个或多个用户账号进行访问,其中每个用户账号都包括独立用户实体的访问权限。

28.如权利要求26所述的配置系统,其中配置程序适配为呈现表示部分过程控制系统和部分安全系统的配置的显示。

29.如权利要求26所述的配置系统,其中配置程序适配为使过程控制逻辑模块的创建可以在过程控制系统中完成,并使安全系统逻辑模块的创建可以在安全系统中完成。

30.如权利要求26所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中可应用第一个用户账号创建过程控制逻辑模块,并可应用第二个用户账号创建安全系统逻辑模块。

31.如权利要求26所述的配置系统,其中配置程序适配为使得能将过程控制逻辑模块下载到过程控制系统,将安全系统逻辑模块下载到安全系统。

32.如权利要求31所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中可应用同一个用户账号下载过程控制和安全系统逻辑模块。

33.如权利要求26所述的配置系统,其中配置数据库应用通用的标记格式,存储过程控制系统实体和安全系统实体的标记。

34.如权利要求26所述的配置系统,其中配置数据库应用为每个过程控制系统实体和安全系统实体提供唯一的名称的通用命名格式,存储过程控制系统实体和安全系统实体的名称。

35.如权利要求26所述的配置系统,其中配置数据库应用通用的引用格式,为过程控制系统和安全系统存储参数引用信息。

36.如权利要求26所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中配置数据库存储过程控制系统和安全系统的访问权限,从而限定与一个或多个用户账号相关的访问权。

37.如权利要求26所述的配置系统,其中配置程序适配为呈现一个显示,在该显示中的过程控制系统部分内表示部分过程控制系统的配置情况,在该显示中的安全系统部分内表示部分安全系统的配置情况,使得一个或多个用户能够应用该显示来配置过程控制系统或安全系统。

38.如权利要求37所述的配置系统,其中配置程序适配为通过使该显示中的过程控制系统部分内的过程控制元件和该显示中的安全系统部分内的安全系统元件相关,使一个或多个用户能够配置过程控制系统或安全系统。

39.如权利要求38所述的配置系统,其中配置程序可通过一个或多个用户帐号进行访问,其中每个用户帐号都包括独立用户实体的访问权限,并且其中配置程序适配为在应用具体的用户账号时,对具体的用户账号设置偏爱,从而表示过程控制系统的哪一部分以及安全系统的哪一部分出现在显示中。

40.如权利要求26所述的配置系统,其中配置程序适配为呈现表示了部分过程设备的配置的显示,该显示包括与过程控制系统相关的第一部分和与安全系统相关的第二部分,其中第一部分包括识别一个或多个过程控制系统控制器的第一级别,和识别与一个或多个过程控制系统控制器相连的一个或多个过程控制系统现场装置的第二级别,并且其中第二部分包括识别一个或多个安全系统控制器的第一级别,和识别与一个或多个安全系统控制器相连的一个或多个安全系统现场装置的第二级别。

41.如权利要求26所述的配置系统,其中配置程序适配为使得能够创建要在部分过程控制系统内执行的控制逻辑和要在部分安全系统内执行的安全逻辑,而与对将在其中执行该控制逻辑和安全逻辑的过程控制装置和安全装置的指定无关。

42.如权利要求28所述的配置系统,其中该部分过程控制系统和部分安全系统与过程设备中的同一区域相关。

43.如权利要求26所述的配置系统,其中配置程序适配为使在部分过程控制系统内执行的控制逻辑模块能引用在部分安全系统内执行的安全系统逻辑模块,或适配为使在部分安全系统内执行的安全系统逻辑模块能引用在部分过程控制系统内执行的控制逻辑模块,从而在控制逻辑模块和安全逻辑模块之间提供直接通信。

44.如权利要求43所述的配置系统,其中使用名称和参数引用方案,控制逻辑模块引用安全逻辑模块,或安全逻辑模块引用控制逻辑模块。

45.如权利要求26所述的配置系统,其中该配置数据库适配为存储与过程控制系统相关的配置数据,和与安全系统相关的配置数据,它们与过程设备中通用的实体相关。

46.如权利要求26所述的配置系统,还包括数据库管理程序,该程序适配为对配置数据库中存储的过程控制系统配置数据和安全系统配置数据执行数据库管理活动。

47.如权利要求46所述的配置系统,其中数据库管理程序是一个适配为备份配置数据库的备份程序,并是一个适配为将数据输入到配置数据库的输入程序。

48.一种配置过程设备的方法,该过程设备具有:过程控制系统,其具有应用一个或多个过程控制现场装置执行有关制造的控制功能的过程控制系统控制器;和安全系统,其具有应用一个或多个安全系统现场装置执行与安全相关的控制功能的安全系统控制器,该方法包括:在通用配置数据库中,存储与过程控制系统和安全系统相关的配置数据;以及提供通用用户界面程序,利用存储在通用配置数据库中的配置数据,对过程控制系统和安全控制系统执行配置活动,其中配置程序对过程控制系统中的所有逻辑以及安全系统中所有逻辑使用了通用的标记、命名、寻址或引用格式,使得过程控制系统内的数据和安全系统内的数据容易区分开。

49.如权利要求48所述的方法,其中提供通用用户界面程序包括对于通用用户界面程序建立一个或多个用户账号,其中每个用户账号都包括独立用户实体的访问权限。

50.如权利要求48所述的方法,其中提供通用用户界面程序包括呈现表示部分过程控制系统和部分安全系统的配置的单个用户显示。

51.如权利要求48所述的方法,其中提供通用用户界面程序包括应用该通用的用户界面程序,使过程控制逻辑模块的创建可以在过程控制系统中完成,并使安全系统逻辑模块的创建可以在安全系统中完成。

52.如权利要求51所述的方法,其中提供通用用户界面程序包括为该通用用户界面程序建立一个或多个用户帐号,其中每个用户帐号都包括独立用户实体的访问权限,还包括使得能够利用第一个用户账号创建过程控制逻辑模块,利用第二个用户账号创建安全系统逻辑模块。

53.如权利要求48所述的方法,其中提供通用用户界面程序包括为该通用用户界面程序建立一个或多个用户帐号,其中每个用户帐号都包括独立用户实体的访问权限,还包括使得能够利用同一个用户账号创建过程控制和安全系统逻辑模块。

54.如权利要求48所述的方法,其中提供通用用户界面程序包括使得能够利用通用用户界面程序,将过程控制逻辑模块下载到过程控制系统,将安全系统逻辑模块下载到安全系统。

55.如权利要求54所述的方法,其中提供通用用户界面程序包括为该通用用户界面程序建立一个或多个用户帐号,其中每个用户帐号都包括独立用户实体的访问权限,并且包括使得能够利用第一个用户账号下载过程控制逻辑模块,利用第二个用户账号下载安全系统逻辑模块。

56.如权利要求54所述的方法,其中提供通用用户界面程序包括为该通用用户界面程序建立一个或多个用户账号,其中每个用户账号都包括用户实体的访问权限,并且包括使得能够利用同一个用户账号下载过程控制和安全系统逻辑模块。

57.如权利要求48所述的方法,其中存储配置数据包括利用通用的标记格式,存储过程控制系统实体和安全系统实体的标记。

58.如权利要求48所述的方法,其中存储配置数据包括利用为每个过程控制系统实体和安全系统实体提供唯一的名称的通用命名格式,存储过程控制系统实体和安全系统实体的名称。

59.如权利要求48所述的方法,其中存储配置数据包括利用通用引用格式,存储过程控制系统和安全系统的参数引用信息。

60.如权利要求48所述的方法,其中提供通用用户界面程序包括在显示屏幕上呈现一个显示,在该显示中的过程控制系统部分内表示部分过程控制系统的配置情况,在该显示中的安全系统部分内表示部分安全系统的配置情况,并使得一个或多个用户能够应用该显示来配置过程控制系统或安全系统。

61.如权利要求60所述的方法,其中使得一个或多个用户能够应用该显示来配置过程控制系统或安全系统包括使一个或多个用户能够使该显示中的过程控制系统部分内的过程控制元件和在该显示中的安全系统部分内的安全系统元件相关。

62.如权利要求60所述的方法,包括使得能够通过一个或多个用户帐号对该通用用户界面程序进行访问,其中每个用户帐号都包括独立用户实体的访问权限,还包括在应用具体的用户账号时,使得能够为具体的用户账号设置偏爱,表示过程控制系统的哪一部分以及安全系统的哪一部分出现在显示中。

63.如权利要求48所述的方法,其中提供通用用户界面程序包括使得能够创建要在部分过程控制系统内执行的控制逻辑和要在部分安全系统内执行的安全逻辑,而与将在其中执行该控制逻辑和安全逻辑的过程控制装置和安全系统装置的指定无关。

64.如权利要求63所述的方法,其中该部分过程控制系统和部分安全系统与过程设备中的同一区域相关。

65.如权利要求48所述的方法,其中提供通用用户界面程序包括使在部分过程控制系统内执行的控制逻辑模块能引用在部分安全系统内执行的安全系统逻辑模块,或使在部分安全系统内的安全系统逻辑模块能引用在部分过程控制系统内的控制逻辑模块,从而在控制逻辑模块和安全逻辑模块之间提供直接通信。

66.如权利要求48所述的方法,包括应用该通用用户界面程序存储与过程控制系统相关的配置数据,和与安全系统相关的配置数据,其与过程设备中的通用实体相关。

67.如权利要求48所述的方法,还包括使用单个数据库管理程序,对配置数据库中存储的过程控制系统配置数据和安全系统配置数据执行数据库管理活动。

68.如权利要求67所述的方法,其中使用单个数据库管理程序包括利用一个适配为备份配置数据库的备份程序,和利用适配为将数据输入到配置数据库的输入程序。

说明书 :

具有过程控制系统和安全系统的过程设备中的集成配置

[0001] 相关申请交叉引用
[0002] 本申请是2003年1月28日提交的标题为“Process Control Systems with anEmbedded Safety Systems(具有嵌入式安全系统的过程控制系统)”的美国专利申请No.10/352,396的部分继续申请,在这里通过引用,明确地将其公开的内容合并于此。 技术领域
[0003] 本发明涉及过程设备(process plant)中使用的安全系统,更具体地,涉及功能上逻辑嵌入或集成到过程设备的过程控制系统中的安全系统。

背景技术

[0004] 如用于化工、石油或其它工艺中的过程控制系统,一般包括一个或多个过程控制器,过程控制器通过模拟、数字或模拟/数字联合总线,通信连接到至少一个主机或操作者工作站以及一个或多个现场装置。现场装置,例如可以是阀门、阀门定位器、开关和变送器(例如温度、压力和流量传感器),在过程设备中执行诸如打开或关闭阀门以及测量过程参数的功能。过程控制器接收指示由现场装置执行的过程测量的信号,和/或与现场装置有关的其它信息,应用这些信息来执行控制例行程序,并随后产生控制信号,通过总线将该信号传送到现场装置,来控制过程操作。一般使来自现场装置和控制器的信息对一种或多种由操作者工作站执行的应用程序可用,以使操作者可以完成有关这个过程的任何期望的功能,如对过程进行配置、查看过程的当前状态、修改过程的操作等。
[0005] 此外,在许多过程中,设置一个单独的安全系统,用来在设备中发生了可能导致或造成严重危险的问题,如有毒化学物质的泄漏、爆炸等时,检测过程设备中重要的与安全相关的问题,并自动关闭阀门、给装置断电、在设备中开关流量等。这些安全系统一般都具有一个或多个单独的控制器,它们与过程控制系统控制器分离,通过设置在过程设备中的单独的总线或通信线 路连接到安全现场装置。安全控制器使用安全现场装置检测与重大事件相关的过程条件,例如某些安全开关或停机阀的位置、过程中的上溢和下溢、重要的能量产生或控制装置的操作、故障检测装置的操作等,从而检测过程设备中的“事件”。当检测到事件时,安全控制器就采取行动来限制这个事件的有害影响,例如关闭阀门、关闭装置、给部分设备断电等。
[0006] 由于当过程控制器出现故障时,使用这个过程控制器来执行安全功能会导致安全功能和过程控制功能的同时失灵,所以在过程控制器和安全控制器之间实现分离被认为是重要的(并且通常由适用的政府标准所要求)。然而,当过程控制器发生故障时,由于此时过程部分或全部失控,所以安全功能变得非常关键。
[0007] 过程设备中,过程控制器和安全控制器之间的分离,导致了不同的人使用不同的硬件和软件开发这些系统。实际上,在某些情况下,由于安全系统不使用过程控制系统硬件和软件的基础结构,所以在同一个过程设备中的不同位置,如在不同的节点处,会使用不同而且完全分离的安全系统的硬件和软件。无论如何,过程控制系统和安全系统之间的分离,导致在同一个设备中存在大量不同而且完全分离的必须单独配置和监控的安全系统。因此,通过使用不同的配置和诊断程序以及工作站来配置和监视这些单独的系统,一般使用不同的通信基础结构来实现同一个设备中的这些不同的系统。同样,不同的人一般需要根据这些不同的系统来执行配置、诊断和监视活动,所有这些在配置和运行使用了安全系统的过程设备的过程中都导致了额外的费用。此外,由于安全系统的配置和诊断软件不同于控制系统的配置和诊断软件,所以一般要针对这些不同的软件程序对人员进行单独培训,导致增加了培训时间。
[0008] 过去,曾经试图在同一个用户界面上集成来自于同一设备中的过程控制和安全系统的数据,从而在同一位置上提供对这些不同数据的观测和处理。然而,一般在使用传统控制系统的配置、观测和诊断程序作为基础软件平台,并随后将安全系统数据导入到控制系统软件之后,完成这种集成。遗憾的是,传统的控制系统并不提供区分控制系统数据与安全系统的数据的灵活性。因此,一旦安全系统的信息集成到控制系统程序中,安全系统的数值看上去就会与显示给用户的控制系统的数值相同,这使得难于追踪和区分安全系统的数据。
[0009] 此外,这些集成的显示系统一般都要求将安全系统数据映射到控制系统配置中,以使用户可以明白安全系统数据源自控制系统硬件中何处。此时,由于使用了不同的结构来定义与两系统有关的数据(或是表示数据来源或目的地的标记),因此,应用用户界面内的独立的软件在两个系统之间映射数据。这些数据映射技术要求附加的用户程序设计来设置并维护,并且由于映射功能引入了误差,所以可能导致错误的数据。
[0010] 更进一步,在试图把安全系统数据集成到传统的控制系统程序中的系统中,安全性变得更难处理。尽管某些用户界面或人机界面(HMI)产品(相对于控制系统)能够对独立的HMI数据值/标记提供独一无二的安全保证,但还必须在HMI内设置附加的用户程序,来确保将每个值和/或标记正确地标记为来自于安全系统,从而确保安全性的调用。由于依赖于人们对HMI的程序设计和维护来保证所有来自安全系统的值都正确地映射到控制系统界面中,所以该功能生来比较易于出现错误,因而安全性更低。此外,该映射技术使HMI的安全变得重要,这就使安全仪表系统复杂化,使测试和证明安全整体水平变得更为困难。 [0011] 因此,这些已知的用户界面集成系统没有能力直接把读出和写入数据的安全仪表系统放置到用户画面上,而无需在控制和安全系统配置之间进行映射,或无需在安全系统控制器中设置专用的安全仪表控制逻辑,以在操作者界面和安全仪表系统逻辑之间建立了“防火墙”,从而防止对安全仪表系统的未授权的写入。此外,这些已知的集成的用户界面系统缺少安全写入机制来确保在对安全仪表系统的写入过程中输入值或路径没有讹误,还缺少嵌入到控制系统中的独一无二的安全保证来确保所有对安全仪表系统的值的写入都需要特定的权限,不管是从流程图中还是从能向安全仪表系统写入值的任何其它应用程序中。
[0012] 此外,一般使用过程设备内分离位置存储的不同配置程序来创建和浏览安全系统和控制系统的配置,并且在安全系统的配置数据和过程控制系统的配置数据之间只有很少或没有交互作用(相互连接)。因此,用户难于以集成的模式来浏览或了解控制系统和安全系统的配置,例如,以显示或展示这两个系统彼此交互作用,或与不同系统相关的装置和逻辑在设备内部物理地和逻辑地相互连接的方式。
[0013] 同样,与控制和安全系统相关的诊断程序,如报警、测试和其它诊断工 具,在许多情况下也都是独立执行的,这使得单个用户难于理解一个系统中的问题可能如何影响或涉及其它系统中的问题。此外,这些独立的诊断程序导致与不同系统相关的报警或其它诊断数据一般对于不同用户显示在不同显示上,或是使用不同程序在不同时间显示在同一显示上。这种诊断数据的非集成使用和显示使得更难于了解整个设备的操作和设备运行过程中安全系统与过程控制系统的交互方式。
[0014] 如前所述,尽管提供过程控制系统和安全系统报警的集成显示是已知的,但还需要把安全系统报警映射到过程控制系统报警显示环境中,作为过程控制系统报警。因此,安全系统报警需要表现为过程控制系统报警,这使得报警显示的用户难于从过程控制系统报警中轻松地识别或区分安全系统报警。此外,由于为了显示的目的,安全系统报警必须转换成过程控制系统报警,所以对转换的安全系统报警根据它们在过程控制系统内的产生时间做时间标记,即,当由显示程序转换报警后,不再用这些报警在安全系统中实际检测出来的时间进行时间标记。因此,有关在安全系统中产生安全报警的实际时间的数据丢失了,导致用于报警记录、确认和响应的信息使人误解。

发明内容

[0015] 过程设备包括安全系统,该安全系统物理地和逻辑地与过程控制系统以下述方式集成到一起,使安全系统和过程控制系统在此过程设备中使用通用的通信、配置、诊断和显示硬件与软件,同时在安全系统控制器和过程控制系统控制器之间仍然提供功能隔离。正如一般地,独立的安全系统控制器通过安全通信基础结构连接到安全现场装置,而过程控制系统控制器则通过标准控制系统总线或通信线路连接到控制系统现场装置。然而,安全系统控制器通过总线或其它通信信道通信连接到过程控制系统控制器,每个都通过通用通信网络,连接到过程设备内的一个或多个操作者工作站,这使得操作者工作站内的软件能够对过程控制系统控制器(及相关的过程控制现场装置)和安全系统控制器(及相关的安全现场装置)的操作进行通信、配置和观测。
[0016] 这种集成包括:对安全系统和过程控制系统采用通用数据通信结构,使应用程序能够以同样的方式,如使用相同的通信硬件和软件,向任一系统中的装置发送数据和从其中接收数据。然而,通用数据通信结构可以通过使用发送到该装置或从该装置接收的消息内的标记、地址或其它字段,来区分过 程控制装置和安全装置,这使得能够区分与过程控制系统相关的数据和与安全系统相关的数据,从而使得用户界面内的应用程序能根据数据的来源(或目的地)自动对该数据进行不同的处理。
[0017] 在一个例子中,显示、配置、控制和诊断程序使得能够对过程控制系统装置和安全系统装置执行写入(或从中进行读出),同时对向安全系统装置的写入自动地执行对向过程控制系统装置的写入不需要的安全程序,反之亦然。然而,根据要写入的数据在显示中所在的字段,这些写入操作可从区分对安全系统的写入和对过程控制系统的写入的同一显示中启动。这样,显示、配置、控制和诊断程序可向任一系统进行写入,而无需从过程控制系统向安全系统,或反过来,映射数据。
[0018] 此外,配置和诊断程序可在过程设备内,对过程控制系统和安全系统提供通用的界面来进行配置和诊断活动。具体地,配置程序可使用户能对过程控制系统和安全系统中任一或两者进行配置,还可根据过程控制系统装置(逻辑)和安全系统装置(逻辑)之间已知的关联,把配置信息存储到通用数据库中,以便更容易了解控制系统配置和安全系统配置之间的相互关系。更进一步地,通用的配置屏幕既可以显示过程控制系统配置信息,也可以显示安全系统配置信息,并且其中一个系统产生的数据可用于另一个系统的配置或执行过程,而无需执行单独的映射程序。该通用或集成配置程序使得应用单个配置程序对整个设备进行配置变得容易了,而且,还不需要对相同或独立的用户进行不同配置程序的培训。 [0019] 类似地,也可对诊断程序进行编程,以应用来自于过程控制系统和安全系统的数据,执行集成的诊断,而不会失去对诊断数据来源的跟踪。例如,报警显示程序可用来在同一界面上显示过程控制系统报警和安全系统报警,并按优先级排列报警,还提供这些报警之间相互关系的指示,例如,特定的过程控制系统报警以某种方式与特定的安全系统报警相关联。由于传送到诊断程序的报警使用了能够区分安全系统装置和过程系统装置的通用通信格式,因此,诊断程序可以检测出报警是在过程控制系统内产生的,还是在安全系统内产生的,并且可以显示两种类型的报警,而不会失去对该报警所产生的位置和时间的跟踪。 附图说明
[0020] 图1是示例性过程设备的方框图,该过程设备将安全系统和过程控制系统集成在一起,并包括界面、配置和诊断程序,为过程控制系统和安全系统提供集成的安全、配置和诊断活动;
[0021] 图2是多个安全系统控制器的方框图,这些控制器通过第一通信网络彼此可通信地连接,此外又通过第二通用通信网络与过程控制系统控制器和操作者界面相连; [0022] 图3是图1的配置程序所产生的示例性的屏幕显示,示出了同时显示过程控制系统装置和安全系统装置的图1过程设备的配置视图;
[0023] 图4是图1的诊断程序的方框图,适于在单个用户界面中集成过程控制系统和安全系统报警的显示和操作;
[0024] 图5是图4的诊断程序所产生的示例性报警屏幕的图示,显示了来自图1的过程控制系统和安全系统的报警;
[0025] 图6是设置在一个或多个图1的工作站中的示例性安全程序的方框图,它对向图1中的过程控制系统装置和安全系统装置写入数据和从图1中的过程控制系统装置和安全系统装置读出数据,自动地执行不同的安全规则;以及
[0026] 图7是示例性操作者界面的图示,它使用图6的安全程序,使得能够对图1过程控制系统和安全系统内的不同装置进行安全的写入或读出。

具体实施方式

[0027] 现在参照图1,过程设备10包括与安全系统14(用虚线表示)集成在一起的过程控制系统12,安全系统14通常作为安全检测系统(SIS)来操作,以监控和超越过程控制系统12提供的控制,从而最大化过程设备10的可能安全操作。过程设备10还包括一个或多个主机工作站、计算机或用户界面16(它们可以是任何类型的个人计算机、工作站等),设备人员,例如过程控制操作者、维护人员、配置工程师等可以对其进行访问。在图1所示的示例中,示出的三个用户界面16通过通用通信线路或总线22,连接到两个单独的过程控制/安全控制节点18和20,以及配置数据库21。可以应用任何期望的基于总线的或不基于总线的硬件,应用任何期望的硬连线或无线通信结构,及应用任何期望的或适合的通信协议,例如以太网协议,来实现通信网络22。
[0028] 一般来讲,过程设备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。
[0029] 类似地,节点18包括一个或多个安全系统逻辑解算器50和52,同时节点20包括安全系统逻辑解算器54和56。每个逻辑解算器50-56是具有处理器57的I/O装置(也可以不同地称为安全控制器),处理器57执行存储在存储器中的安全逻辑模块58,并可通信地连接以向安全系统现场装置60和62提供和/或从其接收控制信号。此外,各节点18和20还可包括至少一个消息传播装置(MPD)70或72,它们通过环形总线连接74(图1中只示出了其中一部分)彼此通信连接。安全系统逻辑解算器50-56、安全系统现场装置60和62、MPD 70和72、以及总线74通常构成了图1的安全系统14。
[0030] 过程控制器24和26,仅是举例,可以是Emerson Process Management(爱默生过TM程管理)所销售的DeltaV 控制器、或任何其它期望类型的过程控制器,将其设计为以应用I./O装置28、30和32(对于控制器24)、I/O装置34和36(对于控制器26)以及现场装置
40和42,提供过程控制功能(使用通常所说的控制模块)。具体地,各控制器24和26执行或监视存储在那里或者与其相关的一个或多个过程控制程序75(也称作控制模块),并与现场装置40和42以及工作站14进行通信,以任何期望的方式来控制过程10或过程10的一部分。现场装置40和42可以是任何期望类型的现场装置,如传感器、阀门、变送器、定位器等,并可以遵照任何期望的开放的、专有的或其它通信及程序设计协议,包括,如HART或
4-20ma协议(如对现场装置40所示),任何Fieldbus(现场总线)协议,如
Fieldbus协议(如对现场装置42所示),或CAN、Profibus、AS接口协议,等等。类似地,I/O装置28-36可以是应用任何适当通信协议的任何已知类型的过程控制I/O装置。 [0031] 图1的安全逻辑解算器50-56可以是任何期望类型的安全系统控制装置,包括处理器57和存储了适配为在处理器57中执行的安全逻辑模块58存储 器,来使用安全现场装置60和62提供与安全系统14相关的控制功能。当然,安全现场装置60和62可以是遵照或使用例如上述任何已知或期望的现场装置。具体地,现场装置60和62可以是由独立的、专门的安全相关控制系统以传统方式控制的这种类型的安全相关现场装置。在图1所示的过程设备10中,示出安全现场装置60是使用专门的或点对点的通信协议,如HART或
4-20ma协议,同时示出安全现场装置62应用总线通信协议,如Fieldbus协议。一般地,用作安全系统14的部件的安全装置(安全系统逻辑解算器(控制器)50-56,以及安全系统现场装置60和62)将被列(rate)为安全装置,这一般就意味着这些装置必须经过列入程序,来由适当的主体列为安全装置。
[0032] 在各节点18和20中使用通用底板76(用通过控制器24、26、I/O装置28-36、安全逻辑解算器50-56和MPD 70和72的虚线表示),来把控制器24、26连接到过程控制I/O卡28、30和32、或34和36,并连接到安全逻辑解算器52和54或56和58,以及MPD 70或72。还可通信地连接控制器24和26,作为总线22的仲裁器来进行操作,使每个I/O装置
28-36、逻辑解算器52-56以及MPD 70和72能通过总线22与任一工作站16进行通信。 [0033] 正如将要了解的,在各节点18和20中使用底板76,使安全逻辑解算器50-56彼此之间能进行本地通信,来协调由这些装置各自所实现的安全功能,彼此交换数据,或执行其它综合功能。另一方面,操作MPD 70和72使设置在设备10许多不同位置的安全系统14的部分仍可彼此通信,从而在过程设备10的不同节点处提供协调的安全操作。具体地,与总线74相连的MPD 70和72使与过程设备10的不同节点18和20相关的安全逻辑解算器能通信串联在一起,从而允许根据分配好的优先级来级联过程设备10中的安全相关功能。另外,在过程设备10内不同位置处的两个或多个安全相关功能可以互锁或互联,而不需要为设备10的独立物理区域或节点内的各个安全现场装置运行专线。换句话说,MPD 70和72以及总线74的应用,使得配置工程师能够设计并构造一个安全系统14,其本质上遍布在过程设备中,但其不同的部件又相互通信连接,使不同的安全相关硬件可以根据需要彼此通信。这一特征还提供了安全系统14的可缩放性,因为这使得当其需要时或当新的过程控制节点加入过程设备10中时,附加的安全逻辑解算器能够加入到安全系统14中。 [0034] 图2更详细地表示了过程设备10的节点18和20内部和之间的通信连接。 一般来说,图2所示的图1的部件用相同的参考标记来指代。然而,各控制器24和26在图2中作为冗余控制器对24A、24B以及26A、26B来表示,它们可采用任何标准的冗余技术。类似地,各安全逻辑解算器50-56表示成一对装置,在每一对中具有主安全逻辑解算器50A、
52A、54A和56A,以及辅安全逻辑解算器50B、52B、54B和56B。如将要了解到的,每对安全逻辑解算器50-56连接到安全现场装置(图2中未示出),并可存储相同的用于在安全系统14内执行安全功能的安全逻辑模块58。每对安全逻辑解算器50-56都包括在主和辅逻辑解算器之间连接的专用总线50C、52C、54C和56C,提供逻辑解算器对之间的控制通信。主和辅安全逻辑解算器最好同时运行和执行运算,该两套装置的输出可通过适当的总线50C、
52C、54C和56C彼此通信和确认。如果希望的话,主装置可包括表决逻辑,其根据主和辅装置的输出确定安全逻辑解算器对的输出。换句话说,任何期望的或已知的冗余技术都可应用于逻辑解算器对50-56。
[0035] 此外,各MPD 70和72表示为冗余对装置70A、70B和72A、72B,不同节点18和20的MPD与交互节点通信线或总线74的冗余对相连。尽管图1和图2示出了仅在两节点18和20之间的通信互联,但可以理解,单个的MPD或MPD冗余对可设置在过程设备10中任何数量的不同节点中,并可在环形总线结构中彼此连接,以便以任何希望的方式提供交互节点通信。由于一般采用环形总线通信结构(尽管不是必须),因此第一节点的MPD连接到第二节点的MPD,第二节点的MPD再连接到第三节点的MPD,依此类推,最后一个节点的MPD连接到第一节点的MPD,都是通过环形总线74。如果在过程设备10中只存在两个节点,如图1所示,则从节点20的MPD 72A和72B出来的总线74就直接连接到节点18的MPD 70A和
70B的输入。
[0036] 在示出了图1的控制器24和26以及工作站之间的连接以外,图2还详细地示出了底板76。具体地,在节点18,控制器24A和24B通过最好设置在底板76中的干线总线(railbus)通信连接100,连接到I/O装置28、30和32,还连接到冗余对安全逻辑解算器50A、50B和52A、52B,并连接到MPD 70A和70B冗余对。以同样的方式,在节点20,控制器
26A和26B通过设置在底板76中的干线总线通信连接102,连接到I/O装置34和36,还连接到安全逻辑解算器对54A、54B和56A、56B,并连接到MPD 72A和72B冗余对。控制器24和
26应用干线总线连接100和102,在一端上的工作站14和另一 端上的I/O装置28-36、安全系统逻辑解算器50-56以及MPD 70和72之间提供通信,同时在一端上的I/O装置28-36和另一端上的安全系统逻辑解算器50-56以及MPD 70和72之间提供通信。换句话说,干线总线的线路100和102用作通信网络,使安全系统装置能在过程设备10内以较高的水平与过程控制系统装置集成,使设置在工作站14内的相同的配置程序和显示程序可以对来自过程控制系统装置和安全系统装置的信息进行通信、配置和显示。
[0037] 此外,如对节点18所示,底板76包括主对等(P2P)总线104A,连接各安全系统逻辑解算器50、52和主MPD 70A,同时辅P2P总线104B连接各安全系统逻辑解算器50、52和辅MPD 70B。主和辅P2P总线104A和104B是本地P2P总线,提供在单个底板76内的安全逻辑解算器之间、以及到与底板76相关或相连的MPD 70的本地通信。以类似的方式,节点20包括主对等(P2P)总线106A,连接安全系统逻辑解算器54、56冗余对中的每一个和主MPD72A,同时辅P2P总线106B连接安全系统逻辑解算器54、56冗余对中的每一个和辅MPD
72B。主和辅P2P总线106A和106B是本地P2P总线,在节点20的底板76内的安全逻辑解算器和MPD 72之间提供本地通信。可以理解,本地主和辅P2P总线104A、104B、106A、106B在各底板76内所有安全相关逻辑解算器50-56之间提供冗余通信路径。如果希望的话,本地P2P总线104和106可作为广播总线来进行操作,其中每个连接到总线的安全逻辑解算器和MPD装置接收总线上所有其它装置的发送信息,一次只有一个装置可进行发送。当然,尽管图2只示出了在不同节点18和20中连接到各底板的两组安全逻辑解算器,但是任何期望数量的安全逻辑解算器,可以是逻辑解算器冗余对或单独逻辑解算器,都可在各节点
18和20处连接到底板76(并因而连接到本地P2P总线104或106)。
[0038] 如果需要的话,安全逻辑解算器可应用时分多路存取(TDMA)技术来共享本地P2P总线介质,在该技术中,特定底板上的所有本地安全逻辑解算器彼此同步。在一种情况下,本地P2P总线104和106可应用RS485Manchester编码的HDLC协议,具有如2Mb/sec的吞吐量。该Manchester编码模式使线路以4Mb/s来驱动。这个给定的速率只是示例性的,其它适当的速率和编码模式一样也是可以选择的。此外,如果需要的话,特定底板上的每个本地逻辑解算器可根据其在底板76中的物理位置,来确定或被指定其在底板76上应用的TDMA模式内的发送时隙,这可以减少在特定节点中设置底板76所 需要的配置步骤的数量。更进一步,底板76的主和辅P2P总线104和106可支持任何期望的消息类型,并且本地P2P总线104和106的物理连接可设置于底板76内。
[0039] 远程P2P总线74最好采用环形拓扑,使数据在位于过程设备10的不同节点,并从而设置在不同底板76中的安全逻辑解算器之间进行通信。MPD 70和72负责围绕远程P2P总线74所构成的环来传播消息,把从与MPD 70或72在同一底板上的安全逻辑解算器传来的消息放置到环74,再把环74上要提交给与MPD 70或72在同一底板上的安全逻辑解算器的消息,传送给安全逻辑解算器。尽管远程P2P总线74上可传播任何数量的消息,但在一个实施例中,在任何P2P总线周期期间可传播的最大消息数量是三十二(32)。这些消息来自于1到32个独立的不同的安全逻辑解算器,包括节点18和20的底板76,以及过程设备10中由环形总线74互连的其它节点的任何其它底板上的安全逻辑解算器50-56。然而,由于环形总线74在这些装置之间提供可通信的相互连接,使它们能够完成同步,所以,该操作的结果就是,安全系统14中的所有安全逻辑解算器都可同步运行,即使它们位于不同节点上。环形总线74可采用任何期望类型的总线结构和协议,但最好采用应用10Base-T以太网协议的点对点双绞线,或具有10Mbit/sec传输速率的光缆和10base-F以太网协议。 [0040] 再次参照图1,每个工作站16都包括处理器77和存储器78,存储器78可以存储适合在处理器77上执行的、任何数量的用户界面、配置、诊断和/或观测程序。配置程序80和诊断程序82在图1的分解图中示出存储在一个工作站16中,同时示出了用户界面或显示程序85表示为存储在第二个工作站16中。然而,如果需要的话,可以在不同的工作站16中、或在与过程设备10相关的其它计算机中存储并执行这些程序。一般来说,配置程序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的逻辑配置。
[0041] 相反地,诊断程序82可用来为用户,例如过程控制操作者、安全操作者等,提供一个或多个显示,它包括有关过程控制系统12和安全系统14状态的信息,如果特别需要,可在分离的视图中或同一视图中显示。例如,诊断程序82可以是报警显示程序,为操作者接收和显示报警指示。如果需要的话,这种报警显示程序可采取如题为“Process Control System Including AlarmPriority Adjustment(包括报警优先级调整的过程控制系统)”的美国专利No.5,768,119以及题为“Integrated Alarm Display in a Process Control Network(过程控制网络中的集成报警显示)”的美国专利申请No.09/707,580中所公开的形式,这两个专利都转让给了本专利的受让人,从而明确地将其作为参考合并于此。然而,可以理解,由于来自两个系统12和14的报警将传送到执行报警显示程序的操作者工作站16,且这些报警可以识别为来自不同类型装置的报警,包括来自过程控制系统或安全系统的报警,所以这些专利的报警显示或报警标识可在集成的报警显示中接收并显示来自过程控制系统12以及安全控制系统14两者的报警。如果需要的话,操作者可以以与过程控制报警相同的方式来响应(如确认、禁止等)在报警标识中显示的安全报警。例如,操作者或用户可应用报警显示器的任何特点来确认安全报警、关闭安全报警等。利用总线22和底板
76上的通信,这些动作将发送消息到安全系统14内适当的安全逻辑装置50-56,从而使安全系统14针对该安全报警采取相应的动作。以类似的方式,其它诊断程序也可显示从过程控制系统12和安全系统14两者所获得的诊断信息或数据,由于这两个系统采用了相同类型和种类的参数、保护(security)及引用,使来自系统12和14之一的任何数据可集成到传统上只为过程控制系统设置的显示或视图中。
[0042] 用户界面程序85可以是任何类型的界面,例如,使用户处理数据值(如执行读或写操作),从而在提供正确的保护级别和类型的同时,在控制系统和 安全系统中任一个或两者中改变控制或安全模块的操作。从而,例如,如果写操作限定到与控制系统12相关的控制模块,如一个控制模块75或一个现场装置42,那么,例如,程序85就执行相应的保护程序,使该写操作能够发生。另一方面,如果写操作限定到与安全系统14相关的模块,如一个模块58,或一个现场装置62,那么,例如,程序85就执行正确的保护程序和措施,使该写操作能够发生,且如果满足保护措施,就发送写操作指令到适当的安全装置,而不需要在安全系统控制器50-56中设置另外的防火墙。
[0043] 无论如何,程序80、82和85可向各过程控制器24和26以及各安全系统逻辑解算器50-56发送并从中接收独立的配置、诊断和其它信号。这些信号可包括与控制过程控制相关现场装置40和42的操作参数有关的过程级消息,可包括与控制安全相关现场装置60和62的操作参数有关的安全级消息,还可包括与装置细节相关的装置级消息,既包括过程控制系统装置也包括安全系统装置。尽管安全逻辑解算器50-56可进行编程,来识别过程级消息和安全级消息,但安全逻辑解算器50-56能区分两种类型的消息,而不能由过程级配置信号所编程或影响。举一个例子,传送给过程控制系统装置的编程消息可包括某些字段或地址,它们可被安全系统装置识别,并防止这些信号用于对安全系统装置进行编程。特别地,从安全系统装置或程序,如安全系统逻辑装置50-56之一,接收到的或向其传送的数据的标记(例如路径名)或地址,可以包括特定字段或标题,来识别这个装置或单元是与安全系统14相关的。如果是这种情况,嵌入在任一程序中的写保护软件通过与数据相关的标记或地址,可确定何时尝试对安全系统部件进行写入。当保护软件确定安全系统需要写入(或读出)时,保护程序可自动执行期望的保护程序,如检查密码、审定用户,来确定该用户具有向安全系统装置或逻辑单元写入(或从中读取)所需的权限。
[0044] 如果需要的话,安全逻辑解算器50-56可应用与过程控制I/O卡28-36所用硬件和软件相比,相同的或不同的硬件或软件设计。然而,对过程控制系统12内的装置和安全系统14内的装置应用互换技术可以最小化或消除一般原因的硬件或软件故障。 [0045] 安全系统装置,包括逻辑解算器50-56,还可应用任何期望的隔离和保护技术,来降低或消除对由其实现的安全相关功能进行未经许可的改变的几率。例如,安全逻辑解算器50-56和配置程序80可以要求具有特定权限级别 的人员,或位于特定工作站的人员来改变逻辑解算器50-56内的安全模块,该权限级别或位置与改变由控制器24和26以及I/O装置28-36执行的过程控制功能所需的权限或访问级别和位置不同。在这种情况下,只有安全软件中指定的或位于有权修改工作站14的人员,才有权更改安全相关功能,这样最小化了安全系统14操作发生讹误的几率。可以理解的是,要实现该保护,安全逻辑解算器50-56内的处理器可评估输入消息的适当形式和安全性,并在安全逻辑解算器50-56内执行的安全级控制模块58的修改过程中作为看门人(gatekeeper)。或者,正如以下所具体描述的,当用户的保护级不足以向安全系统装置写入或从中读出时,为安全逻辑解算器50-56产生消息的程序可实现保护过程,并拒绝发送消息。
[0046] 这样,如果希望的话,一旦安全相关功能在逻辑解算器50-56内启动,那么不具有适当访问权限的操作者工作站16就不能改变安全功能的状态,这使与过程控制系统12相关的通信结构可用来提供安全系统14的初始化,并用来提供安全系统14操作的运行时间报告,但过程控制系统12与安全系统14却仍隔离,在该意义上来说,对过程控制系统12的改变不会影响安全系统14的操作。
[0047] 图3示出了由图1配置程序80所产生的显示屏幕183,描述了配置表示,其中安全系统14(包括逻辑解算器50-56和安全现场装置60、62)与过程控制系统12集成在一起。可以理解,图3的配置显示屏幕183示出了配置程序80对过程设备10内不同装置的相关软件进行配置的方式,且可由配置工程师用来通过下载新的配置软件到过程设备10内的装置,包括过程控制系统装置和安全系统装置,来创建或更改过程设备10的当前配置。 [0048] 如显示屏幕183所示,过程设备10包括:物理网络部分184,用于显示过程设备10内装置的物理连接;以及安全网络部分185,用于配置安全系统装置。物理网络部分184包括具有控制器187(命名为CTLR1)的控制网络部分186。控制器187可以是图1控制器24、
26中的一个,包括一组指定模块188,指定模块188是存储在控制器187中并由其执行的控制模块,还包括用于通信目的与控制器187相连的I/O装置部分189。展开I/O装置部分
189,以示出通过图1的一个底板76连接到控制器187(CTRL1)上的所有卡190。在该例子中,I/O装置部分189包括过程控制输入/输出卡C01-C05、C11-C15和C21。这些卡中每一个都可展开,来表示出与这些卡中每一个相连的不同 的现场装置(图1的现场装置40和
42中的各装置)的同一性(identity),及其它相关信息。类似地,为了说明物理连接,以遮蔽的形式表示了两个安全系统卡C07(命名为“BLR1BMS”)和C17(尚未配置),因为它们不能在控制网络中进行配置或由其配置,所以它们在该部分不能展开。然而,可以理解的是,应用屏幕183的控制网络部分186,通过在配置画面的那个部分中加入、删除或改变控制模块、I/O装置和/或现场装置,可配置与过程控制系统12相关的装置。
[0049] 安全系统14在显示屏幕183的安全网络部分185中示出,包括三个名为BLR1BMS、BLR2BMS和LS1的安全逻辑解算器191-193。类似地,如果需要的话,消息传播装置(如图1的MPD 70和72)也可在安全网络部分185中示出。在屏幕183中,展开安全逻辑解算器
191来说明其包括了指定的安全模块、一个或多个通道(连接到安全现场装置如图1的装置60和62)和安全参数。这些元件中的每一个都可在屏幕183的这个部分中进一步观测、加入、删除或改变,从而对安全系统14进行配置。具体地,安全系统14可用安全网络部分
185,以类似于用控制网络部分186对过程控制网络12进行配置的方式,对安全系统14进行配置和修改。实际上,可以理解,可使用如美国专利No.5,838,563所描述的配置过程控制系统的方法,来创建控制或安全模块,并将其指定给这些不同的控制和安全系统中的每一个,该美国专利已转让给本专利的受让人,通过引用将其明确地合并在此。 [0050] 然而,一般来说,安全逻辑模块可从存储在配置库中的模块模板对象中创建,并适于在特定的安全逻辑解算器中使用,以对过程设备10内特定的安全现场装置执行安全功能。要创建安全逻辑模块,安全工程师可复制特定的控制模板(既可用来创建过程控制器中运行的过程控制模块,也可用来创建安全逻辑解算器中运行的安全逻辑模块),来创建特定的安全逻辑模块,并可通过将该安全逻辑模块拖放到图3的配置显示屏幕183内期望的安全逻辑解算器的指示之上或之下,来为特定的安全元件,如安全逻辑解算器之一,指定安全逻辑模块。在实现该公开系统的过程中,创建了新的用户角色,安全工程师。在配置安全系统14时,管理过程控制部分的配置工程师可能不具有适当的权限去配置安全模块,这样,安全模块的配置将由安全工程师来完成。这样,系统内的保护允许描绘分离的安全工程师和过程配置工程师。
[0051] 在一个特定例子中,安全工程师可通过从安全网络菜单(可以是,如弹出式、或下拉式)中选择加入逻辑解算器(Add Logic Solver)菜单选项(未示出),来在安全网络部分185下加入安全逻辑解算器。这时,具有下一个可用系统名称的逻辑解算器创建在安全网络185下。自动创建的系统名可以以如LS1开始,但也可以在过程设备10的配置系统内重新命名为任何全局唯一的名称。图3示出了两个逻辑解算器被重命名,一个(LS1)未被重命名的情况。在这一点上,逻辑解算器仍为占位符,但并不绑定到物理逻辑解算器。此后,用户可从物理网络部分184(如I/O部分189下的一个卡)中拖放逻辑解算器到安全网络部分185上,来把特定的物理逻辑解算器(即,卡)绑定到创建的占位符上。一旦绑定了在安全网络部分185下特定的逻辑解算器,那么对此逻辑解算器所进行的配置变化就可下载到物理网络部分184所指定的特定的物理逻辑解算器上执行。进一步地,一旦绑定,安全网络部分185下的逻辑解算器可在括号中表示物理路径,而物理网络部分184下的逻辑解算器(卡)则可在括号中表示逻辑解算器名称。图3中,安全逻辑装置191和卡CO7以这种方式绑定到一起。物理网络部分184下的卡CO7被弄乱(hash out),以表示其不能在过程控制网络部分186下进行配置,但取而代之的是必须通过安全网络部分185进行配置。另外,安全网络部分185下的端口(Fieldbus)部分表示了Fieldbus端口,Fieldbus安全装置加到该端口,或连接到安全逻辑单元或安全控制器191。
[0052] 如果需要,还可通过拖曳安全网络部分185下未绑定的逻辑解算器到物理网络部分184下未绑定的逻辑解算器来执行绑定,或者可将物理网络部分184下未绑定的逻辑解算器拖放到安全网络部分185下。在以上任一情况下,将占位符绑定到物理逻辑解算器会导致在括号中产生示出的引用(reference)。当然,不支持将安全网络部分185下的占位符拖放到控制网络部分中控制器下的I/O(事实上这是被保护系统所禁止的),所以就不可能在过程控制器I/O装置下产生逻辑解算器卡。这在过程控制装置和安全装置之间提供了功能性的隔离。低级别的安全元件,如安全现场装置、安全模块、参数等,可通过在屏幕显示183的适当位置放置(如拖放)这些低级别元件的指示,来指定给或绑定到特定的安全逻辑解算器。
[0053] 然而,可以理解,可使用类似的技术,用配置屏幕183对过程控制网络186进行配置,这样,过程控制网络(系统)和安全系统都可应用同一程序来进行配置,从而指定过程控制网络和安全网络内元件之间的相互关系。此外, 由于配置程序80对过程控制网络186和安全网络185的配置都使用同一命名结构(这些名称字段中的变化被用来指定元件是与过程控制网络还是安全网络相关),因此,所有其它程序都可根据与数据相关的名称或标记,来方便地确定数据或信号源自或送往过程控制元件还是安全元件。由于该通用配置和命名结构,数据不需要从安全系统映射到过程控制系统,反之亦然。可替代的,任何程序都可从过程控制装置或安全系统装置中的任一个接收数据,并向其发送数据或指令(假定满足保护措施),还能够根据数据的名称或标记,或者数据被送往的装置或逻辑实体的名称或标记,了解到该数据有关哪个系统。
[0054] 此外,由于在过程控制系统装置和逻辑,以及安全系统逻辑和装置之间使用了通用的命名结构,还由于配置数据库为所有这些实体存储了数据,所以配置工程师能使过程控制模块引用(与之通信)安全逻辑模块,而无需进行任何映射,且反之亦然。事实上,配置工程师可以以与工程师使两个安全逻辑模块或两个过程控制逻辑模块相互引用的方式同样的方式,配置安全逻辑模块引用过程控制逻辑模块,反之亦然。正如已知的,这种引用可通过在图形配置屏幕上两个模块适当的输入和输出之间划线而图形化地连线完成,或通过用适当的标记、名称、地址等手动地指定要引用的参数来完成。在一个实施例中,使用公知的名称和参数引用模式来建立这种引用。在这种情况下,模块或其它实体的名称、以及该实体的参数就被指定为与两模块之间通信相关的标记(路径)的一部分。
[0055] 更进一步,如果需要,与过程控制系统和安全系统相关的配置数据可存储在通用数据库(如图1的配置数据库21)中,还可以以集成的方式存储在通用数据库中,并可由单个程序,如配置程序80在任何期望的时间对其进行存取。或者,设备不同部分的配置数据可分布存储在设备10中的不同位置。例如,图1的设备中节点18的配置数据(对于与节点18相关的过程控制装置以及安全系统装置两者)可存储在节点18的控制器24中,作为数据库或存储器202,而图1的设备中节点20的配置数据(对于与节点20相关的过程控制装置以及安全系统装置两者)可存储在节点20的控制器26中,作为数据库或存储器204。 [0056] 以这种方式,配置活动可从同一配置程序实现,来对与设备10相关的过程控制网络12以及安全网络14进行配置,这两个系统的配置数据可集成在一起,以表示过程控制系统的硬件、软件和安全系统的硬件、软件之间的相 互关系。然而,由于使用了通用的配置范例,所以可确保过程控制系统12和安全系统14内元件的命名和数据地址为向每个装置提供唯一的名称或地址,这样安全系统部件(和数据)与过程控制系统部件(和数据)可以容易地区分开来。这因而也消除了映射的需要。可以理解,配置程序80对过程控制系统(及其中所有逻辑和物理实体)以及安全系统(及其中所有逻辑和物理实体)使用了通用的标记、命名、寻址和引用格式。
[0057] 此外,所有位置(或区域)相关的共享配置和运行时间项对于过程控制系统和安全系统来说都只需定义一次(并不用对各系统单独定义),因为过程控制模块和安全模块在同一区域内是绑定在一起的。这种是逻辑的,因为每个区域都是既有过程控制系统装置(和逻辑)也有安全系统装置(和逻辑)的装置逻辑组。例如,在一个区域可能有多个锅炉(boiler),可称为“BOILERS”。“BOILERS”区内的每个锅炉都有其自身的安全装置和逻辑,以及过程控制装置和逻辑。这样,通过使安全模块处于在“BOILERS”区中与过程模块相同的逻辑位置,所有相关信息就可为用户保存在一起,并可通过单个或通用的配置程序对其进行访问。如果需要,在该例子中,用户可以在“BOILERS”区下加入另一个名为UNITS的“目录式文件夹”(如图3所示的文件夹)。在该文件夹中,可以有与三个不同锅炉相关的锅炉单元1(Boiler Unit 1)、锅炉单元2(Boiler Unit 2)和锅炉单元3(Boiler Unit 3)。再有,安全模块和过程控制模块都可放置在正确的锅炉单元(Boiler Unit)目录下,来表明哪些安全模块(和过程控制模块)用于哪个锅炉单元,从而在配置显示中进一步提供颗粒性。 [0058] 因此,可以理解,安全仪表系统配置和过程控制系统配置可从同一工程应用程序来进行,它可以使配置浏览、管理、测试和备份等能在单个位置进行。更具体地,单个配置数据库管理程序,如备份配置数据库的备份程序、向配置数据库输入数据的输入程序、以及其它程序,既可以用于配置数据库内的过程控制系统数据也可以用于配置数据库内的安全系统数据,从而减少了各系统所需的支持程序的数量。此外,设备10中特定部分(如区域)的安全仪表功能,可以在与该同样的部分(如区域)的过程控制配置相同的位置上进行配置和保存。
[0059] 因此,来自过程控制和安全系统透视(perspective)的一个区域的所有相关信息都处于单个位置,并使用同一个程序进行配置。更具体地,过程控制系统元件(如过程控制器24、26或现场装置40、42以及其中执行的模块或其它 逻辑)和安全系统元件(如安全控制器50-56或安全现场装置60、62以及其中执行的模块或其它逻辑)可在一个区域内,用同一程序逻辑地配置在一起,而不用考虑使用哪个控制器来执行过程控制或安全系统逻辑。因此,在了解到有多少控制器,控制器在系统中所处位置(地址和/或名称),以及将逻辑指定到哪个控制器之前,创建用于过程控制系统和安全系统两者的配置逻辑。由于这一事实,配置安全模块不需要了解过程控制系统的物理设计。这种基于逻辑而不是基于物理而进行的配置也使得在系统之间容易移植,能响应过程设备内物理设计的改变,容易地对逻辑解算器重新分配模块,还能容易地建立用来创建过程控制和安全系统配置逻辑的类库模板。此外,由于安全模块之间的引用通过安全模块名称/参数来完成,所以安全模块之间的通信可以不依赖于安全模块所指定的逻辑解算器来进行配置。
[0060] 如上所述,尽管过程控制和安全系统配置集成在一起,但配置程序具有保护措施,来分离地定义可对过程控制和安全系统进行配置活动的用户。具体地,配置程序80可设置成通过不同的用户帐号来进行访问,每个用户帐号与特定的用户实体相关。用户实体可以是一个或多个用户,在某些情况下,可以是独立于人类而进行操作的应用程序。为了简单起见,下面将可互换地提及用户和用户帐号。
[0061] 可以理解,每个用户帐号都可具有或被分配有不同的访问权限,既针对过程控制系统又针对安全系统限定用户实体的权力。同一用户帐号对于过程控制系统配置功能和安全系统配置功能可具有不同的访问权限,同时即使不访问,每个用户帐号也都可对过程控制系统和安全系统限定一些的访问级别。如果需要,任何特定的用户帐号都可具有访问权限,允许用户实体仅对过程控制系统采取一个或多个动作,仅对安全系统采取一个或多个动作,或者既对过程控制系统也对安全系统采取一个或多个动作。此外,对于每个过程控制系统和安全系统可以限定不同级别的访问权限,例如,允许用户实体读取过程控制或安全系统数据的级别、允许用户写入或改变过程控制或安全系统参数或设定的级别、允许用户创建过程控制或安全系统模块或其它逻辑的级别、允许用户下载过程控制或安全系统模块到适当装置的级别、以及允许用户在一个或多个过程控制或安全系统装置上执行校准程序的级别。当然,对于过程控制系统和安全系统中任何一个或两者,可给予任何用户实体任何数量的访问权限,也可使用除了这里所列权限级别以外的其它可能的权限级别。 [0062] 这样,就可防止过程控制工程师对设备内的安全系统进行配置,同时防止安全系统工程师对设备内的过程控制系统进行配置。如上所述,对配置和运行时间权限进行用户保护的保护系统,对于过程控制和安全系统可全部集成到单个程序中(例如配置程序)。如上所述,可设置用户帐号来限定特定用户具有特定位置(或在特定程序内)的权限。如果需要,控制的运行时间用户范围可按区域限定,也可按过程控制和安全系统的功能限定。这样,让操作者可以访问一个或多个特定区域的安全系统和过程控制系统,但不能访问其它区域。以这种方式,可在用户和位置相结合的基础上进行保护。如果需要,保护还可根据执行配置程序的位置或计算机来进行,这样使得用户必须在特定的计算机上具有适当的访问权限,才能够从该计算机执行配置功能。
[0063] 如将要了解到的,可以以美国专利第5,838,563、5,940,294和6,078,320号所公开的方式,将安全系统配置活动限定为在图形显示中相互连接的逻辑元件(如功能块或模块),在此通过引用,将上述专利内容明确地合并于此。在这种情况下,可创建安全系统功能或逻辑(以安全系统模块的形式),而不必限定哪个实际安全系统硬件执行该逻辑,以及将使用哪个安全系统I/O通道。一旦限定了硬件和通道的定义,就可使用简单的硬件和I/O指定操作(如图3配置屏幕上的拖放操作)来对逻辑和硬件进行绑定。该操作使安全系统功能能在安全系统之间具有高移植性,并为设置安全系统14的硬件位置和通道地址提供了更高的适应性。此外,与过程控制模块相似,为了易于重复使用,安全系统逻辑模块可在库中作为模板存储,使同一基本类型的安全模块可供设备中不同区域的类似装置或相同装置重复使用。以这种方式,可复制安全系统逻辑模板到适当区域,并分配给安全系统硬件。 [0064] 此外,由于安全系统一般小于其相关的过程控制系统,因此,要能从过程控制系统硬件和逻辑中轻松地找到并查看安全系统硬件和逻辑,从而查看安全系统逻辑模块到安全系统硬件的分配,是很重要的。如前面参考图3所述的配置系统,通过使安全系统14和过程控制系统12的配置信息分离,或在配置图的不同标题下加以区分,来完成该功能。 [0065] 此外,为了互锁等目的,一般在过程控制系统中要求来自安全系统逻辑的信息。如前面所提议,传统上需要把安全系统的配置映射到过程控制系统的保持寄存器或其它适当定义的数据结构中,以便在控制策略中供过程控制系统使用。通过上述的集成配置,安全系统信息和数据可以很容易地供过程 控制系统逻辑使用,而无需映射该数据,因为所有数据和信息都在一个集成的配置中提供和存储,从而来自安全系统的数据可按照与来自于过程控制系统逻辑其它部分的数据用在过程控制系统逻辑中完全相同的方式,直接用于过程控制系统逻辑。这一集成既减少了配置的时间,也降低了配置的复杂性,还显著减少了与数据映射相关的误差。
[0066] 可以理解,安全系统装置的配置和状态数据也可集成在这一单个配置环境中。这既包括装置的具体信息,也包括与装置有关的控制系统信息,如装置报警配置。通过某些通信协议,如Foundation Fieldbus,控制信息可驻留在其自身的现场装置中。如果想利用该信息作为安全系统功能的一部分,那么,对于理解该逻辑来说,在同一单个的配置环境中具有该信息的能力是很重要的。此外,来自于安全系统14任何部分(包括传感器、传动器和逻辑解算器)的状态信息可以适当地用于控制系统12或安全系统14中。例如,根据装置的健康,使基于装置健康的选择机制降级,或对控制系统12中的互锁进行调整。没有集成的配置环境,很难实现过程控制系统12和安全系统14之间信息的这种共享。 [0067] 从上述讨论中可以理解,通过集成的配置,所有标记、参数引用、命名、保护等,都可从一个通用的数据库来进行配置。这使用户削减了在过程控制系统中为安全重要功能所提供的投资、培训等。此外,通用的浏览器视图(explorer view)(如图3中集成了过程控制装置和逻辑以及安全系统装置和逻辑的视图)可使用户很容易区分过程、装置和安全功能,从而为视图上的适当项目设置上下文,以清楚地区分上下文中的所选项目的指令等。同时,集成体系提供了对所标记项的搜索、报告等,以便于浏览。在浏览器视图上设置参数也允许隐藏用户不需要的功能。实际上,如果需要,每个用户或用户帐号都可具有不同的偏爱,它影响了向用户显示配置信息的方式,配置信息包括过程控制系统配置信息和安全系统配置信息。
[0068] 在配置活动以外,与过程控制系统12和安全系统14相关的诊断活动也可集成在通用的程序和提供给用户的通用视图或显示中。具体地,图1的诊断程序82可提供诊断信息,并使用一通用接口为过程控制系统12和安全系统14执行诊断活动。在一个例子中,诊断程序82可以是一报警显示程序,它接收任何类型的报警,如过程报警/警报信号、装置报警/警报信号、通信报警/警报信号等,这些报警是由过程控制器24和26和安全逻辑解算器50-56 产生或在其中检测到的。由于过程控制器24和26以及安全逻辑解算器50-56传送的消息因其与过程控制硬件/软件或安全系统硬件/软件相关,而可区分,因此这些报警或警报可集成在通用的显示或通用的诊断程序中,同时又保持跟踪并显示该报警的来源,即报警是安全系统报警还是过程控制系统报警,同时还保持追踪报警是何时由过程控制系统12或安全系统14最初产生或打上时间标记的。
[0069] 更具体地,由于图1的诊断程序82可以按与前面所讨论的关于配置程序80相同的方式来识别过程控制以及安全系统报警,因此不需要把一种类型的报警映射到为其它类型报警构造的显示中。而是,程序82能够简单地应用报警检测,和在报警消息由逻辑解算器50-56或过程控制器24或26之一所创建时产生的时间标记,并在用户界面上以任何适宜的格式来显示该信息。然而,诊断程序82能对由过程控制系统硬件或安全系统硬件接收而来的每个报警应用一致的规则,来确定报警的优先级,控制报警的确认,并使能/禁止过程控制和安全系统报警的功能。
[0070] 可以理解,要集中报警,过程控制器24和26内的报警检测软件或逻辑就得进行检测、标上时间标记、并发送报警给诊断程序82,和通常在过程控制系统内的一样。此外,安全逻辑控制器50-56内的报警检测软件或逻辑检测、标上时间标记、并发送报警消息到诊断程序82。过程控制报警消息(由控制器24和26发送)和安全系统报警报消息(由逻辑解算器50-56发送)的格式是类似的,二者具有同样或通用的格式,具有时间标记字段、报警名称或类型字段等。此外,消息具有一些指示,如字段、地址或标记等,来识别消息或报警是起始于过程控制系统装置还是安全系统装置中。随后在报警显示中,诊断程序82可利用该指示显示特定的报警是安全系统报警还是过程控制系统报警。此外,诊断程序82可基于报警是安全系统报警还是过程控制系统报警,对任何报警提供不同的确认、观测和使能/禁止功能。例如,诊断程序82可根据报警是过程控制系统报警还是安全系统报警,来把报警表示成不同色彩、处于显示的不同区域、或具有不同的名称等等。类似地,诊断程序82可通过任何类别,如优先级、名称、类型和/或报警是安全系统报警还是过程控制系统报警,来对报警进行过滤或分类。然而,诊断程序82可用一套通用的规则来对安全系统和过程控制系统报警进行分类(对于优先级),以提供过程控制系统和安全系统中一致的报警类别。此外,报警的时间标记会反映出在过 程控制系统12或安全系统14内首次检测到报警的时间,从而产生关于报警何时在过程控制和安全系统内产生的更好、更精确的信息。 [0071] 图4示出了一个在工作站16中运行,提供集成的过程控制和安全系统报警视图的诊断程序82的例子。一般来说,诊断程序82显示与操作者的理解或能力相关的过程控制系统12和安全系统14的有关信息,并针对过程中出现的报警,观测过程当前的运行状态。
可由程序82创建的显示的例子在图5中表示出来,包括报警栏273,其中具有报警指示;还包括主显示271,表示了过程设备的一部分,此部分包括过程控制和安全系统装置以及与过程设备中与报警栏中一个或多个报警有关的部分相关的其它装置。主显示271可提供有关过程设备当前状态的信息,如储罐中液体的液位、阀门和其它流体管线的流量特性、装置的设定、传感器的读数等。此外,该显示可表明安全装置的当前状态,如关闭阀门、开关等。因此,可以理解,操作者可利用诊断程序82来观测过程设备10内的不同部分或装置,并且,在此同时,诊断程序82还与控制器24和26以及安全逻辑解算器50-56进行通信,必要的话,还与现场装置40、42、60和62以及设备内的任何其它装置进行通信,以获得与过程设备相关,或在其中产生的相关数值、设定和测量值。
[0072] 诊断程序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中之外,还可显示出某种类型的报警(如过程报警、硬件报警和装置报警)。
[0073] 如果需要,诊断程序82可基于一些因素接收并过滤报警信号。具体地,诊断程序82可根据运行程序82的工作站、登录到工作站的操作者或个人、以及操作者可配置的设置如报警的类别、类型(过程、硬件、装置等)、优先级、 状态、产生时间、来源(过程控制或安全系统)等,来过滤报警。例如,程序82可过滤报警,以仅仅显示来自设备中运行程序82的工作站配置为接收的区域或部分的报警。即,设备某些区域或部分的报警可以不在某些工作站上显示,而是每个工作站只限于显示设备中一个或多个特定区域的报警。同样地,报警可通过操作者的识别来进行过滤。具体地,可限制操作者浏览某些类别、类型、优先级等的报警,或限制其浏览来自设备一部分或一子部分(如区域)的报警。诊断程序82还可根据操作者的清理过滤出要显示的报警。这些工作站和操作者过滤设置在此是指工作站和操作者范围的控制,可包括使某些操作者可浏览和处理过程控制报警和安全系统报警中任何一个或两者的保护功能。
[0074] 诊断程序82还可根据操作者可配置的设定,包括,如报警类别(如过程、装置或硬件报警)、报警类型(通信、故障、警告、维护等)、报警优先级、模块、装置、硬件、节点或报警所属的区域、报警是否被确认或是否被抑制、报警是否被激活、报警是过程控制报警还是安全系统报警,等等,来过滤可视报警(即在工作站和操作者范围控制中的报警)。 [0075] 再参照图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内运行的配置程序、诊断或其它过程程序、数据库管理程序等。
[0076] 图4的诊断程序82包括报警处理单元264,它接收来自通信层262的报警,对这些报警进行解码,并把解码后的报警存储在数据库266中。诊断程序82还包括过滤器268,报警处理单元264使用它来确定哪些报警要显示在与工作站16相关的用户界面269(如CRT、LCD、LED、等离子显示、打印机等)上。过滤器268可将其设定存储在数据库266中,这些过滤器设定可由用户根据该用户的偏爱进行预配置和/或修改。
[0077] 一般地,过滤器设置可控制报警的类别和优先级,如果需要,可利用一 些不同的规则来建立报警显示的顺序。首先,工作站和操作者范围根据操作者识别和操作者所登录的工作站、报警是过程控制或安全系统报警,等等,来控制会影响特定操作者所能看见的内容(哪些报警会显示在特定的工作站上)。在这种情况下,可向每个工作站分配操作许可,没有操作许可,报警信息和所有报警列表/摘要显示都将是空的,即报警处理单元264不会显示任何类别(过程、硬件或装置)、或任何来源(过程控制系统或安全系统)的激活的或抑制的报警。而且,只有来自当前操作者范围(通常给操作者至少一个设备区域中的保护密钥)中设备区域的报警,才合法地出现在该工作站的报警显示中。同样,只有来自设备区域和没有利用设备区域或单元过滤显示来“关闭”的单元的报警信号才合法地出现在报警显示中。以这种方式,过滤器268首先防止了工作站和操作者范围以外的报警显示,同时防止了来自由操作者关闭的设备区域或单元的报警的显示。
[0078] 在测试完报警对工作站和操作者范围控制的一致性以后,过滤器268接着根据操作者的设置,包括,如报警类别、报警优先级、报警类型、报警的确认状态、报警的抑制状态、报警时间、报警的激活状态、报警来源(即来自过程控制系统或安全系统)等,过滤并确定出报警的显示顺序。接收到的报警,其是利用报警消息发送到程序82的,包括对应于这些值中每一个的参数,过滤器通过将报警的适当参数与过滤器设置相比较,来过滤要显示的报警。报警处理单元264可根据报警产生的地址、报警消息内的字段等,检测出报警的来源。尽管操作者可设定通过过滤器268的报警的显示顺序,但该顺序还可由预先配置的设置来确定,产生不同报警的更一致的显示。
[0079] 在任何情况下,操作者都可根据操作者或用户最感兴趣的报警来源和/或报警类别来定制报警显示的方式,可以是诸如过程报警、装置报警、或硬件报警的一个类别的所有报警,或者可以是诸如过程控制报警、安全系统报警的一个来源的所有报警,或者是两个或更多报警类别和来源的结合。用户还可控制如何表示报警以及报警提供给什么样的信息。以这种方式,诊断程序82可用来使单个人就能执行安全操作者和过程控制操作者的操作。
或者,在同一系统的不同时间中,过程控制操作者可用同一系统仅仅观察过程控制报警,而安全操作者可观察安全报警。以这种方式,同一诊断程序可由不同类型的人员在同一时刻(在不同的工作站)使用,来观察与过程控制系统12和安全系统14的操作功能相关的不同方面的报警。
[0080] 在报警处理单元264用过滤器268确定了哪个(些)报警应该通过显示器269显示给用户,以及报警应该以什么顺序显示之后,报警处理单元264将该信息提供给用户显示界面270,它可应用任何标准的或期望的操作系统以任何期望的方式,在报警显示器269上显示报警信息。当然,用户显示界面270还从数据库266中或从通过通信层262从过程设备接收的其它通信信号中,获得它所需要的其它信息,如有关过程控制系统12和安全系统14的设计或配置的信息,以及在这些系统中参数值或信号等。同样,用户显示界面270还从用户请求接收指令,如有关特定报警的更多信息、对于报警或过滤器设置的改变、新的报警显示等,并把该信息提供给处理单元264,然后其采取要求的动作,在数据库266中搜索报警信息,等等,从而通过显示器269为用户提供新的报警画面。
[0081] 如前所述,不同类别或来源的报警,包括过程控制报警和安全报警,被送到诊断程序82,并由诊断程序82接收,以某方便的消息格式在显示装置269上进行可能的显示。因此,不同类别和类型的报警可集中在同一界面上,为操作者提供关于过程控制系统和安全系统故障操作的更多信息。通过在此描述的集成显示,操作者可在同一屏幕或显示装置上查看实际的过程控制和安全系统报警,并可以同样的方式对各报警进行处理。 [0082] 当然,有多种方法在用户界面上以集成的方式来显示不同的过程控制和安全报警。在一个实施例中,对过程控制和安全系统报警的处理可类似于在显示器上对过程报警的传统处理方式。因此,操作者可按照与其确认或抑制过程控制报警相同的方式来确认或抑制安全报警。同样地,过程控制和安全系统报警可以按照表示报警的类型、优先级、名称、过程部分、状态等的方式来显示。此外,与报警相关的主显示可提供给用户,主显示是这样一种显示,其帮助用户了解或查看报警来源、或有关报警的硬件或软件元件的功能,如报警产生或与报警相关的模块、过程环路、装置、节点、区域等。主显示可以是,例如,装置的物理画面、装置所处空间或区域的数字图片或画面、与装置有关的其它信息,如部分设备画面、表示设备实现过程中设备中装置间连接的示意图或概念图等。报警的主显示可由用户创建,并可以,例如适应于模块(对于过程报警)、适应于装置(对于装置报警)以及适应于节点(对于硬件报警)或适应于设备中与报警相关的区域或部分。主显示还可调整为适用于不同的功能。例如,过程报警主显示可以适应于过程操作功能,装置报警主 控制显示可适应于现场装置维护功能,而硬件主控制显示可适应于节点维护功能。硬件报警的主显示可以是,例如,控制器所处位置的画面、表示了所有硬件报警状态的控制器I/O硬件的示意图,控制器所支持的单元的总体视图或主显示的导航按钮、维护过程列表等等。同样地,装置报警的主显示可由用户创建,并可以,例如适应于装置维护功能。主显示可存储在数据库266中(图4),并可在使用主显示选择报警时访问并在显示器269上表示出。当然,对于不同的报警可使用相同或不同的主显示。
[0083] 在一个实施例中,集成的报警信息在显示器上,以例如在显示器一边缘处的报警栏的形式提供给用户。下面参考图5,报警栏273位于屏幕的底部。报警栏273包括第一行,显示由过程控制系统12和安全系统14所产生的、且通过过滤器268到达显示器的各种报警的指示。至少一个在报警栏273中指示的报警能与过程控制系统和安全系统在主显示271中描绘的部分相关。根据过滤器268的过滤设定来决定报警栏273中显示的特定的报警和这些报警的顺序。一般来说,还没有确认或抑制(suppress)的最高优先级的报警首先被显示出来,接着显示下一最高优先级的报警,以此类推。在图5的示例屏幕中,最高优先级报警274表示的是与名为PID101的控制程序相关的过程控制报警。报警274用红色显示,来表示其优先级是很高的。在报警栏273的第二行,报警信息区276显示出与当前所选的报警栏273中的报警相关的报警信息。在图5的例子中,选择了过程控制报警274,报警信息区276示出,报警274于星期五12:52:19产生,与“罐16液位控制”相关,具有标号或名称“PID101/HI_HI_ALM”,具有高、高的优先级,是严重的(critical)报警。如果报警274闪烁,就意味着报警没有被确认,而在报警栏273中稳定的(不闪烁的)报警指示则意味着报警已由某些操作者或用户确认。当然,其它类型的报警信息也可在报警信息区276中显示。
[0084] 当然,报警栏273中的其它报警指示,如报警指示278,可以是在过程设备的相关区域或部分中,与安全系统装置相关的安全系统报警。该安全系统报警可以是任何类型的报警,包括过程报警(由安全逻辑模块产生)、硬件报警(由安全逻辑解算器产生)和装置报警(由安全系统现场装置60、62之一产生)。这些其它的报警指示可以是其它颜色,如黄色、紫色等,来表示与报警或其它报警源相关的其它级别的严重度或优先级。在选择另一报警,如报警278、280、281或282时,有关该报警的报警信息会显示在报警信息区域276 中。观察报警栏273中的报警,操作者可确认报警,并警告维护人员或工程师采取适当的动作来校正导致报警的条件,或者,可在过程控制系统或安全系统内采取其它适当的步骤,如重置某些设定点来缓解报警条件。当用来只显示过程控制报警时,图5的显示器类似于当前DeltaV控制系统中提供的已知操作者显示器。然而,可以理解,图5的报警显示集成了过程控制系统报警和安全系统报警两者的显示和控制。
[0085] 如前所示,通过选择报警栏273中的一个报警(如报警274),示出了该报警的主显示271。具体地,如图5所示,屏幕的主体包括主显示271或与过程设备内特定报警(所选择的报警)相关的对应硬件表示图。在图5的例子中,硬件包括通过各种阀门和流体流动管线而相互连接的三个罐,以及附在其上的各种传感器。该硬件表示图表示了过程设备一部分内的装置,并提供了有关该装置某些操作的一定信息,如与罐、传感器等相关的某些值或参数。所表示的装置可以是过程控制装置和安全系统装置二者之一或两者。当然,某些该信息可由存储在数据库266中的配置信息、或来自过程控制系统和安全系统中的传感器的信号提供。在后一种情况下,该信息通过通信层262传送上来,并通过任何已知或期望的软件提供给用户显示界面270。
[0086] 还有,如图5所示,为PID控制单元(模块)描绘的“虚拟仪表”的面板272,作为报警栏内一个报警(在这种情况下,即过程控制报警274)的附加信息表示出来。面板272提供了有关所选过程控制报警的进一步的信息,并识别控制单元(模块PID101)的名称和与该模块相关的某些设置或参数。目前,这种过程的图形化描述的产生用于过程控制报警,是本领域已知的,因此不再详细描述。足以说明的是,对过程设备部分或整体的这种、或任何其它期望的图形化或非图形化描述,都可显示在屏幕上,使用户如操作者能观察过程设备任何部分的操作功能或硬件功能,包括过程控制系统实体和安全系统实体。当然,该显示器可描绘出或表示出各硬件单元、相关的硬件组、设备的部分或区域的方框图或其它图,等等。
[0087] 再次参照图4,诊断程序82还可包括激活的报警汇总控制程序290和抑制的报警汇总控制292。这些程序可用来为用户提供显示,表示系统中当前激活报警或抑制报警的汇总。当然,这些汇总可以按任何方式或样式在显示器269上组织和表示,可以理解,这些汇总可将过程控制系统报警和安全系统报警在同一显示或列表中汇总到一起,或者如果需要的化,将其分开。当 然,诊断程序82还可包括保护程序294,它执行适当的保护过程,以决定用户是否可浏览和操纵任何特定的报警。具体地,保护程序294可实现一组规则,该规则设计用来控制哪些用户可浏览过程控制和/或安全系统报警、哪些用户可通过确认这些报警、抑制这些报警来对这些报警进行操纵,等等。这样,保护程序294可使特定用户能够确认或抑制某些过程控制报警而不能确认或抑制安全系统报警,允许另一用户能确认或抑制某些安全系统报警而不能确认或抑制过程控制报警,并允许另一用户能确认或抑制该两种类型的报警。当然,对于浏览过程控制和安全系统报警、确认这些报警、抑制这些报警等,可建立和执行不同的规则或权限。如果需要,各种类型的报警可一起显示,这样,例如安全装置报警就可和过程控制装置报警一起显示,而安全过程报警可以和过程控制系统过程报警一起显示,安全硬件报警可以和过程控制系统硬件报警一起显示。当然,可根据报警类型和报警来源、或它们的任何组合,来一起浏览、或分开浏览这些不同的报警。 [0088] 更进一步,安全报警和事件可以与过程报警和事件一起,电子存储在同一数据库中,在存储到数据库中时,每个报警都被编上时间(time chronicled)。因此,过程报警和事件的编上时间的历史记录与安全报警和事件的编上时间的历史记录集成到一起,该集成的数据库可用来根据其中发生的报警和事件,更方便地观察和决定过程控制系统12和安全系统14之间的相互作用。
[0089] 可以理解,诊断程序82可使用上面关于配置程序80描述的相同的用户帐号和权限,来定义不同的诊断或报警浏览访问权限,这些权限能设定成使不同用户实体根据报警类型、报警来源(过程控制或安全系统)等,来浏览、确认、关闭(启动或禁止)报警。可以理解,一些用户只可浏览、确认或关闭过程控制系统报警,或只可浏览、确认或关闭安全系统报警,或二者中的一些或全部。此外,可根据对程序82进行访问的用户实体,为每个用户帐号关联偏好(preference),使诊断(如报警浏览)程序82能自动提供不同的视图、过滤器设置等。
[0090] 尽管把集成的报警(警告)浏览程序作为集成诊断程序82的例子进行了讨论,也可以使用其它类型的集成的诊断程序。具体地,诊断程序82可示出过程设备中区域、单元、装置、控制器、模块、逻辑单元等等的分级视图,使用户能获得装置内包含的任何诊断信息,如包含在设备内装置或设备中的信息。这种分级视图可类似于图3的配置图,但对于每个与不同区域、单元等 相关的过程控制和安全系统,表示了不同的装置、模块等。利用该视图,用户可深入到一过程区域、单元等,到达过程控制系统装置、模块、功能块等,或到达安全系统装置、模块、功能块等之一(或二者兼到)。在视图的任一点,用户能够访问或浏览当前从装置、模块、功能块等可得或与其有关的诊断数据,包括由装置、模块、功能块等自身产生的诊断数据,或使用其它工具,如与该实体相关的校准和测试工具(可以是硬件和软件工具)来确定的诊断数据。该诊断数据包括可使用健康数据、模式和状态数据、当前设置或操作参数数据,或可从装置获得的任何其它数据。以这种方式,用户可利用诊断程序82来获得对过程控制系统装置和安全系统装置两者的当前健康状态的组合的、集成的了解,并通过通用程序甚至是通过通用显示屏,来实现对设备中任何诊断数据的访问。 [0091] 此外,这种诊断程序82可提供汇总视图,包含了来自过程控制系统装置和/或安全系统装置之一或两者的诊断数据。此外,集成的视图可向上滚动,从而可以以汇总或组合的方式来浏览单元、区域等的诊断数据,从而可以利用来自该区域、单元等的过程控制系统装置和安全系统装置两者的诊断数据,来确定有关该区域、单元等的全面集成。如果需要,诊断工具还可以存储在该诊断程序中,或由该诊断程序来实现。例如,控制回路调节器(例如,可以用于安全系统控制回路或过程控制系统控制回路)可存储在诊断程序82中并从其中运行。当有关控制回路或模块的诊断数据表示控制回路调节不良、或没有在期望的容限内运行时,用户可选择运行该工具。其它诊断工具可包括用于任何类型的装置、逻辑模块等上的校准和测试工具。
[0092] 更进一步,可在工作站16(图1)中运行通用的保护程序,来为该工作站提供保护,使用户仅能登录到该工作站一次(通过如用户帐号),并能够根据分配给用户实体和工作站16的权限,来对过程控制系统12和安全系统14之一或两者运行不同程序,如配置/授权(commission)、下载、浏览和操作(即写入参数值)。通过通用保护程序的这种程序的集成,使用户能更方便地管理综合功能(例如,有一个地方来报警优先级、保护等进行配置),还可使用户更方便地扩展系统、修改系统(因为在重建系统时不需要映射了)以及升级系统(因为对于过程控制系统和安全系统可使用单一的协调(coordinated)的升级策略)。此外,用户可随着需求的增长,作为整体或部分地管理装置、控制系统和安全系统的升级。此外,用户不必分离地测试系统的不同部件,希望当所有部 件到位时任何部件都能够一起运行,因为系统集成的性质使得它们能一起配置、测试和诊断。
[0093] 图6示出设置在图1的一个工作站16中的保护程序300,它可针对图1中集成的过程控制系统和安全系统内所采取的动作(如读和写),根据该动作(如读或写)是与过程控制系统装置相关还是与安全系统装置相关,来自动执行保护过程。尽管保护程序300表示成一个独立的程序,但可以理解该程序可以合并到图1的操作者工作站16(或任何其它计算机)所用的任何其它程序中,来确保以受保护的方式对安全系统14(如果需要,可以是过程控制系统12)读出或写入。此外,尽管保护程序300可用作前述配置程序80和诊断程序82的一部分(如子程序),但它还可用于任何用户界面程序85中,使用户对过程控制系统或安全系统进行修改或写入,或浏览有关这些系统的信息。此外,可以理解,保护程序300可相对于配置和诊断程序80和82建立并执行前面讨论过的用户帐号和访问权限。 [0094] 图6中示出的保护程序300,如前面参照图4讨论,在工作站16内,在通信层262和用户显示界面270之间通信连接,它包括保护处理单元301,其针对从或向过程控制系统12或安全系统14的任何期望的读出或写入,执行保护过程。保护程序300可存储一组安全系统规则302和一组过程控制系统规则304,它们定义了分别对安全系统14和过程控制系统12读出或写入进行的保护的类型和性质。保护处理单元301可与用户显示界面270结合进行操作,来检测过程控制系统12和安全系统14内各元件的读出或写入要求。 [0095] 根据来自用户显示界面270、有关请求读写活动的信息,保护处理单元301可利用一来源/目标导出(derivation)文件306来确定请求的读写是有关过程控制系统元件(或参数)还是有关安全系统元件(或参数)。来源/目标导出文件306可简单地提供有关由用户界面产生的显示中的哪些字段对应于过程设备的哪些元件的信息,且如果需要,还可存储与用户界面显示中显示区域的目标相关的标记或地址,从而使保护处理单元301能确定用户显示器上具体的动作或请求是关于过程控制系统元件的还是关于安全系统元件的。
如果需要的话,保护处理单元301还可以或作为替代而使用存储在配置数据库310中的配置信息,来确定具体的元件是安全系统元件还是过程控制系统元件。在任何情况下,在确定了请求的动作有关过程控制系统元件还是安全系统元件之后(且一般来说,是在确定了与从或向元件请求读出或写入相关的地址或标 记之后),保护处理单元301可存取安全规则
302或过程控制规则304,来确定是否允许这个读或写,并且如果允许的话,确定针对该读或写执行哪些保护过程。
[0096] 例如,利用用户显示269,用户可请求改变安全系统装置内的参数,例如,与检测故障条件相关的设定点。保护处理单元301(通常与设计成允许这些写入的程序相结合,或作为该程序的一部分)将通过确定请求写入的参数的地址或标记,来确定该写入的目标。这样的地址或标记可以存储在来源/目标导出文件306中,或通过其得出。根据地址或标记,保护处理单元301将确定该请求是对安全系统参数作出的还是对过程控制系统参数作出的。如果针对安全系统参数作出请求,则保护处理单元301就使用安全规则数据库302中的规则,来确定该写入是否得到允许,即,用户是否具有适当的权限来对该单元写入。在一些情况中,用户界面程序可能已经了解了用户的身份,并通过把用户界面屏幕中用户不能写入的部分变灰,来预先指明用户的写入能力。其它情况中,在保护处理单元301的提示下,用户界面程序可在请求的写入动作之前,要求用户提供密码和用户标识,并针对适当的权限核查该密码和标识。
[0097] 另一方面,如果向过程控制系统装置请求写入,则保护处理单元301可存取过程控制规则数据库304中的规则(或存取权限),来确定用户在过程控制系统内是否具有适当的权限来进行请求的写入。可以理解,保护处理单元301可对于读和写执行相同的或不同的保护规则,也可以对于对过程控制系统元件和安全系统元件的动作执行相同的或不同的保护。在任何情况下,当保护处理单元301确定该用户(除使用用户界面的人员以外,也可以是程序)具有请求读或写的适当权限时,保护处理单元301使通信层262发送适当的消息来对过程控制或安全系统装置进行读或写。此外,保护处理单元301还可执行读或写所需要的任何其它保护过程(存储在规则数据库302或304中),如写认证过程。 [0098] 图7示出了简单的显示屏320,表示利用保护程序300所提供的保护,使用户能对过程控制系统元件和安全系统元件两者读出或写入的用户界面。具体地,显示屏320的左侧与具体的过程控制系统元件的过程控制系统读和写相关,而显示屏320的右侧则与具体的安全系统元件的安全系统读和写相关。
[0099] 如从图7可以了解到的,用户(或底层程序)可查看(读出)与名为CNTRLOOP1的过程控制系统控制回路相关的值,包括在该回路中当前测量的各种温度、压力和流量值。这些读数可以是持续的(非用户可变的),如显示区域320中字段321所示。此外,用户可浏览名为CNTRLOOP1的控制回路内当前所用的温度设定点和控制器增益。如果需要,用户可通过在字段322和324内输入与温度设定点和控制器增益相关的新的值,来改变这些值。 [0100] 以类似的方式,用户可使用显示320查看并修改有关安全系统元件的信息。具体地,屏幕320的右侧表示与安全系统回路相关的信息(例如,可以是与控制回路CNTRLOOP1所控制的硬件相关的)。在这种情况下,可以表示某些安全系统值,如关闭阀和压力开关的当前状态(如325处所示)。此外,在字段326和328可表示用户可配置的安全系统参数,如名为TANK1(罐1)的罐关闭填充液位,以及名为TANK1和TANK2的罐的关闭温度,在该字段还允许用户修改这些参数。
[0101] 一般来讲,屏幕320的各区域与过程控制系统或安全系统内的地址或元件相关联,该关联可以存储在来源/目标导出文件306中(图6)。在任何情况下,图6的保护程序300可用来在一特定用户试图修改一可写参数时,确保该用户具有进行该动作的适当级别。这样,仅仅当用户或请求程序具有适当的权限或许可时,保护程序300才可访问并允许从过程控制或安全系统读出参数。由于使用了地址、标记或其它字段的通用通信格式来区分过程控制系统元件和安全系统元件,因此对于过程控制系统的读出和写入以及安全系统的读出和写入,保护程序300可轻易将其区分并执行分离的保护功能(根据屏幕320内的区域),从而使这些读出和写入可从一通用用户界面程序中来进行。当然,保护程序300可结合用户界面程序运行,使显示320上用户不具有读出或写入权限的区域变灰。尽管在此描述了保护程序300对过程控制系统和安全系统(以及其中的装置和其它实体)提供读和写的保护,但可以理解,保护程序300还可对不同程序执行其它级别的访问,如允许或阻止逻辑模块的产生、下载逻辑模块、执行校准过程、观察、确认和启动/禁止报警,等等。 [0102] 可以理解,与过程控制系统值相比,用户保护对于安全系统值是独特地定义的,在过程控制系统值之上,可对安全系统值进行在线用户修改上的附加保护,这些附加保护由安全规则数据库302和过程控制规则数据库304定义(图6)。事实上,这是识别安全系统值和过程控制系统值之间差别的能力, 其使得能够实现对安全系统值的独特处理。因此,通过应用保护程序300,任何程序都可自动识别安全系统的读和写,并确保正确的保护以及写认证是适当的,以改变过程设备10内的值。该自动执行写保护的方法可用来保证送到安全控制器的写入值是有效的,从而消除了使用其它类型方案所需的大量的用户编程。 [0103] 作为保护过程的例子,以下将更具体地描述一种进行安全写入的方法。作为背景,只要安全系统的操作参数发生改变,IEC 61511标准就需要重复确认步骤。保护处理单元301可自动执行该重复确认步骤,确认其是否定义为安全规则数据库302内要对安全系统写入执行的过程。这样,利用规则数据库302,保护程序300可在对于安全系统的所有写入中执行重复的确认步骤(或任何其它过程),而不需要用户方任何附加的编程或特殊的配置。
[0104] 该IEC标准表述为一种方法,其指出了一种期望,即防止操作者选择错误的项进行修改,或不理解修改的过程意义,并有助于防止消息的讹误。为执行该标准,大多数已知的集成过程控制和安全系统从过程控制系统向安全系统映射数据,然后在发送要改变安全系统的单个消息之前,在操作者图形内创建“是否确定”的对话框。
[0105] 然而,下面将具体描述一种更安全的方法,它执行可用于所有程序如操作程序、配置程序和诊断程序的写保护特征。值得注意的是,该技术或特征可应用于任何用户自任何程序向安全逻辑解算器发起的改变或动作中,并因此可以用于利用任何指令,如许可指令、下载指令、锁定指令、切换指令等,改变安全系统逻辑解算器中的值。此外,以下描述的写保护特征可对在任意两个应用程序之间传送的任何消息执行,从而提供了增强的保护,来防止突发性的讹误和未经授权的修改,如由黑客、病毒等所引起的破坏。
[0106] 要实现写保护特征,写保护服务器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 确保了该消息到达正确的目的地,同时防止了错误产生的消息引起变化。
[0107] 一般来说,一旦从用户或其它类型程序接收到修改指令,写保护服务器350将需要的数据,如目标、要修改的参数、值等,和该修改指令进行打包,并加入一为该数据包或消息创建的循环冗余校验(CRC)字段。写保护服务器350接着发送带有CRC的修改指令到确认该修改指令的适当的控制器客户机360(且如果需要,可向写保护服务器350回送一响应,具有控制器客户机360所收到的具体内容作为修改信息)。写保护服务器350对用户显示修改的信息,如名称、项目描述符和请求修改的内容,以便认证。如果需要,写保护服务器350可使用来自发送到控制器客户机360的修改指令的修改数据,来确保用户对实际发送到控制器客户机360的信息进行认证。另一方面,如果控制器客户机360把控制器客户机
360所收到的修改数据发送回写保护服务器350,写保护服务器350就可向用户显示该信息以供认证。
[0108] 写保护服务器350可通过如用户显示器上的对话框,向用户显示修改信息,使用户确认(通过选择对话框中的OK或确认按钮)该修改信息是正确的。在经过用户(或如果需要,经过程序)认证之后,写保护服务器350发送第二修改指令(重复的修改指令)到控制器客户机360,修改细节已经过用户认证。具体地,写保护程序服务器350打包该修改指令数据(用户认证过的),包括,如目的地、要修改的参数、值等,以及为该数据包或消息创建的CRC,并发送该第二修改指令到控制器客户机360。应该注意的是,如果没有发生任何讹误,第一修改指令(及CRC数据)与第二或重复修改指令(及其CRC数据)应该是相同的。
[0109] 在收到第二或重复修改指令后,控制器客户机360比较第二修改指令和第一修改指令,看它们是否相同(意味着没有发生讹误,且用户确认了第一修改指令中提供的修改信息)。如果需要,控制器客户机360可简单地确定该两条修改消息是否相同或具有相同的CRC数据。另外,控制器客户机360可对信息进行解码来看修改信息是否每个都相同,尽管该操作在某些安全系统中是不允许的。如果消息或修改信息相同,控制器客户机360就发送修改请求给适当的逻辑解算器客户机370。如果需要,该修改请求可包括来自第一和第二修改指令两者的修改信息。另外,来自两条修改指令的CRC数据,以及来自一条指令如第一修改指令的修改数据,可作为控制器客户机360修改请求的一部分发送到逻辑解算器客户机370。
[0110] 逻辑解算器客户机370接收修改请求,并对该请求解码,以确保修改请求发送到正确的位置,并且没有讹误。这些步骤可包括:校验一个或两个CRC数据包来确定CRC信息是否正确地对应于封装的修改信息、确定CRC数据包是否相同(其应该相同)、并确定修改的目标是否位于或通过安全逻辑解算器。如果来自两条修改指令的修改信息处于同一消息中,逻辑解算器客户机则再次检验以确定修改信息是否相同,来确保在从控制器客户机360向逻辑解算器客户机370传送过程中没有发生讹误。如果逻辑解算器客户机370确定修改消息是正确的,则逻辑解算器客户机370可使逻辑解算器50-56执行修改操作,并向控制器客户机360发回修改已执行的确认。控制器客户机360可把该确认信息发送到写保护服务器350,其为用户显示修改已执行的确认。如果在过程中任一处发生错误,逻辑解算器客户机370和/或控制器客户机360可向写保护服务器350告知该错误以及有关该错误的任何已知细节(如CRC不匹配、信息到达了不正确的目的地,等等)。写保护服务器350于是可通知用户修改没有实现,并告知与写过程中发生的错误有关的任何所需要的细节。 [0111] 作为一个例子,用户可通过显示屏上的写保护对话框输入一期望的改变。在确定用户是否有权修改之后,程序呼叫写保护服务器350,传送该路径、参数类型和当前值给写保护服务器350。写保护服务器接着产生一带有指令(参数、改变)、路径、新的值和CRC的写保护请求,并发送该写保护请求给适当的过程控制系统控制器24或26。写保护服务器350使用来自发送到控制器24或26上的CRC数据的一个拷贝的数据,为用户创建确认对话框。对话框可表示路径和值,写保护服务器350只有当修改指令已由适当的控制器24或
26确认后,才使对话框中确认或OK按钮可用。在收到修改指令之后,控制器24或26内的控制器客户机360确收该修改指令,并把经过CRC的数据项存储在对应的模块或方框中。 [0112] 在这一点上,用户认证确认对话框中的值是正确的,并选择确认或OK按钮。写保护服务器350于是产生第二或重复修改指令(第二条信息),包含指令(参数、改变)、路径、来自确认对话框的值以及该数据的CRC,并发送该信息到控制器客户机360。过程控制器24、26接收第二或重复修改指令,并将本指令中经过CRC的数据项与早期存储的(与第一修改指令相关的)相比。如果它们相同,该两项(例如,具有CRC的整个第一修改指令和来自第二修改指令的CRC)被放置到修改请求中,以便发送到适当的逻辑解算器50-56。 因此,只有认证过的修改请求被发送到安全逻辑解算器50-56,这进一步降低了进行未授权修改的几率,且在控制器客户机中可检测出由于控制网络通信、工作站问题或控制器问题而引起的任何讹误。
[0113] 逻辑解算器客户机370接收修改指令并确认两个CRC相匹配。逻辑解算器客户机370于是取出消息内的修改数据,并认证该数据的CRC。如果CRC是适当的或正确的,则校验路径,以确保消息被送到正确的位置。后一个认证步骤保证了在控制器24、26到安全逻辑解算器50-56的通信路径中没有发生任何讹误。当逻辑解算器客户机370认证所有校验是恰当时,该值就被写入到参数中,写的状态就被返回到控制器客户机360,接着控制器客户机可向写保护服务器350提供认证消息,来显示给用户。
[0114] 通过应用该过程,最初的请求和确认后的请求都由人员、控制器和安全逻辑解算器比较,这使该过程比其它只提供人为比较而没使用两次请求的已知方案更安全。事实上,其它产生重复消息的系统一般只在用户程序中,通过在从用户界面机器上实际传送修改指令之前,用确认对话框提示用户,来进行这种比较。然而,这些系统只传送一条消息给有项目要修改的安全装置。因此,这些已知技术并不能防止传送期间的讹误,或确保消息到达正确的目的地(如,当消息中的目标字段发生讹误时)。
[0115] 尽管前面描述了从服务器350到控制器客户机360、再到逻辑解算器客户机370的重复的写过程,但可以理解,该过程包括的级可以更多或更少。如果使用了更多的级,第三和随后的级可在接收端类似于逻辑解算器客户机370地运作,而在发送端则类似于控制器客户机360地运作,直到最后一个级。如果使用较少的级,服务器350仍应发送两条写指令,但如果客户机检测出二者是相同的话,客户机就执行该修改。此外,可以理解,服务器350和客户机360和370可利用任何期望的通信和软件协议,在软件、硬件或固件中实现。 [0116] 如前所示,来自和送入安全系统装置及过程控制系统装置的消息,可通过与该装置相关的地址或标记来检测。如果需要,各种安全逻辑装置的源地址可从干线总线消息中获得,并由底板ID(BPID)以及插槽ID(SID)所构成,底板ID在每个节点是相同的,但在过程设备内是唯一的;插槽ID在各节点之间是重复的,但在节点内是唯一的。以这种方式,每个装置都有一个唯一的地址,从而可以区分为安全系统装置或过程控制系统装置。 [0117] 尽管嵌入的安全系统可采用许多可能的消息结构或通信协议中的一种,但在一种情况下可使用以下的消息结构。具体地,总线消息可一般包括三个基本部分,包括前同步信号(如1字节)、数据或消息部分(如129字节)以及后同步信号(如1字节)。前同步信号和后同步信号部分是为硬件同步而提供的,而数据部分包含表示了给定地址的实际消息。如果需要,还可在高级消息结构的消息部分产生硬件位插入。
[0118] 一般来说,一条消息的数据和消息部分可分成七个字段,其总长可达到给定程序的最大可能长度。例如,可以有138个可用字节(包括11个字节的协议开销(overhead))。消息部分可包括2字节的源地址、2字节的目标地址、1字节的类型字段、1字节的设备状态字段、1字节的长度字段、0-128字节的消息字段,以及4字节的提供循环冗余数据的CRC字段。例如,在一种使用这些字段的方式中,源地址字段包含发送装置的地址。高阶字节包含背板ID(BPID),低阶字节包含插槽ID(SID)。加电时,各安全逻辑解算器通过干线总线从控制器获得其完整的SOURCE ADDRESS(源地址)。SOURCEADDRESS(源地址)的背板ID(BPID)部分设置成与控制器IP地址最右边的八位字节相等。SOURCE ADDRESS(源地址)的插槽ID(SID)部分从过程控制器的干线总线消息导出。最好地,各安全逻辑解算器不进行通信(发送或接收),直到它具有完整的SOURCE ADDRESS(源地址)。
[0119] DESTINATION ADDRESS(目标地址)字段可包含目标装置的地址。高阶字节可包含BPID,低阶字节可包含目标的插槽ID(SID)。消息的TYPE(类型)字段包括消息日期字段中包含的有关消息类型的信息。可以定义许多不同的信息类型。DEVICE STATUS(装置状态)字段可适合于分割开,用来表示,例如诊断状态(表示无错或有错)、转接状态(表示不在进行中或在进行中)、控制器模式(表示正常模式或工程模式)、安全跳闸状态(表示未跳闸或跳闸)、冗余状态(表示未冗余或冗余)、配置状态(表示未配置或配置)、控制器类型(由逻辑解算器确定,表示备用的或激活的),以及模式(模式值通过总线来自于控制器,表示工程模式或正常模式)。
[0120] LENGTH(长度)字段可包含紧接着的MESSAGE DATA(信息数据)字段的字节长度,属于从属消息。MESSAGE DATA(信息数据)字段是根据消息TYPE(类型)格式化的消息有效负载,并具有依赖于消息的长度。最后,CRC或循环冗余校验/码字段根据SOURCE ADDRESS(源地址)、TYPE(类型)、 DEVICE STATUS(装置状态)、LENGTH(长度)和MESSAGE DATA(信息数据)字段来计算,并也属于从属信息。
[0121] 一般来说,要在总线22(图1)上发送消息,控制器可在以太网IEEE 802.3协议包的DATA(数据)部分内封装总线消息,其可以包括,例如,7字节的前同步信号、1字节的帧起始分隔符、6字节的目标地址、6字节的源地址、2字节的类型/长度字段、46-1500字节的数据字段以及4字节的帧校验序列字段。如已知的,帧由7字节的零一交替的前同步信号开始。当帧被Manchester编码后,前同步信号给接收工作站一个已知的用于锁定的模型。帧起始分隔符紧随前同步信号,表示该帧开始。由于接收器接听混合模式,所以目标地址和源地址一般都是互不相关的。
[0122] 以太网TYPE(类型)字段/IEEE 802.3LENGTH(长度)字段表示了帧的剩余部分所应用的协议,长度字段规定了帧的数据部分的长度。对于要在同一LAN(局域网)上共存的以太网和IEEE 802.3帧,帧的长度字段必须总是与所使用的类型字段不同。这一事实限制帧的数据部分的长度为1500字节,而总的帧长度为1518字节。对于安全逻辑解算器程序,类型将是以太网,而数据字段的长度将为消息的尺寸大小。数据字段包含由安全逻辑解算器或过程控制器发送的信息。填充数据长度小于46字节的消息。如已知的,4字节的帧校验序列字段是标准的43位CCITT-CRC多项式。当然,这只是一种类型的消息编码方法,该编码方法可以对发送到过程控制装置和安全系统装置以及从其而来的消息执行,可以理解,任何其它可以区分过程控制系统装置与安全系统装置的预期消息格式也可以替代使用。 [0123] 尽管参照特定例子对本发明进行了描述,但它仅是示意性的,而不是对本发明的限制,对于本领域普通技术人员来说,在不脱离本发明的精神与范围的情况下,对公开的实施例进行修改、添加或删除,是显而易见的。