质量工具之故障树分析FTA(2) - FTA的基本概念
关键词:问题解决、故障树、故障树分析、FTA、可靠性、鱼骨图、根本原因分析
前文我们已经详细介绍了FTA的历史。
我们在工作中碰到一个问题,可以利用的问题解决工具有很多,故障树分析FTA就是其中之一。
但是FTA毕竟是相对复杂较难掌握的工具,为更好地说明如何应用FTA技术,我们先了解一些FTA的基本概念。
什么是故障树FTD
鱼骨图也叫因果图,问题或缺陷(即后果)标在“鱼头”处,在“鱼刺”上列出产生问题的可能原因。在画完鱼头(后果)和鱼刺(可能的原因)的基础上,收集事实和数据,根据二八法则,选择并确认几个最重要的原因,就可以有针对性地进行整改。
鱼骨图是一种定性分析的质量工具,如果把鱼骨图转90°,鱼头在上,鱼刺在下,会是什么情况?鱼骨图转了90°,就变成了一个简单的故障树(也叫故障树图,Fault Tree Diagram,FTD;也可以叫问题树、缺陷树或失效树等)。
在国标GB/T 2099.13中,故障树的定义是:表示产品的哪些组成部分的故障模式或外界事件或它们的组合导致产品的一种给定故障模式的逻辑图。[GB/T 2099.13-2008 《电工术语 可信性与服务质量》]
这个定义是比较拗口的,对FTA不是太了解的人,可能读了几遍还是不知其所以的,我们再看下GB/T 4888中的故障树定义。
故障树,是一种特殊的倒立树状逻辑因果关系图,它用前述的事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系。逻辑门的输入事件是输出事件的“因”,逻辑门的输出事件是输入事件的“果”。[GB/T 4888-2009 《故障树名词术语和符号》]
这个定义非常清晰,有两个关键字“逻辑”和“因果”,如果鱼骨图竖起来再加上“逻辑”,实际就变成了简单的故障树。
注:“前述的”是指GB/T 4888标准中,将事件符号、逻辑门符号和转移符号这些概念,放在故障树之前进行了表述。
什么是故障树分析FTA
故障树通过图形化方式,自上而下逐级建树并且根据事件进行关联,用事件符号、逻辑门符号和转移符号描述系统中各种事件之间的因果关系。
故障树分析,以故障树的形式进行分析的方法。它用于确定哪些组成部分的故障模式或外界事件或它们的组合可能导致产品的一种已给定的故障模式。[GB/T 2099.13-2008 《电工术语 可信性与服务质量》]
这个定义还是晦涩难懂,下面我们再引用ITAF 16949中故障树分析的定义:
故障树分析法(FTA): 分析系统非理想状态的演绎故障分析法,通过创建整个系统的逻辑框图,故障树分析法显示出各故障、子系统及冗余设计要素之间的关系。[IATF 16949:2016]
这个定义就相对清晰了。故障树分析是一种演绎分析法,利用故障树进行图形化分析的技术。进行故障分析时,利用故障树抽丝剥茧,定性分析和定量分析都可以做,直观明了,逻辑性强。
我们下面从系统设计、安全工程和根本原因分析几个方面简单解释下:
· 在系统设计过程中,通过FTA对可能造成系统故障(事故、失效、风险、缺陷、问题等)的各种因素(包括硬件、软件、环境、人为因素等)进行分析,画出故障树,从而利用FTA来确定系统故障原因的各种可能组合及其发生概率,采取相应的纠正措施,以提高系统可靠性。
FTA是一种系统分析技术,它从单个的潜在失效模式来识别所有的可能原因,分析系统失误。FTA考虑的是相互关联的原因以及独立原因。除了故障树结构和所有的逻辑关联,通常FTA还包括了失效可能性的识别,从而可以通过零部件(子系统)的可靠性来计算系统可靠性。
· 在进行系统安全分析时,利用FTA自上而下、一层层的寻找顶事件的直接原因和间接原因事件,直到基本原因事件,并且把这些事件之间的逻辑关系表达出来,体现了以系统工程方法研究安全问题的系统性、准确性和预测性。
FTA是安全系统工程的主要分析方法之一,安全系统工程的发展也是以故障树分析为主要标志的。
· 在进行客户投诉或不合格品等根本原因分析时,通过FTA来寻找不良发生的原因,即根据系统可能发生的故障或已经发生的故障结果,寻找与该故障发生有关的原因、 条件和规律, 同时还可以辨识出系统中可能导致故障发生的风险源。
故障树分析基本符号
故障树的基本元素是事件和逻辑门。事件用来描述系统和部件故障的状态,逻辑门(与AND、或OR等)把事件联系起来,表示事件之间的逻辑关系;
通过故障树的定义我们知道,在进行故障树分析时要用到三种符号, 即事件符号, 逻辑门符号, 转移符号。
逻辑门符号
在故障树分析中逻辑门只描述事件间的逻辑因果关系。[GB/T 2099.13-2008 《电工术语 可信性与服务质量》]
有时一个单一的事件可以导致一个顶事件,有时则两个或更多不同事件的组合可以导致顶事件。
逻辑门符号是由布尔逻辑符号(AND、OR、UNION、NOT等)衍生出来的。它们描述了输入事件和输出事件之间的逻辑关系,并显示事件如何组合导致故障。每个门只有一个输出事件,但可以有一个或多个输入事件。
下面是常用的逻辑门的定义和其符号表示法,读者们注意不同资料中门符号的图形表达可能略有差异,符号表达参考下表。
· 与门(AND Gate):表示仅当所有的输入事件发生时,输出事件才会发生。与门可以有任何数量的输入事件。如图所示,与门有一个圆形的顶部,输出从顶部出来。
· 优先与门(Priority AND Gate;顺序与门 Sequential AND Gate):表示仅当输入事件以规定的顺序发生时,输出事件才发生。优先与门符号,是在与门符号的底部增加了一条线。
· 或门(OR Gate):表示至少一个输入事件发生时,输出事件就发生。或门符号有一个尖的上端,即输出事件出现的地方。另一端是弯曲的,与输入事件相连,看起来有点像火箭。
· 异或门(Exclusive OR Gate;XOR Gate):和优先与门相反,只有当一个输入事件正好出现时,才会有输出事件发生。异或门符号是在标准OR门内增加了一个三角形。
· 表决门(k/N;Voting Gate;Combinatorial Gate):表示仅当N个输入事件中有k个或k个以上的事件发生时,输出事件才发生。表决门符号类似于或门,在底端写有 "k/N"。或门和与门都是表决门的特例,当k=1时是或门,当k=N时是与门。
· 禁门(Inhibit Gate):类似于与门,表示仅当条件事件发生时,输入事件的发生才导致输出事件的发生。其符号是一个六边形。输入事件连接在门的正下方,顶部是输出事件,而条件事件连接在门的右边。
· 非门(Not Gate):表示输出事件是输人事件的对立事件。
事件符号
条件或动作的发生称之为事件。[GB/T 2099.13-2008 《电工术语 可信性与服务质量》]
事件符号用于表示主要事件和中间事件。 主要事件不会在故障树上进一步发展,在门的输出处可以找到中间事件。
下面简单描述了故障树中出现的每个事件符号,简化起见,下表中的事件符号只有一个输入和(或)一个输出。
· 底事件(Bottom Event):仅导致其他事件的原因事件。底事件位于所讨论的故障树底端,总是某个逻辑门的输入事件而不是输出事件。底事件分为基本事件与未探明事件。
· 基本事件(Basic Event,BE):无须探明其发生原因的底事件。BE位于故障树的底端,是顶事件的根本原因事件。基本事件用圆形符号表示,它有一个输入,但没有输出。
· 未探明事件(Underdeveloped Event):原则上应进一步探明其原因但暂时不必或者暂时不能探明其原因的底事件。 发生的事件不是基本事件,但没有足够的信息来发展一个子树,这样的事件被标记为未探明事件。未探明事件用菱形表示。
· 结果事件(Resultant Event):由其他事件或事件组合所导致的事件。结果事件总位于某个逻辑门的输出端结果,分为顶事件和中间事件,用矩形符号表示。
· 顶事件(Top Event,TE):所有事件联合发生作用的结果事件。顶事件位于故障树的顶端,总是所讨论故障树中逻辑门的输出事件而不是输入事作。顶事件用矩形符号表示,它有一个输出,但没有输入。
· 中间事件(Intermediate Event):位于底事件和顶事件之间的结果事件。中间事件既是某个逻辑门的输出事件,同时又是别的逻辑门的输入事件。BE引起中间事件,而中间事件最终会引起TE。中间事件用矩形表示,它有一个输入和一个输出。
· 开关事件(Switch Event;Trigger Event;Normal Event):在正常工作条件下必然发生或必然不发生的特殊事件。这些事件要么发生要么不发生,所以它们的概率分别为1或0。开关事件用房形符号表示。
· 条件事件(Conditional Event):描述逻辑门起作用的具体限制的特殊事件。可能出现或可能不出现的事件,当给定条件满足时,这一事件发生。条件事件是那些作为禁门的条件的事件,用椭圆形符号表示。
转移符号
转移符号是为了避免画图时重复和使图形简明而设置的符号。[GB/T 2099.13-2008 《电工术语 可信性与服务质量》]
转移符号用于连接相关故障树的输入和输出。在展开故障树时,相同内容的局部展开可能在多处出现,这时就可以创建一个转移事件,在事件符号的下面标上转移符号。这样我们就可以用一个转移符号代替故障树的一部分,并在一个单独的图上详细说明接下来的内容。
它的作用有两个:一个是可避免相同的子树在作图上的重复;二是可解决大的故障树在一张图纸上画不开时,作为在不同图纸上子树相互衔接的标志。
转移符号有两种,分别是相同转移符号和相似转移符号,用三角形表示。
· 相同转移符号(Identical Transfer Symbol)
下面的图[a]和[b]所示是一对相同转移符号,用以指明子树的位置。图[a]是相同转向(transfer in *)符号,表示“下面转到以字母数字为代号所指的子树去”。图[b]是转此(transfer out *)符号,表示“由具有相同字母数字的转向符号处转到这里来”。
· 相似转移符号(Similar Transfer Symbol)
下面的图[c]和[d]所示是一对相似转移符号,用以指明相似子树的位置。图[c]是相似转向符号,表示“下面转到以字母数字为代号所指结构相似而事件标号不同的子树去”,不同的事件标号在三角形旁边注明。图[d]是相似转此符号,表示“相似转向符号所指子树与此处子树相似但事件符号不同”。
相关文章:

