以安全为导向的控制系统的制作方法

文档序号:6278970阅读:204来源:国知局
专利名称:以安全为导向的控制系统的制作方法
技术领域
本发明涉及一种用于在自动化系统中将安全功能作为非安全功能导向的系统控制器的一部分而对其进行控制的方法和装置。
背景技术
对于用来控制机械装置的自动化计算机的基本要求之一就是安全性和可靠性。特别是必需保证即使出现故障,该自动化系统也不会对人和环境造成威胁。因此,通常自动化系统都是在被称为故障保护的原则下工作的,按照这个原则自动化系统在重要部件发生故障时转变到安全状态。自动化计算机在基于故障保护原则执行安全相关的控制功能时的任务在于对处理信号进行处理,以便在当前和无误的形式下执行控制功能并始终向自动化系统的致动器显示安全处理状态。
在自动化控制中,与安全相关的控制功能的数目通常要远小于非安全相关的控制功能的数目,然而,安全相关的控制功能用来维持自动化系统的正常工作。为了确保安全相关的控制功能的功能性不受自动化计算机中非安全相关的控制功能的影响,一般是将该安全相关控制功能组合到与非安全相关的控制功能隔离的独立的安全程序中。为了实现安全相关与非安全相关功能的完全隔离,该安全程序通常在是独立的自动化计算机上执行,该计算机还常常与应急断电开关、挡光板及其他部件连接,通过专用接线确保机械的安全。
为降低自动化计算机中硬件的复杂程度,已知的还有自动化系统控制器,例如西门子的Simatic系统,可以将安全程序和非安全相关功能在同一硬件组件上实现。在这方面,普通的用来执行非安全相关功能的自动化计算机可以被安全程序扩展。但是,只有在精确规定的配置和数据处理环境下才有可能利用安全程序对自动化计算机进行扩展。在Simatic系统中就是STEP7-Runtime。
WO 02/50637也公开了一种允许利用安全程序外壳将非相关控制功能链接到安全程序的方法。但是,这种方法同样存在局限,只有在精确定义的程序环境中才允许将安全程序和非安全相关的控制程序在一共用自动化计算机上整合到一起,而不在任意操作环境中完成这一工作,例如Windows操作系统中。
此外,在故障保险原理下工作的安全程序的通用要求之一是将程序出错的概率尽可能的降至最低。因此在开发安全程序时的目标之一就是尽可能地降低安全程序的复杂程度,但是在普通的封闭式安全程序中,这一点很难保证,因为普通的封闭式安全程序的意图是与非安全相关的控制功能隔离开。特别是当安全程序在可编程的控制器中使用时尤其如此。

