故障树手册(Fault Tree handbook)(5)

第八章 压力罐的例子

8.1 系统定义和故障树构建

在本章和下一章里,我们将用两个简答的例子来定义非预期事件。读者将看到在第V章的帮助下,故障树是怎样一步一步的建立起来的。在故障树的建立过程中,可以得到一些比较浅显的结论,但是详细的评估过程将在第11章才会介绍。

考虑图VIII-1的压力罐的例子,里边有一个管道马达装置和一些相关控制组件。首先我们先看系统功能,系统的功能模型如图VIII-2所示。
故障树手册(Fault Tree handbook)(5)

操作系统的功能是调节管道的运转。后一个水管的水从一个无限的书库到压力罐。我们嘉定它要花费60秒来给罐子加压。压力开关有接触点,这些接触点会在罐子为空时关闭。当达到阈值压力时,压力开关就打开了,继电器线圈K2就会断电,于是继电器K2接触点打开,水管丧失动力,水管马达停止运转。储罐配有出口阀,可在几乎可以忽略的时间内排放整个储罐。但是这个出口阀门并不是一个压力解除阀门。当罐子是空的,压力开关的接触点关闭,循环再次重复。

系统在最开始位于休眠状态:开关S1打开,继电器K1打开,继电器K2打开,控制系统断电。在这个断电的状态,时钟继电器是闭合的。我们还可以假设这个罐子是空的,压力开关因此也是闭合的。

故障树手册(Fault Tree handbook)(5)
系统运开始于按下开关S1S_1,而后继电器K1K_1线圈通电,因此继电器K1K_1触点闭合,K1K_1自锁,继电器K1K_1的闭合使得继电器K2K_2的线圈通电,从而启动了管道马达。

当发生压力开关关闭失败时的事件时,能使用定时继电器紧急关闭。在开始阶段,定时继电器是关闭状态,定时继电器的线圈也不通电。这就使得定时开关启动。如果这个时钟注册了60秒的能源供应到定时继电器的线圈,那么定时继电器的触点就会打开(并锁定到该状态),断开到K1K_1线圈的电路(先前关闭锁定),从而导致系统关闭。在常规的操作下,当压力开关触点打开(因此,继电器K2K_2打开),定时器重置到0秒。

我们选择“当管道打开时压力罐发生破损”这个事件作为我们的非期望事件。如果我们忽略管道和电路的故障,以及其他的所有次要故障,当然我们主要的关注点“当管道打开时压力罐发生破损”这个事件除外,这个问题将是十分简单的。

读者可能会反对这样一个系统,该系统包括一个无限大的储液罐和一个可在短时间内将水箱内的水排尽的出口阀,这是不现实的。我们建议忽略可能导致顶部事件发生的管道和布线故障。关键是,有了这个简化的系统,我们可以说明了故障树构建中的大多数重要步骤。在更复杂的系统中,读者可能倾向于忽略整个系统,而变得参与细节。

首先,我们检查我们的顶层事件都被写成故障,且都指定了“内容”和“时间“。下一步,我们提出问题:”这个故障能由一个部件故障组成吗?“,如果答案是肯定的,我们马上加一个或门在顶层事件的下方,并且思考主要的,次要的,命令模式。如图VIII-3所示:

在这个问题中,我们将在“组件故障级别”建立分辨率极限。“组件”是指在图VIII-1中专门命名的那些项。因此,罐子的主要故障已经在解析极限中,并且已经在圈中现实。我们是否在钻石中加入该声明尚无定论。我们可以一开始就假设该油箱适合于所涉及的工作压力。无论如何,我们选择不再跟踪该故障。

故障树手册(Fault Tree handbook)(5)
因此我们的关注点转移到罐子的次要故障方面。读者可能还记得第五章中,主要故障,是一个在限制环境内的一个部件的故障,而次要故障,是一个部件在非限制环境下的故障形式。因为次要故障由部件故障组成,我们引入了另一个“或”门,我们的树采用图VIII-4所示的形式。

