故障安全系统的基本原理,是通过一定的技术手段,对系统中存在的可能导致系统失效的风险进行评估、监测,并保证系统自身不能失效的情况下,避免发生更加严重的事故。因此,在故障安全系统中,常用的技术手段主要是冗余技术以及故障检测技术。
冗余技术又称储备技术,有时也称容灾备份技术,它是利用系统的并联模型来提高系统可靠性的一种手段。例如,在工程技术中,冗余是指为了提高系统的可靠性而对系统的关键部件或功能进行的重复,通常以备份或故障保护以及提高实际系统性能的形式出现。
冗余可以存在于不同层面,如网络冗余、设备冗余、数据冗余等。形式可以是硬件冗余、软件冗余、时间冗余及信息冗余等。
在故障安全技术的研究中,容错技术、可靠性和故障安全理论之间有着密切的联系。数字系统的安全性可以通过以下两种方式得到较好的保证:
(1)利用系统所采用技术本身固有的安全性能保证安全性
固有安全性是指为了保证系统的安全,对系统的每一个部件(元器件)在生产、制造过程中,都已经考虑到产品的安全性能,并且有一定的安全技术指标特征。
(2)利用系统的结构冗余技术,提高安全性
结构冗余技术,可以提高系统的安全性。其主要原理是采用结构冗余技术后,可以将一部分认为有严重后果的状态分离出来,这样就可以降低发生严重后果的概率。
但这里的结构冗余,与传统意义上讲的热备冗余系统是不一样的。例如,一般的热备冗余系统都是采取两套或两套以上相同、相对独立配置的设计,其中一套系统出现故障时,另外一套系统能够立即启动,起到热备的作用,其主要的目的是增加系统的可靠性或者说可用性,而并不过多地考虑系统的输出是否安全。
而这里讲的结构冗余技术更多的是采用多个通道并行工作,并对其结果进行比较,使得系统在可能发生严重后果时,保证输出结果的正确性和安全性。此时并不过多地考虑系统的可靠性。
结构冗余一般也会涉及硬件的备份,因此成本较高,而且相互独立的系统之间也会存在一定的影响,因此也带来一些其他的问题。因而在最新的系统中,整体的冗余结构也在不断地改进,力争将成本降至最低。
在安全系统中,更多情况下故障指的是系统失效。
对工业系统来讲,如果系统中的一个部件失效而在级降模式中工作时,在规定的时间内依然按照要求完成需要的功能,则该系统是未失效的。而在考察失效时,需要全面地考察系统中的硬件失效、软件失效以及人为因素的失效。
在针对系统进行安全性和可靠性的评估时,除了了解系统在正常工况下的工作状态,其实更加重要的是对于系统失效工况的了解:如果传感器发生故障将会怎样?如果阀门卡涩没有打开系统将会怎样?而系统解决此类问题的方法,其实是一套完整的解决方案,最常用的基础工具是失效模式和影响分析(FMEA)。
FMEA即“潜在失效模式及后果分析”,是在产品设计阶段和过程设计阶段,对构成产品的子系统、零件以及构成过程的各个工序逐一进行分析,找出所有潜在的失效模式,并分析其可能的后果,从而预先采取必要的措施,以提高产品的质量和可靠性的一种系统化的活动。
FMEA包括一系列的步骤:
1)定义失效。
2)完成一个系统级别的FMEA:
①找到并列出所有的系统部件。
②对于每个系统部件,找到所有失效模式及其对系统的影响。
3)根据失效产生的影响将其进行分类。
4)确定模型所要达到的细化程度。
5)创建模型。
①列出所有的失效率。
②建立计算失效率的模型。
6)计算系统要求的可靠性与安全性指标。
在实际的安全控制系统中有许多种结构。常见的结构体系是MooN(M out of N)表决结构。即在一些工作并联配置中,需要N中的M个单元能工作,以使系统起作用,这称为N中取M(或M/N)并联冗余。常见的表决结构有1oo1、1oo2、2oo2、2oo3、1oo1D、1oo2D和2oo2D。
1.1oo1 (1-out-of-1) 单通道系统
单个处理器单元以及单IO的控制器代表了一个最小的系统,如图1-1所示。
该系统不具有容错功能,也没有失效模式保护功能,电子电路可能会发生安全失效(指输出为开路状态)或危险失效(指输出为短路状态)。在该结构中当产生一次要求时,任何危险失效就会导致一个安全功能的失效。
图1-1 1oo1结构
2.1oo2 (1-out-of-2) 双通道系统
为了将危险失效的影响降至最低,可以连接两个控制器。对于常开系统,由于两个控制器的输出电路是串联的,当两个控制器同时发生危险失效时,系统才会发生危险失效。
1oo2系统结构一般是采用两个独立的处理器,每个处理器都有独立的I/O,如图1-2所示。
该系统的需求失效概率很低,但也增加了安全失效率。在提高了系统被关断的能力的同时,“误跳闸”的概率也相应地增加了。
图1-2 1oo2结构
3.2oo2双通道系统
此结构由并联的两个通道构成,因此,安全功能要求两个通道都工作,从而避免输出开路状态的失效,如图1-3所示,如果一个控制器发生开路失效,另外一个控制器仍可对负载进行驱动。这个系统用于电源跳闸时的保护系统中。
图1-3 2oo2结构
4.2oo3三重控制器系统
在控制系统中,选择一个合适的失效模式也是非常重要的。1oo2结构减少了危险(输出短路)失效的发生,2oo2结构减少了安全(输出开路)失效的发生。但当两种失效模式都不满足要求时,就需要更为复杂的系统结构,例如,2oo3结构。
2oo3结构是为了容许安全失效和危险失效而设计出的一种结构。此结构由三个并联的通道构成,每个输出通道需要用到每个控制器单元的两个输出,如图1-4所示。来自三个控制器中的每两个输出连接成“表决”电路,如图1-5所示,这个电路决定了实际的输出:其输出结果取决于“大多数”的输出结果。只要两个输出同时接通,则负载被激活;而如果两个输出同时断开,则负载也断开。因此,在这种结构中,如果仅其中的一个通道的输出与其他两个通道的输出状态不同时,输出状态不会因此而改变。
图1-4 2oo3结构
该结构的特点是它容许两个失效模式中的任何一个失效:当安全失效(开路)发生时,系统则有效地降级到1oo2结构,如图1-6所示;当危险失效(短路)发生时,系统就会有效地降级到2oo2结构,如图1-7所示。但无论降级到哪种状态,系统都一直保持正常工作状态。
图1-5 表决电路
图1-6 表决电路开路失效,系统降级到1oo2结构
图1-7 表决电路短路失效,系统降级到2oo2结构
5.1oo1D双通道系统
该系统采用单控制器结构,其通道具有故障诊断能力,并串联了一个诊断通道。该诊断通道可以利用诊断信号来断开输出,从而防止危险失效的发生。如图1-8所示,该系统代表了更高版本的一种安全系统。
6.2oo2D结构
该结构是一个4通道结构,由两个1oo1D结构的控制器以2oo2结构组成。由于当诊断程序检测到失效时,1oo1D结构能够防止危险失效的发生,如图1-9所示,因此可以将两个单元并联起来,避免生产过程的停机。
图1-8 1oo1D结构
但诊断程序对于这个结构来讲非常重要,因为两个单元中的任何一个如果发生未检测到的危险失效都会导致该系统发生危险失效。
图1-9 2oo2D结构
7.1oo2D结构
1oo2D结构与2oo2D结构类似,但它增加了额外的控制线,可以使1oo2结构具有安全性。该结构的特点是,只有当两个单元都发生危险失效,并且这个失效不能被两个单元中的任何一个诊断程序检测到时,1oo2D结构才会发生危险失效。只要有一个单元检测到了该危险失效,就可以通过附加的控制线将诊断开关触发断开,从而避免危险失效的发生,如图1-10所示。因此,该结构能够同时包容安全失效和危险失效。
以上是安全系统经常使用的结构。一般来说,1oo2(以及1oo2D)系统具有最高的安全性,其次是2oo3系统,但2oo3系统相对来讲较为复杂,成本也高一些,因此常用在过程控制行业;在离散控制行业,主要是1oo2系统就够了。
图1-10 1oo2D结构
一个安全的设备,最理想的状态应该是本质安全的,即从机械设计开始,就已经充分考虑了机械设备的各种危险因素,并采取防护措施,保证在使用过程中,各种工况下都是安全的,这就要求整个设备具有安全生命周期。
1.安全生命周期
安全生命周期是指从设备概念设计开始到所有的安全系统功能停用为止,所发生的实现安全系统功能的必要活动。
一般来讲,设备的安全生命周期包括以下几个阶段:
(1)研究与概念阶段
该阶段主要定义所要制造的设备的相关信息,例如,设备名称、设备的功能、设备的主要用途、设备的电压等级、设备的应用环境要求以及设备制造的相关设计项等。此时,既是新设备生命周期的开始,也是该设备安全生命周期的开始。
(2)危险分析阶段
该阶段主要的工作,是在前期的设备设计的基础上,对设计单独进行安全方面的审核,从中找出可能存在的风险因素,一一加以识别并评估这些风险的严重程度,从而为后期的安全防护措施的设计提供依据。这是安全系统设计的前提和基础,也是保证设备安全最重要的一个环节。
(3)安全设计阶段
根据危险分析的结果,需要针对设备在机械、电气等各个方面以及设备的安装调试、正式运行、维修改造等各个阶段、各个工况可能存在的风险进行安全防护措施的设计。其中包括相关的工作流程的制定、机械安全防护的设计、电气安全回路的设计、与安全相关的其他安全防护措施的设计等。
在安全设计中所采取的防护措施,必须能够将风险降低到可以接受的程度,否则需要重新进行设计。
(4)设备制造安装阶段
在安全设计结束后,可以进行设备的制造和安装、调试工作。调试正常后,设备可投入生产。此时,安全系统已经实现并集成在设备中。
(5)操作和维护阶段
设备在使用过程中,除了设备自身的维护保养,相关的安全系统也需要定期地进行操作和维护,以保证该设备的安全系统工作正常。
(6)修改或停用阶段
如果设备在使用过程中发现新的风险,或者发现原有的安全系统不能满足实际风险防护的要求,则需要对设备进行一定程度的改造,直到设备满足实际安全生产的要求为止。当设备达到工作年限不再使用时,设备的安全生命周期也随之结束。即设备的停用,才标志安全系统的生命周期的结束,否则,安全系统必须能够正常的工作,不能失效,也不能人为地进行拆除或旁路。
但在IEC 61508的标准中,将机械设备的安全生命周期的各个阶段又细分为16项相关的工作内容,如图1-11所示。这些相关的工作项中的具体内容,都可以在相应的标准中进行详细的查询。本书介绍的内容中,除了希望广大读者能够了解设备安全的生命周期的概念外,更多的是介绍第9部分:安全相关的电气系统(E/E/PES)的实现,因为这部分主要涉及的是设备的安全电气控制系统,这是广大自动化工程师需要关注的内容。
另外,从安全生命周期所包含的各个方面的内容中也可以看到,电气安全仅仅是设备安全的一个部分。要想实现设备的安全,应该是要满足整个安全生命周期的各个方面的要求。因此,不能说只要设备上使用了安全电气控制系统,这个设备就一定是安全的了。不过电气安全控制系统往往弥补了机械设计所不能完成的防护,同时也是设备在完成生产加工流程的过程中实现的功能性安全,从而起到防护作用的系统,是保障设备实现功能性安全的最主要的系统,因此是非常重要的一个部分。例如,安全防护门可以作为设备机械设计的安全措施,当防护门关闭时人员在安全防护门的外面,因此是没有风险的;但当安全防护门打开后,如果没有进一步的防护措施,则人员就会重新面临着设备带来的风险,此时,就需要采取进一步的电气防护措施来弥补机械防护失效时可能出现的风险。
2.安全控制系统
大家都是自动化领域的工程师,相信对自动化控制系统都不陌生。自动控制系统减轻了人类的劳动强度,提高社会生产力,提高了经济效益。
而随着控制要求的不断提高,大家对自动控制系统也逐渐有了一定的要求,例如,系统的稳定性、系统的可靠性以及系统的安全性。一般情况下,广大的用户对于控制系统的稳定性的要求是比较关注的,因为一个稳定的控制系统是保证生产活动的基础,这也是比较基本的要求。
但其实,在工业自动化不断发展的过程中,随着风险意识的提高,人们对于自动化控制系统的可靠性和安全性越来越关注。经过几十年的努力,工程师们在这个领域内不断地研究和总结,逐渐形成了可靠性和安全性工程这样一个研究领域。在这个领域里,大家提出了一系列新的概念和术语,例如,可靠性、安全性、平均失效间隔时间(MTBF)等,并建立了相应的评估体系。
图1-11 安全生命周期
这里,我们将传统的自动化控制系统定义为基本控制系统,与之相对应的就是安全控制系统。即,我们将自动控制系统分为两个部分:基本控制系统和安全控制系统。这两个系统在完成主要功能时,可以是相互独立的。那么,安全控制系统与基本控制系统相比较,到底有哪些区别呢?
其实,安全控制系统与基本控制系统的基本构成和工作原理都是一样的,但两个控制系统之间还是有一定区别的,主要区别在于:
(1)功能上的区别
对于基本控制系统来讲,主要是读取标准传感器的信号,之后CPU进行逻辑运算、数据运算,然后向执行机构(例如,阀门或电机)发出控制指令,从而完成控制功能。这是大家都非常熟悉的过程。
而对于安全控制系统来讲,其主要的功能也是首先读取传感器的信号,但这个传感器是指示“故障”的传感器(例如,急停按钮——一般认为,现场有了故障才需要按下急停按钮),之后安全系统的评估单元(安全PLC)进行计算或实现判别潜在危险工况的逻辑,并将结果输出给执行机构完成安全功能(例如,电机的主回路接触器断开),以避免进一步的危险工况的发生。
因此,从工作方式上看,两个控制系统都是一样的,但从功能上来讲,基本控制系统主要是让设备“动作”,完成控制工艺,满足生产的要求;而安全控制系统则主要是让设备“停下来”,防止发生进一步的危险,起到保护人员和设备的作用。
(2)评价指标不同
对于基本控制系统,我们更关注的是系统的可用性,即在任何时候系统都能正常工作的概率。例如,在许多行业,任何非计划的停机都有可能造成非常大的损失,因此对于基本控制系统,其可用性是最重要的评价指标。
而对于安全控制系统,其设计的原则是必须保证在设备出现故障时,安全系统能够立即响应,完成相应的安全功能(例如,急停功能),从而保证设备仍然处于安全状态。此时,设备的可用性可能暂时无法保证,设备的安全性才是最重要的评价指标。
3.西门子的安全控制系统
西门子的安全控制系统分为两个大类:一类是用于过程控制行业的安全系统,即SIS(Safety Instrumented System,安全仪表系统);另外一类就是用于工厂自动化的安全系统,即分布式故障安全系统(Distributed Safety System)。本书主要介绍的是西门子的分布式故障安全系统。
(1)西门子故障安全系统的组成
西门子故障安全系统包括相关的硬件和软件。
1)硬件:组成西门子故障安全系统的硬件主要分为三个部分:危险源的检测、危险源的评估以及响应,如图1-12所示。
图1-12 组成西门子故障安全系统的硬件的三个部分
其中各个部分都由不同的硬件组成,其功能也各不相同:
● 检测部分:主要是指检测安全信号的传感器,例如,急停按钮、安全门位置开关等,该信号经过处理或通过人员的指令来记录一个危险事件的发生。
● 评估部分:对检测到的危险信号进行读入、评估、诊断、执行安全功能、输出诊断并向执行机构输出信号。其主要组成硬件包括安全型的PLC系统(包括F-DI、F-CPU和F-DQ系统)和安全继电器。另外,有的光幕设备也自带评估单元。
● 响应部分:主要指的是安全型输出控制的设备(例如,接触器、继电器等),用于关断系统驱动设备的电源、关闭/打开电磁阀等。
2)软件:一个完整的故障安全系统,除了硬件,软件也是其非常重要的一个组成部分。特别是以安全型PLC作为评估单元的系统中,如果系统的软件部分没有达到安全等级的要求,那么该安全系统集成在系统中在评估时往往是不能达到安全等级要求的。
一般来讲,安全软件部分主要包括:操作软件和相关的用户程序以及相关联的软件等部分。
对于西门子的故障安全系统,其安全相关的软件部分主要是指基于TIA博途平台的软件包SIMATIC STEP 7 Safety(Advanced或Basic),界面如图1-13所示。
图1-13 SIMATIC STEP 7 Safety(Advanced或Basic)界面
该软件包是TIA Portal软件的一个可选软件包,必须基于TIA Portal才可以安装和工作。而用户也必须在安装了该软件包以后,才能在TIA Portal的硬件组态时找到所有的故障安全型的硬件模板,否则硬件组态时有些故障安全模板的型号是不完整的。另外,该软件包中提供了故障安全系统编程的环境以及安全功能块的库(包括E-STOP、Safety door monitoring、Muting等),这些功能块已经涵盖了机械安全领域中可能用到的全部安全功能,并且都是经过TÜV认证达到SIL3(或PLe)安全等级的,用户可以直接在自己的用户程序中调用这些功能块,无须再自己开发相应的功能块,否则用户还需要对自己开发的功能块进行认证,大大简化了用户编制安全程序的步骤以及进行安全评估的步骤。
因此,SIMATIC STEP 7 Safety(Advanced或Basic)软件包既包括了安全系统应用的环境,又涵盖了安全的用户程序部分,用户只需要将该软件包集成在TIA Portal平台中即可保证项目的软件部分满足安全系统的要求。
3)安全总线:除了以上的硬件和软件,西门子的故障安全系统还包括总线系统。
随着现场总线的广泛应用,西门子最早于1999年便推出了基于现场总线的安全通信的协议PROFIsafe,将安全设备和标准设备的数据完全整合在以PROFIBUS/PROFINET为平台的总线系统中,并达到SIL3或PLe的安全等级,如图1-14所示,保证数据被安全地传输。同时提供了比标准现场总线更加完善的诊断机制,保证数据在传输过程中一旦出现错误,将立即自动触发安全系统响应,启动相应的安全机制。目前PROFIsafe已经成为国际标准(IEC 61784)和国家标准(GB/T 20830—2015),被广大厂商所应用。
图1-14 PROFIsafe协议的应用
(2)西门子故障安全系统的工作机制
就控制系统来讲,早期传统的安全控制系统的工作原理一般都是采用结构冗余的原则,即采用两个(或以上)的相同的控制器,如图1-15所示,所有的系统都运行相同的程序,之后对运算的结果进行比较。但这种结构存在一些问题,比如成本较高,因为所有的模板都是专用的,并且数据同步也容易出现问题。
图1-15 西门子S5-110F系统
随着西门子S7-300/400系列PLC的发布,以及最新的S7-1500系列PLC的发布,西门子的故障安全系统主要采取的技术也由原来的结构冗余变成了编码处理和时间冗余,从而更加经济、更加便捷地实现故障安全的功能。
我们举个例子,来具体说明一下故障安全系统的工作原理以及故障安全系统与标准系统的区别,如图1-16所示。
例如,在标准系统中,我们需要进行一个运算操作z=x+y。如果将变量x和y分别进行赋值,即可得到z的值,并可以直接输出。
但在故障安全系统中,系统的评估体系需要对系统中所有采集到的值都进行校验,也可以理解为“验算”,即除了标准系统进行正常的运算外,故障安全系统需要额外的对所有采集到的变量的值进行校验,也需要对程序算法和得到的结果进行校验。因此,当标准系统得到变量x和y的赋值后,系统会同时在内部分别对这两个值进行一个取反的操作,并得到两个换算后的值x c 和y c ,同时,也会将原来的算法进行一个取反,得到新的运算方法z c =x c +y c +1,这个过程我们称之为“编码处理”。
图1-16 西门子故障安全系统工作机制
之后,标准程序开始运算,利用x、y并得到相应的结果z。标准运算结束后,故障安全系统会紧接着利用新的算法对换算后的变量x c 和y c 进行运算,得到编码处理后的运算结果z c 。但这两个过程是依次进行的,并不是同时进行的,因此,我们称为“时间冗余”。通过时间冗余技术,我们可以将该运算放在同一个CPU内进行,而不再需要两个冗余的CPU硬件,从而节省一块CPU硬件。
由于两个“相反”的运算分别得到了两个结果,此时,理论上我们将之前编码取反的运算结果再次取反后就应该得到与标准运算一致的结果。通过这样的方法,我们就可以对整个数据采集以及运算的过程、结果进行“验算”,从而保证整个过程的数据都是准确的。这个过程,我们称为“差异比较”。当然,如果在整个过程中有任何一个环节出错,那么比较后的结果应该是不同的。如果出现这种情况,则故障安全系统认为数据出现了错误,从而触发安全机制,不再输出运算结果,而输出替代的“安全值”。一般情况下,此时会输出安全值“0”,引导系统进入“停止”状态,并保证设备不能随意启动。
以上就是西门子故障安全系统的工作原理。其中,由于使用了时间冗余的技术,使得西门子的故障安全系统的CPU可以不再采用冗余的硬件结构,仅采用单CPU来实现,并通过提高CPU的诊断覆盖率,可以达到SIL3或者PLe的安全等级。另外,由于使用了PROFIsafe协议,使得数据借助标准的PROFIBUS/PROFINET总线也可以实现安全的传输,无须专用的安全总线,同样也大大节省了成本。