发明内容
本发明的一个目的在于提供一种在自动化系统中对没有以安全功能为导向的系统控制器的安全功能控制方法和装置,其中结合了安全功能的安全程序的优点在于其复杂性低并且可以在任何非安全程序环境下执行,在非安全相关的控制功能中不会产生在对安全功能进行控制时导致的错误。
本发明通过权利要求1的方法和权利要求11的装置实现这一目的。附加权利要求中给出了其他一些优选的技术特征。
为了对自动化系统中非安全功能导向的系统控制器中的安全功能进行控制,本发明提供具有可靠功能性的安全模块,并且提供了一种安全协议(safety protocol),该协议将数据以安全报告(safety message)的形式传输,其中每个安全模块的输入和输出参数都被包封(encapsulated)在该安全模块中,并根据将要被控制的系统的安全功能,以数据传送链的方式依照数据和流将单个的安全模块与另一个安全模块逻辑地组合到一起,在安全模块之间进行以安全协议为基础的数据交换。
本发明使安全程序能够在故障保险原理(failsafe principle)的基础上运行,为了对自动化系统造成控制,该安全程序被分为小的安全模块,这些小的安全模块的程序复杂度不高,降低了程序错误的可能性。这些安全模块还能够在非安全控制环境下执行,即,在执行非安全相关的控制功能的任意操作程序的自动化计算机上执行,而不会出现在非安全相关的控制功能下将发生的误差,其中,这些误差在控制安全功能时将导致错误。此外,可以在任何时间对用来执行这些控制功能的非安全相关的控制功能或控制程序进行更换,而对包封的安全模块的功能性不造成任何损害。
由安全协议对每个安全模块输入和输出参数的创造性包封,以及在安全协议的基础上在各个独立的安全模块之间进行的数据交换确保了安全模块之间的数据传输期间发出的数据讹误(data corruption)会由于故障的原因以安全工程所需的足够高的概率被识别出来,这样安全模块之间传输的数据可以被用来安全处理数据,以便在故障保险原理的基础上执行安全功能。安全协议的使用和安全模块的包封允许在两个安全模块之间通过任何传送路径,即在任何操作系统环境下,执行数据传送,而无需对此操作系统作出任何附加的安全要求。
根据本发明的一个较佳实施例,为了传输安全报告,安全协议中含有防止待传输数据中的以下错误类型的机制重复、丢失、插入、不正确的数据序列、数据讹误、数据延迟、安全相关与非安全相关数据之间的耦合和错误编址。采用这种方式,安全协议能够按照安全工程所要求的概率识别出单个安全模块之间的数据交换中所有的故障或讹误。这里,利用安全报告的数据帧通过安全协议执行安全措施包括以下措施将安全报告连续地编号,对安全报告的传输进行时间监测,对安全报告的传输进行真实性监测以及利用检查和对安全报告的数据完整性进行保护。
根据本发明的另一较佳实施例,通过安全模块的输入和输出参数的逻辑组合实现安全功能。这样确保任何安全功能都能利用较小的安全模块来执行,这些较小的安全模块具有低复杂度、进而低错误率的优点。
根据本发明的另一较佳实施例,借助以下确保了安全模块的可靠的功能性,当输入端接收到了不正确的或是没有接收到数据时,数据值在输出端独立地发出安全状态信号。这一行为在执行安全功能时保证了故障保险原则的安全。
由于每个安全模块的输入和输出参数被规定为初始化操作的一部分并以不受非法访问的保护形式被存储于相关的安全模块中,因此实现了安全模块之间的数据交换的安全性的提高。这一行为确保了对安全模块可靠的包封。
在数据传输链上周期地并确定地发生数据传输,安全模块的数据按优选次序的方式处理,因此在一个传输周期中首先传输安全模块所有的数据,然后传输非安全功能的数据。
本发明的具体实施方式
由以下实施例及其附图详细给出。