在这里,我们再次用菱形表示一组条件,这些条件是我们选择不寻求的原因。请注意,在矩形中指出的故障是顶层事件的特定情况,并详细说明了原因。

现在可能发生了这样的情况:我们的储罐可以奇迹般地经受住大于60秒的连续抽水,但是“无奇迹”规则的应用使我们不得不接受这样的说法:储罐在这些条件下总是会破裂。我们能用一个“禁止门”来表示这个情况,这个禁止门的输入是“连续抽水大于60秒”。

这个到禁止门的输入事件能包括一个部件故障吗?答案是否定的,管道在简单的运转,任意时长的管道功能都不能包含一个部件故障。因此,这个错误事件必须分类到“系统状态”。我们现在回想下第五章的规则。在系统状态错误下,我们能有一个或门,一个与门,或者什么门都没有。进一步讲,我们在寻找最小的,直接的,必要的和充分的原因。在这个案例中,直接原因是“马达运转超过60秒”。它的直接原因是:“到马达的能量供应超过了60秒”,一个系统状态错误。后一个事件的直接原因是“K2继电器触点保持关闭超过了60秒”。我们现在把事件描述加上,如图VIII-6.

在这个案例中,从“管道持续运转超过60秒”直接跳转到“K2继电器触点保持关闭超过60秒”,我们没有损失任何东西。详细说明中间原因不会有任何损害,事实上,这样做能降低出错的几率。

故障树手册(Fault Tree handbook)(5)
故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)

我们现在来考虑故障事件“K2继电器触点关闭时间大于60秒”,这个事件能包括一个部件故障吗?答案是肯定的,继电器的触点可能会被挤掉、腐蚀掉或融化掉。因此我们绘制一个或门,并且在图VIII-7上添加主要,次要和命令模式。

这里我们的目标事件是画在长方形中的命令模式事件。回忆下,一个命令故障会影响一个部件的正常功能,但是因为一个来自于其他部件的错误信号指令,在错误的地点,或者在错误的时间。在本例中,错误的信号是EMF作用于继电器线圈超过60秒。系统状态错误可以如图VIII-8那样分析。

注意到图VIII-8的与门的两个输入事件都被当成错误。实际上,正如我们所了解的,连接到故障树上的所有事件都应该写成错误,除非是当成简单摘要添加的陈述(如椭圆中的陈述)。压力开关的触点本身不是故障,但是当我们关闭超过60秒,它就成为了故障。同样的,添加EMF到触点本身也不是故障。注意根据与门的另一个输入事件,导致事件成为错误的条件被限制住了。

错误事件,“压力开关触点关闭超过60秒”能包括一个部件故障,于是图VIII-8的两个输入事件跟随在或门后。我们逐个分析他们,先从左手边的事件开始(图VIII-9)。
故障树手册(Fault Tree handbook)(5)

我们看到该故障树的腿到达了它的终点(所有输入事件都是圆形或钻石型),除非在某些原因下,我们想要在左侧的钻石图例中继续分析该事件(例如隔膜破裂等)。

我们现在分析图VIII-8右手边的事件,如图VIII-10.

图VIII-10的两个事件都是部件状态错误。左手边的更好分析一些,如图VIII-11.

故障树手册(Fault Tree handbook)(5)
故障树手册(Fault Tree handbook)(5)
故障树手册(Fault Tree handbook)(5)
这里我们看树的另一个终点。图VIII-10中剩下的输入事件的分析参见图VIII-12所示。读者请注意我们最终实现了我们的方法,用一步一步的方式,最终到了时钟继电器错误。最终,我们画出了对压力罐的所有故障树,如图VIII-13.