质量工具之故障树分析FTA(2) - FTA的基本概念
关键词:问题解决、故障树、故障树分析、FTA、可靠性、鱼骨图、根本原因分析 前文我们已经详细介绍了FTA的历史。 我们在工作中碰到一个问题,可以利用的问题解决工具有很多,故障树分析FTA就是其中之一。 但是FTA毕竟是相对复杂较难掌握的工具…...

《高质量C/C++编程》读书笔记二
文章目录前言三、命名规则四、表达式和基本语句if语句循环语句五、常量前言 这本书是林锐博士写的关于C/C编程规范的一本书,我打算写下一系列读书笔记,当然我并不打算全盘接收这本书中的内容。 良好的编程习惯,规范的编程风格可以提高代码…...

常用的美颜滤镜sdk算法
本文主要介绍常见的美颜滤镜SDK算法,包括 SRGB、 HSL、 Lab、 JPEG、 TIFF等。本文不会过多介绍算法原理,只是列举一些在实际项目中用到的滤镜效果,如: 1.色彩空间变换 2.颜色范围调节 3.色彩平衡调节 4.灰度级调节 5.色相/饱和度…...

动态SQL必知必会
动态SQL必知必会1、什么是动态SQL2、为什么使用动态SQL3、动态SQL的标签4、if 标签-单标签判断5、choose标签-多条件分支判断6、set 标签-修改语句7、foreach标签7.1 批量查询7.2 批量删除7.3 批量添加8、模糊分页查询1、什么是动态SQL 动态 SQL 是 MyBatis 的强大特性之一。如…...