图1是自动化系统的基本结构示意图。
图2是自动化系统的控制程序的示意图,其中包含安全相关控制功能和非安全相关控制功能。
图3是本发明的安全模块的功能方块图。。
图4展示图2所示控制程序中的安全相关控制功能的数据流和执行计划。
图5展示对图4所示的安全模块M2和M4进行逻辑组合的数据接口。
具体实施例方式
图1是自动化系统的基本结构。自动化计算机可通过点对点连接或总线系统与传感器和致动器连接,以便在传感器捕获的处理信号的基础上利用控制程序自动地将处理信号输出给致动器。除了实时能力,即,自动化计算机在规定处理时间内将处理信号输出到致动器的能力以外,对自动化计算机执行的控制程序的另一个重要的要求就是当自动化系统发生故障时确保不会对人和环境千万危害。因此,自动化计算机除了执行正常的控制功能外,还要执行安全功能,该安全功能确保当自动化系统的重要部件发生故障时,自动化系统根据故障保险原则自动地改为安全状态。例如,这种安全功能是机械装置中的应急断电电路。
自动化计算机上运行的控制程序中的安全功能的数量一般少于非安全相关的控制功能的数量。在执行安全功能时,必需确保这些安全功能被可靠地执行。特别是应该确保非安全相关的控制功能不会影响到安全功能的功能性。这一点也特别适合于在控制计算机上执行安全功能的程序环境,也就是说自动化计算机的操作程序不以任何安全标准为条件。
为了对作为非安全功能导向的自动化控制器的安全功能进行控制,本发明形成具有可靠功能性的安全模块,每个安全模块的输入和输出参数被安全协议包封,该安全协议以安全报告的形式传输数据,并且单个安全模块根据将要被控制的自动化系统的安全功能以数据传送链的方式按照数据和流与另一个安全模块逻辑地组合到一起,在安全模块之间以安全协议为基础进行数据交换。
根据本发明,用来执行安全功能的安全程序被划分来具有有限功能范围的小的功能单元,能够降低开发安全程序的复杂度。为了确保安全程序具有可靠的功能性,必需将程序错误的概率保持在安全阈值之下。只有这样才能使安全程序合乎标准。与封闭式安全程序相比,使用本发明的具有有限功能性并因此具有有限程序复杂度的安全模块能够更为容易和更为经济地实现这一要求。该安全模块确保数据的可靠传递并且输出端被设计为独立地输出数据值,并且该数据值在安全模块的输入端接收到不正确的数据或没有接收到数据时被作为指示安全状态信号。
本发明的安全协议确保每个安全模块的输入和输出参数都被包封并且因此不会产生讹误。此外,该安全协议确保单个安全模块之间以安全报告的形式交换安全数据,该安全协议根据将要被控制的安全功能将单个安全模块按照数据和流逻辑地组合到一起。采用这种方式,可以在同样包含非安全相关的控制功能的非安全程序环境中执行该安全功能。因此自动化计算机能够被置于任何操作程序,其自身不必符合对故障保险程序的安全工程要求。这里,安全协议对被传输的数据进行保护,从而以足够安全工程要求的概率级别识别出数据传输中出现的讹误。本发明的安全协议在这里可被用来通过任何数据传输路线在安全模块之间传输数据。此外,该安全协议允许安全模块以任何方式逻辑地组合到一起,这一点特别是在可编程的控制器中具有很大的好处,因为所需要的多样化的各种可能的逻辑组合不再会在增加了复杂度的安全程序中反应出来。
为了安全地传输安全报告,安全协议包含防止下列错误的机制重复、丢失、插入、不正确的数据序列、数据讹误、数据延迟、安全相关与非安全相关数据之间的耦合和错误编址。这里,利用安全报告的数据帧通过安全协议执行安全措施包括以下措施将安全报告连续地编号,对安全报告的传输进行时间监测,对安全报告的传输进行真实性监测以及利用检查和对安全报告的数据完整性进行保护。
图2所示为一种自动化计算机的可能的包含安全功能和非安全相关控制任务的控制程序。在该实例中,安全相关的控制功能组合在任务1中,非安全相关的功能组合在任务2中。自动化计算机和连接的致动器和传感器之间的数据交换在这里周期地并且确定地发生,安全模块的数据被以优选顺序的方式处理,这样在一个传输周期中所有的安全模块的数据都被首先传送,然后非安全功能的数据被传送。
在图中所示的实施例中,安全任务1被划分为6个安全模块M1-M6,这些模块被自我包封并在这些模块之间利用安全协议具有用箭头表示的双向数据交换。这里,安全模块M1形成来自传感器的具有安全相关数据的处理信号的输入接口,安全模块M6形成用来控制被连接的致动器的故障安全状态的处理信号的输出接口。在这里,六个安全模块M1-M6互相之间逻辑地组合在一起,从而能够执行自动化系统所需要的安全功能。控制任务2包含所有的非安全相关的控制功能,数据交换的发生的单向的,具有一个用来输入来自传感器的处理信号的接口和一个用来向致动器输出处理信号的接口。这里具有安全相关和非安全相关的控制功能的控制程序可以在任何操作系统环境中执行,其自身不受任何安全要求的制约,也就是说其也不需要认证。
图2中所示的安全模块M1-M6是组合在操作系统中的,最好是在程序库中,可以被其他控制程序利用功能调用进行寻址。安全模块的复杂度在这里可以是不同的,例如,可以是布尔组合逻辑功能或是简单的控制功能。单个的安全模块依规定的安全要求确保数据通路的安全功能性。安全模块之间的安全通信是利用安全协议实现的。为此,安全模块中的所有输入和输出参数都被该安全协议包封。
图3所示为图2的具有一输入接口和两个输出接口的安全模块M1,输入接口包含三个参数,两个输出接口分别包括两个分别被安全协议包封的参数。安全协议根据要求的安全标准将包封的输入和输出接口逻辑地组合起来,如图4所示。如果在单处理器硬件上执行该安全程序,例如,那么该安全协议确保在相应的安全模块中安全程序的功能序列被执行两次。这时控制任务1的数据流和执行序列由图4的左部开始,向右到安全模块M6,安全模块M6输出处理信号,指示致动器的安全状态。
图5中还示出了将安全模块M2和M4逻辑组合的数据接口。根据安全协议,将由安全模块M2向安全模块M4传输的数据被控制位F_Control、序列号F_SeqNo和校验和F_CRC2包封。这样安全模块M2能够建立数据接口是否可靠,安全模块M4将状态位F_Status、序列号F_SeqNo和检验和F_CRC2返回到M2。因此上游模块M2为下游模块M4规定序列号F_SeqNo和检验和F_CRC2,其在被接收到后需要再将其返回。这里,两安全模块M2和M4之间的数据交换需要在预定的时间内发生,其中特别是要由安全模块M4将序列号报告返回给安全模块M2。在下一周期中,由安全模块M2加1,以便对数据交换进行控制。通过这一过程,能够可靠地确立安全模块M2和安全模块M4之间是否发生了正确的数据传输和/或执行顺序是否被正确地执行。
还有,该安全协议规定两个模块之间所有连接的校验和都不相同,以便于识别数据反转。因此,每个安全接口都接收一个独一的识别符,其包含在校验和的计算之中。安全模块的这些识别符在安全协议中被一逻辑工具规定,其还规定了安全模块之间的数据传输的流程。该安全协议的逻辑工具确保没有任何安全模块的识别符被二次分配,并且在一实现步骤中确保安全模块的按数据和流的逻辑组合是为该安全模块规定的并且该相关联的识别符被存储起来。这里逻辑工具的实现最好是被密码保护。
本发明使安全功能能够依靠能够被分割为具有低复杂度的多个安全模块容易地得到控制。这样仅需从安全工程的观点考虑单个的安全模块或其自身的功能性并对其进行证实。安全模块之间的安全通信由安全协议确保,该安全协议将来自安全模块的输入和输出参数进行包封并确保安全的数据交换。该安全协议还在初始化阶段规定安全模块之间的安全功能的流程。
权利要求
1.一种将安全功能作为非安全功能导向的系统控制器的一部分而对该安全功能进行控制的方法,其中,提供具有可靠功能性的安全模块和以安全报告的形式传送数据的安全协议,来自每个所述安全模块的输入端参数和输出参数都被安全模块包封,并且单个安全模块根据将要被控制的系统的安全功能以数据传送链的方式按照数据和流被逻辑地组合到一起,数据交换在安全协议的基础上在安全模块之间进行。
2.根据权利要求1所述的方法,其中为了传输所述安全报告,所述安全协议包含防止在所传输的数据中存在下列类型错误的机制重复、丢失、插入、不正确的数据序列、数据讹误、数据延迟、安全相关数据与非安全相关数据之间的耦合和错误编址。
3.根据权利要求2所述的方法,其中所述的安全协议利用安全报告的数据帧执行以下安全措施将安全报告连续地编号,对安全报告的传输进行时间监测,对安全报告的传输进行真实性监测以及利用检查和对安全报告的数据完整性进行保护。
4.根据权利要求1至3中任意权利要求所述的方法,其中所述的安全功能是通过来自所述安全模块的输入和输出端参数的逻辑组合而实现。
5.根据权利要求1至4中任意权利要求所述的方法,其中所述的安全模块的可靠功能性确保一数据值在所述输入端接收到不正确的数据值或者没有接收到数据时在输出端独立地发出安全状态信号。
6.根据权利要求1至5中任意权利要求所述的方法,其中所述的来自每个安全模块的输入端参数和输出端参数被规定为初始化操作的一部分并且以受到保护防止非授权访问的形式存储在相关安全模块中。
7.根据权利要求1至6中任意权利要求所述的方法,其中所述的安全协议被设计为用于在所述安全模块之间以安全报告形式进行双向数据传输。
8.根据权利要求1至7中任意权利要求所述的方法,其中所述的安全模块被设计为用于可靠的数据通道。
9.根据权利要求1至8中任意权利要求所述的方法,其中第一安全模块被用作处理信号的输入端接口,并且第二安全模块被用作处理信号的输出端接口。
10.根据权利要求1至9中任意权利要求所述的方法,其中所述的数据传输周期地并确定地发生,所述安全模块的数据按优选顺序的方式被处理,从而在一个传输周期中首先传送安全模块的所有数据,接着传送非安全功能的数据被传送。
11.一种将安全功能作为非安全功能导向的系统控制器的一部分而对该安全功能进行控制的装置,其包括具有可靠功能性的安全模块和以安全报告形式传送数据的安全协议,其中来自安全模块的输入端参数和输出参数都被安全模块包封,并且该安全协议具有根据将要被控制的系统的安全功能以数据传送链的方式按照数据和流被逻辑地组合到一起的组合逻辑单元。
全文摘要
本发明提供一种具有可靠功能性的安全模块和一种以安全报告形式传送数据的安全协议,目的在于在自动化系统中将安全功能作为非安全功能导向的系统控制器的一部分而对其进行控制,其中,来自每个安全模块的输入端参数和输出参数都被安全模块包封,并且各个安全模块按照数据被逻辑地组合到一起并根据将要被控制的系统的安全功能以数据传送链的方式流动,数据交换在安全协议的基础上在安全模块之间进行。
文档编号G05B19/05GK1942839SQ200580011864
公开日2007年4月4日 申请日期2005年4月13日 优先权日2004年4月19日
发明者H·伯特纳, J·萨克斯 申请人:倍福电气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1