实际上,图VIII-13的故障树有点过于完整了。因为我们开发的次要故障只有抽水过量导致的压力罐破裂,其他的次要故障(点状的钻石形状)从图中被简单的省略了。进一步的简化也可以,以致到基本故障树,如图VIII-14,该图中圆形表示主要故障,错误事件E1,E2等定义如下:

E表示错误事件:

  • E1: 压力罐破裂(顶层事件)
  • E2: 由于管道运转超过60秒,等效于继电器K2触点关闭超过60秒,导致的压力罐破裂
  • E3: 电动势作用于K2继电器线圈超过60秒
  • E4: 当压力开关触点已经关闭超过60秒电动势还持续作用于压力开关触点
  • E5: 当压力开关触点闭合超过60秒,等效于当压力开关触点关闭超过60秒时,定时继电器触点打开失败,电动势通过K1继电器开关触点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UrPCMRMd-1586626467125)(asserts/figureVIII-12.png)]
故障树手册(Fault Tree handbook)(5)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oyHtcOER-1586626467126)(asserts/figureVIII-13.png)]
故障树手册(Fault Tree handbook)(5)

8.2 故障树的评估

故障树的一般性评估将在第十一章讲解。评估故障树是非常有用的,我们可以粗暴的评价压力罐控制电路的健壮性和特殊的弱点。

根据图VIII-14的基础故障树,我们能用第七章的方法,运用主要输入事件的布尔方程来表示顶层事件。这是通过从树的顶部开始向下进行的。

E1=T+E2=T+(K2+E3)=T+K2+(SE4)=T+K2+S(S1+E5)=T+K2+(SS1)+(SE5)=T+K2+(SS1)+S(K1+R)=T+K2+(SS1)+(SK1)+(SR) \begin{aligned} E1 &= T+E2 \\ &=T+(K2+E3) \\ &=T+K2+(S\cdot E4) \\ &=T+K2+S\cdot (S1+E5) \\ &=T+K2+(S\cdot S1)+(S\cdot E5) \\ &=T+K2+(S\cdot S1)+S\cdot(K1+R) \\ &=T+K2+(S\cdot S1)+(S\cdot K1)+(S\cdot R) \end{aligned}

有关故障树基本输入的顶层事件的表达式是等效故障树自身的布尔表达式。E1相当于基本事件的组合(交集),它还是顶层事件的最小切割集合。在我们的例子中,我们找到了五个最小切割集——两个单一的,和一个三个双的:

K2TSS1SK1SR \begin{aligned} K2 \\ T \\ S\cdot S1 \\ S\cdot K1 \\ S\cdot R \\ \end{aligned}

上边的各个项每一个都定义了存在的或联合存在的事件或系列事件,这些事件初始化了故障树的顶层事件。

我们先开始定性的评估我们的结果,下一步,加上一些数据,一些粗略的量化评估。定性的说,引起顶层事件的最主要原因是单一的继电器K2,因为它代表一个活动部件的主要故障。因此,系统安全性应该重点加强,将K2继电器变成一对平行的继电器。实际上,我们的系统还有很多设计错误:我们监视控制器,而不是监控参数(罐子中的压力)。反之亦然!因此,改进系统最明显的方法,就是在罐子上安装一个降压阀门并移除定时器。

另一个基本事件,按重要程度排序,是T,压力罐的主要故障。因为压力罐是被动部件,回忆一下第五章的相关内容我们可以知道,事件T的发生概率应该要小于(按照重要性排序也是这样)事件K2的概率。。相对重要性弱一些的是三个双部件切割集SS1,SK1,SK2S\cdot S1, S\cdot K1, S\cdot K2,我们需要注意压力开关的失败事件和他们都有关系。

为了对结果进行量化,我们需要对部件的故障概率做一个评价。表格VIII-1给出了部件失效概率的值。得到这些数值有关的计算我们将在后续的文中进行讨论,在这个时间例我们先假设这些数值都已经是已知的。