DML编程控制
id生成策略 模型类: Data TableName("tbl_user") public class User {TableId(type IdType.AUTO)TableId(type IdType.NONE)TableId(type IdType.INPUT)TableId(type IdType.ASSIGN_ID)TableId(type IdType.ASSIGN_UUID)private Long id;private String name;T…...

关于肺结节实时的目标检测
目录 1. 对屏幕固定区域的检测 1.1 代码 1.2 结果展示 2. video 检测 2.1 代码 2.2 展示...

利用 Rainbond 云原生平台简化 Kubernetes 业务问题排查
Kubernetes 已经成为了云原生时代基础设施的事实标准,越来越多的应用系统在 Kubernetes 环境中运行。Kubernetes 已经依靠其强大的自动化运维能力解决了业务系统的大多数运行维护问题,然而还是要有一些状况是需要运维人员去手动处理的。那么和传统运维相…...

C++中的future和promise使用方法
future和promise C11中std::future提供了一种访问异步操作结果的机制。异步操作不能马上就获取操作结果,只能在未来某个时候获取,但可以以同步等待的方式来获取结果,可以通过查询future的状态(future_status)来获取异…...

Vue项目创建
一.Axios简介 1、Axios是什么? Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。可以应用于浏览器端和node.js,既可以用于客户端,也可以用于node.js编写的服务端 安装使用 1.下载axios npm inst…...

2 Vue组件化编程
2.1. 模块与组件、模块化与组件化 模块 理解:向外提供特定功能的 js 程序,一般就是一个 js 文件为什么:js 文件很多很复杂作用:复用、简化 js 的编写,提高 js 运行效率 组件 定义:用来实现局部功能的代码…...

使用GPT-4生成QT代码
一、概述最近ChatGPT火爆起来了,ChatGPT是一种基于GPT的自然语言处理模型,可以用于生成自然语言文本,例如对话、文章等。最近又发现了一个优秀且免费的代码生成工具Cursor.so ,Cursor.so集成了 GPT-4 ,可以帮助你快速编…...

Golang每日一练(leetDay0013)
目录 37. 解数独 Sudoku Solver 🌟🌟🌟 38. 外观数列 Count and Say 🌟🌟 39. 组合总和 Combination Sum 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Py…...

7个Python中的隐藏小技巧分享
Python 是每个程序员都喜欢的语言,因为它易于编码和易于阅读的语法。但是,你知道 python 有一些很酷的技巧可以用来让事情变得更简单吗?在今天的内容中,我将与你分享7 个你可能从未使用过的Python 技巧前言Python 是每个程序员都喜…...

学习系统编程No.8【bash实现】
引言: 北京时间:2023/3/22/6:59,一晃3月都要过去了,时间真快,我都不知道自己这个月是怎么过的呢?怎么就要结束了,难受,恍惚自己还在2022年,刚刚晨跑回来,洗完…...

2023年顶级编程语言趋势
对于开发人员和软件工程师来说,选择更优秀的编程语言使编写可以在任何地方运行的软件变得更加容易,工作效率更高。从 Java 的缓慢衰落到 MATLAB 的惊人流行,对当今最流行的编程语言的分析,可以帮助你了解最新趋势并响应最新趋势。…...

网络安全之认识勒索病毒
一、什么是勒索病毒 勒索病毒,是一种新型电脑病毒,伴随数字货币兴起,主要以邮件、程序木马、网页挂马、服务器入侵、捆绑软件等多种形式进行传播,一旦感染将给用户带来无法估量的损失。如果遭受勒索病毒攻击,将会使绝…...

C语言手撕一个Hash表(HashTable)
什么是Hash Table 散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。 散列函数 散列函数是将我们想插入的节点散列成一个数值的函数。它…...

代码随想录第二十七天(669、108、538、回溯算法介绍)
669. 修剪二叉搜索树 不能简单地通过递归实现代码,比如: class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if (root nullptr || root->val < low || root->val > high) return nullptr;root->left t…...

【Leetcode】设计循环队列
目录 【Leetcode622】设计循环队列 A.链接 B.题目再现 C.解法 【Leetcode622】设计循环队列 A.链接 设计循环队列 B.题目再现 C.解法 其实这题用数组或是链表都能解决,但是如果是用链表的话,那么队列为空的条件和队列满了的条件是一样的࿰…...

【Linux】浅谈shell命令以及运行原理
前言:上篇博文把linux下的基本指令讲解完了。本期我们聊聊Linux下【shell】命令及其运行原理。 目录 Shell的基本概念与作用 原理图展示 shell命令执行原理 Shell的基本概念与作用 Linux严格意义上说的是一个操作系统,我们称之为“核心(ker…...

【shell脚本】nginx服务管理及存活检测脚本实战
前言 今天终于敢说自己是csdn万粉博主了,感谢大家的厚爱,我会继续输出更多优质的好文章,一起学习。 座右铭: 先努力让自己发光,再帮助更多的人。 🏠 个人主页:我是沐风晓月 🧑 个人…...

web服务器—nginx
一、nginx介绍Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。和apache一样,都是web服务器软件,因为其性能优异,所以被广大运维喜欢。又因…...

网络安全工具大合集
还是一句话,功夫再高,也怕菜刀首先,恭喜你发现了宝藏。本文章集成了全网优秀的开源攻防武器项目,包含:信息收集工具(自动化利用工具、资产发现工具、目录扫描工具、子域名收集工具、指纹识别工具、端口扫描…...

什么是SHA256?比特币是如何应用SHA256算法的?
SHA 256算法是一种具有确定性的单向哈希函数 算法是执行操作的一系列步骤或过程 哈希函数是种数学函数,输入的长度任意,但是输出长度固定,可以理解为文件的数字指纹,同一个输入值,总是得相同的输出 SHA256࿰…...

JDK20正式发布了GA版本,短期维护支持,以及JDK21预览
最近,Oracle发布了JDK20,相比对于Java开发者来说,JDK的发版是比较收关注的事情了,小简也来和大家一起了解了解JDK20发生了什么变化呢? 首先,JDK20是一个短周期版本,有6个月的维护时间࿰…...

.NET/C#/GC与内存管理(含深度解析)
详情请看参考文章:.NET面试题解析(06)-GC与内存管理 - 不灬赖 - 博客园 (cnblogs.com)一、对象创建及生命周期一个对象的生命周期简单概括就是:创建>使用>释放,在.NET中一个对象的生命周期:new创建对象并分配内存对象初始化…...

Java开发 | 内部类 | 静态内部类 | 非静态内部类 | 匿名内部类
目录 1.内部类 1.1内部类的简单创建 1.2内部类的分类 1.2.1普通内部类 1.2.2静态内部类 1.3匿名内部类 1.4局部内部类 1.内部类 内部类就是一是一个类里面装着另外一个类,就像俄罗斯套娃一样。最外层的类我们叫外部类,内层的类我们叫内部类。 1…...

Portal认证
Portal认证Portal认证简介Portal认证协议Portal认证方式Portal认证流程Portal认证用户下线Portal认证简介 定义: Portal认证通常也称作Web认证,一般将Portal认证网站成为门户网站。用户上网时,必须在门户网站进行认证,如果没有认…...

论文解读:ChangeFormer | A TRANSFORMER-BASED SIAMESE NETWORK FOR CHANGE DETECTION
论文地址:https://arxiv.org/pdf/2201.01293.pdf 项目代码:https://github.com/wgcban/ChangeFormer 发表时间:2022 本文提出了一种基于transformer的siamese网络架构(ChangeFormer),用于一对共配准遥感图…...

Redis 内存优化技巧
这次跟大家分享一些优化神技如何用更少的内存保存更多的数据?我们应该从 Redis 是如何保存数据的原理展开,分析键值对的存储结构和原理。从而继续延展出每种数据类型底层的数据结构,针对不同场景使用更恰当的数据结构和编码实现更少的内存占用…...