故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)
因为最小切割集是一个事件的交集,我们五个最小切割集的概率能通过对概率相乘的方式获得(假设他们互相独立)。

P[T]=5×106P[K2]=3×105P[SK1]=(1×104)(3×105)=3×109P[SR]=(1×104)(1×104)=1×108P[SS1]=(1×104)(3×105)=3×109 \begin{aligned} P[T] &=5\times 10^{-6} \\ P[K2] &=3\times 10^{-5} \\ P[S\cdot K1] &=(1\times 10^{-4})(3\times 10^{-5})=3\times 10^{-9} \\ P[S\cdot R] &= (1\times 10^{-4})(1\times 10^{-4})=1\times 10^{-8} \\ P[S\cdot S1] &=(1\times 10{-4})(3\times 10^{-5})=3\times 10^{-9} \\ \end{aligned}

我们现在来估计顶层事件E1的概率。观察到顶层事件的概率可以从最小切割集合的并集中得出,每个独立的最小切割集的的概率也是很小的,我们总结得到,稀有概率的概率可以用公式VI-7进行估算。我们因此简单的相加最小切割集合的概率,得到
P(E1)3.4×105P(E_1) \approx 3.4 \times 10^{-5}

可以采用最小切割集的概率和总的系统概率的比率来得到各类切割集合的相关量化重要性。

切割集合 重要性
T 14%
K2 86%
SK1S \cdot K1 小于0.1%
SRS\cdot R 小于0.1%
SS1S\cdot S1 小于0.1%

很多场合都提供了压力罐的例子,来为学生作为工作训练使用,学习如何构建一个故障树。学生常犯的错误是从破裂的事件直接跳到压力开关。当这么做的时候,单一的故障最小切割集K2,比如,K2的主要故障,就会完全丢失。这一点说明了第五章的规则的重要性。

我们能从这个例子中得到一个设计相关的规则,就是一个系统设计,与门应该尽可能的靠近故障树的顶端,从而消除单事件切割集。家用汽车是一个好例子,它不是这个类型的,读者可以列出一个很长的单事件列表,来弄停自己的车。

第九章 三个马达的例子

1. 系统定义与故障树的构建

在这一章里,我们讨论一个更加复杂的故障树的构建与评估。图IX-1描绘了一个动力分配盒,图IX-2给出了系统的工作形式。KT1,KT2,KT3通常是闭合,按下按钮S1会将电池1的电提供给继电器K1和K2。于是K1和K2闭合并保持锁止状态。

故障树手册(Fault Tree handbook)(5)

接下来,一个60秒的测试信号会通过K3给出,目的是检查马达1,2,3的功能是否正常。一旦K3关闭,电池1的电能就会提供给继电器的线圈K4和K5。K4的闭合会启动马达1.K5的闭合会将电池2的能量提供给线圈K6且启动马达2.最终,K6闭合将电池1的能量提供给K7。K7闭合从而启动马达3.

在一个60秒的周期之后,假设K3打开,停止所有三个马达。如果K3在超过60秒后关闭失败,所有三个计时器(KT1,KT2,KT3)打开,线圈K1断电,因此系统停止运行。假设K3在60秒后正常打开,但是K4关闭失败。在这种情况下,KT1打开,引起K1断电和马达1停止。如果K5或者K7无法关闭,那么KT2和KT3作用类似于停止马达2或马达3.
故障树手册(Fault Tree handbook)(5)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4diQlLNe-1586626467131)(asserts/figureIX-2.png)]
故障树手册(Fault Tree handbook)(5)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rC3HKZuB-1586626467132)(asserts/figureIX-3.png)]
我们主要关系的是在测试快开始后任何一个马达的“超限”(运行大于60秒)的问题。所以我们的树顶如图IX-3所示。

或门的三个输入的任何一个都应该单独分析。我们提议先分析马达2.为了避免一层中的树的混乱,“转换出”的标志被用于表达有关马达1和3的故障事件。

在这一点,我们能够决定我们的分析应该有多完整。简单的方法将是将我们限制在继电器和开关的故障,我们第一步先做完成此方面。更全面的分析(我们将在后边讲)也将包括可能的导线故障。现在先限制在通常的故障上,我们面临着顶层事件:

电动势作用于马达2超过了60秒
因为这是一个系统状态的故障,我们寻找直接,必要的和充分的原因。我们看到图IX-1,两个故障事件导致目标事件的发生:

  1. K5继电器触点保持关闭超过六十秒;
  2. 当K5继电器关闭超过60秒,K2继电器触点打开失败
    这两个故障事件在图IX-4中作为到第二层与门的输入,他显示了马达2超限的整个树。注意K5或K2触点打开故障不是关于他们自己的故障;但是当时间限制被指定,它们就成为了故障。

我们现在将注意力转到故障事件:

K5继电器的触点保持关闭超过60秒

故障树手册(Fault Tree handbook)(5)
因为这是一个部件状态故障,它需要一个带有主要,次要,以及命令输入的或门。为了简化系统,让我们不再关注次要故障。因此,图IX-4展示了只有主要和命令输入。K5继电器的主要故障已经是一个基础树的输入(一个分辨极限);我们现在将关注点放在一个命令输入上:

电动势保持在K5线圈超过60秒

我们注意到这个事件是一个系统状态故障。从图IX-1中我们发现当K3和K1在时间大于60秒打开失败的限制下将会发生。这两个事件在图IX-4中作为第四层与门的输入。继电器K3有关的故障事件是部件状态故障,他要求一个带有主要和命令输入的或门。在这种情况下,命令输入被绘制成一个钻石形状,因为它的原因被放置在我们所定义的系统之外。树的腿现在是完整的。

现在返回继电器K1相关的故障事件,我们意识到,这将是一个相当大的附属树自己的顶部事件,因此我们将它转到另一张图纸上(如图IX-5)。实际上,因为在分析马达1和3的超限问题上同样的故障事件会再次出现,因此这个策略是特别有用的。如图IX-5的附属故障树的研究留给读者自己进行。

再次参考图IX-4,我们现在思考第二层与门的右边的输入,这个故障事件是:

当K5继电器关闭超过60秒时K2继电器触点打开失败

这是部件状态错误,他的命令输入是一个系统状态错误。当K5继电器触点关闭超过60秒后,K2继电器线圈的电动势依然存在。这是确实是一个单输入事件,除非我们选择去考虑K2线圈通过S1,KT1,KT2,KT3触点的电动势的概率(高不可能性)。后一个事件在图IX-4的钻石图形中描述。

故障树右边的腿部的剩下部分交给读者自行分析。基础输入是K1继电器,S1开关和KT2定时器的主要故障。

故障树手册(Fault Tree handbook)(5)
有关马达1和3的相关故障树如图IX-6和IX-7所示。关于马达2超限的更详细的研究(包括导线故障)如图IX-8和IX-9所示。读者可能想去亲自尝试其他的顶层故障,如马达1在测试信号作用时启动失败。马达1的解决方案如图IX-10所示。

2. 故障树的评估(最小切割集合)

我们现在转到图IX-4的故障树的定性评估,并决定马达2超限的最小切割集合。为了便于说明,我们将处理图IX-4的简化版本,我们去除了图中的钻石表示和房屋标志。简化过的图如图IX-11.

图IX-11中,圆代表部件的主要故障,故障事件E1,E2,等定义如下:

  • E1: 作用于马达2的电动势超过60秒
  • E2:K5继电器保持关闭超过60秒
  • E3:当K5继电器保持关闭超过60秒,K2继电器开启失败
  • E4: 电动势作用于K5线圈超过60秒
  • E5:当K5触点保持关闭超过60秒,K1继电器触点打开失败
  • E6: 当K3触点保持关闭超过六十秒,K1继电器触点打开失败
  • E7: K3触点保持关闭超过60秒,K1继电器电动势依然存在

读者需要注意,K5和K6虽然相似,但是却不一样,因为发生的事件不一样。因此,必须坚决抵制将故障事件E5转移到图IX-5的附属故障树中去。

每一个故障事件都在下方用布尔方程的形式表示,工程标志在此被应用。

E1=E2E3E2=K5+E4E3=K2+E5E4=K3E6E5=K1+KT2+S1E6=K1+E7+S1E7=KT1KT2KT3 \begin{aligned} E1&=E2\cdot E3 \\ E2&=K5+E4 \\ E3&=K2+E5 \\ E4&=K3\cdot E6 \\ E5&=K1+KT2+S1 \\ E6&=K1+E7+S1 \\ E7&=KT1\cdot KT2 \cdot KT3 \end{aligned}

接下来,观察树的底部,每一个故障事件都以基本树输入表示。

E7=KT1KT2KT3E6=K1+(KT1KT2KT3)+S1E5=K1+KT2+S1E4=K3(K1+KT1KT2KT3+S1)=K3K1+K3(KT1KT2KT3)+K3S1E3=K2+K1+KT2+S1E2=K5+K3K1+K5+K3(KT1KT2KT3)+K5+K3S1E1=[K5+K3K1+K5+K3(KT1KT2KT3)+K5+K3S1][K2+K1+KT2+S1] \begin{aligned} E7 &=KT1\cdot KT2\cdot KT3 \\ E6 &=K1+(KT1\cdot KT2\cdot KT3)+S1 \\ E5 &=K1+KT2+S1 \\ E4 &=K3\cdot (K1+KT1\cdot KT2\cdot KT3+S1) \\ &=K3\cdot K1+K3\cdot (KT1\cdot KT2\cdot KT3)+K3\cdot S1 \\ E3&=K2+K1+KT2+S1 \\ E2&=K5+K3\cdot K1+K5+K3\cdot(KT1\cdot KT2\cdot KT3)+K5+K3\cdot S1 \\ E1&=[K5+K3\cdot K1+K5+K3\cdot(KT1\cdot KT2\cdot KT3)+K5+K3\cdot S1]\cdot[K2+K1+KT2+S1]\\ \end{aligned}

E1的布尔表达式化简得:
E1=K=(K3K1)+[K3(KT1KT2KT3)]+(K3S1)K2+K1+KT2+S1 E1={K=(K3\cdot K1)+[K3\cdot (KT1\cdot KT2\cdot KT3)]+(K3\cdot S1)}\cdot{K2+K1+KT2+S1}

用分配律展开这个式子,最小切割集(消除了所有冗余)是:

K5K2K5K1K5KT2K5S1K3K1K3S1K3KT1KT2KT3 K5\cdot K2 \\ K5\cdot K1 \\ K5\cdot KT2 \\ K5\cdot S1 \\ K3\cdot K1 \\ K3\cdot S1 \\ K3\cdot KT1 \cdot KT2 \cdot KT3

注意,举个例子,因为从关系(K3K1K1)=(K3K1)(K3\cdot K1\cdot K1)=(K3\cdot K1)(K3K1)(K3\cdot K1)最小,因此(K3K1K2)(K3\cdot K1\cdot K2)不是最小的。

以上所有的最小切割集都是两项的,而最后一个却是四项的。如果所有三个定时器是已定义的,它们可能像“常见案例失败”的候选人。在这种情况下,我们表面上的四项最小切割集会变成本质上的两项。在下一节中,我们会进一步讨论更通用的情况。

读者现在应该亲自对其他两个问题定义最小切割集:马达1超限和马达3超限。随着马达2的过程细节他应该能够检查下边的解决方案:

故障树手册(Fault Tree handbook)(5)
故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)

故障树手册(Fault Tree handbook)(5)