首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


基于C#的故障树分析系统的设计方法

2016-08-08 10:59:57 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

 朱铭君1,刘树华1,曹广群1,薛彦云2,张  亮3

(1.中北大学机电工程学院,山西  太原  030051;2.重庆长安工业有限责任公司研发技术中心,重庆401120;3. 65154部队,辽宁  朝阳  122513)

摘要:故障树分析软件是一种分析系统可靠性及安全性的软件,该软件的主要功能是故障树绘制和可靠性计算。深入研究故障树的建树和计算逻辑,用C#语言编译,设计了一种快速、高效、可视化程度较高的故障树绘制和最小割集计算软件,对提高复杂系统可靠度分析的效率有重要意义。

关键词:故障树分析;最小割集;C#中图分类号:TP319

0  引言

 故障树分析法是分析大型复杂系统可靠性的重要手段,在现代计算机技术的帮助下,可以将故障树分析中的建树、逻辑计算等这些原本繁琐的手工工作放到计算机这个平台上解决。通常故障树的计算量较大,因此采用计算机辅助的手段更有利于减小设计的难度,提高计算效率和准确性,减轻工程计算人员的负担。经过对故障树理论的深入研究,本文采用C#语言编译一个图形化操作的故障树分析软件,为设计人员提供一个高效、便捷的故障树分析手段。

1  故障树分析系统模块及功能

 基于C#的故障树分析系统共包括以下4个模块:数据模块、界面模块、建树模块、计算模块。数据模块主要负责设计信息和管理信息。界面模块是人机交互的媒介,它的主要功能是显示故障树信息和操作故障树的导入、导出等。建树模块的主要功能是绘制故障树并将故障树信息添加到故障节点列表和故障树权图中,通过连接到数据模块、修改故障树的节点数据达到故障树的建树目的。计算模块的主要功能是验证故障树结构的完整性、计算最小割集、计算被选事件的概率和分析结果保存等。

1.1数据模块

 数据模块设计的信息包括故障树节点信息(见表1)和系统信息(见表2)。数据模块主要负责在用户界面的故障树与数据库之间建立联系,将用户界面的操作实时传递到数据库中,以及软件信息的导人、导出等。

1.2界面模块

 界面模块中共有3个区域显示信息:故障树绘制区域、故障节点列表区域和故障的树权图区域。

 (1)故障树绘制区域。通过新建项目生成顶上事件,接下来通过右击节点后弹出的右键菜单操作绘制故障树,右键菜单主要功能有计算、编辑、删除、添加各类事件;根据被选节点的信息,右键菜单会有筛选地显示操作合法的选项;故障树的结构布局可通过鼠标拖动故障树节点调整,绘图区内会根据故障树的大小自动添加滚动条,方便查看全树。

 (2)故障节点列表区域。列表中显示所有节点的  主要节点信息,双击列表中的节点信息打开对应节点的修改对话框,列表上端有基本事件、中间事件、输入输出3个多选方框,根据方框的勾选情况可以显示或 隐藏对应类型的事件。

 (3)故障树的树权图区域。用树权图的形式显示故障树,右击树权上的节点能打开对应节点的编辑对话框。

1.3绘制模块

通过右击故障树的节点,打开右键菜单对被击节点进行绘制操作;故障节点列表和故障树权图内双击事件和节点可打开节点编辑窗口。绘制模块主要有以下6个功能。

1.3.1添加节点

 负责创建节点信息并将节点添加到绘图区域、事件列表和树权图。节点信息设置方法如下:①节点序号是引用系统信息里的新建序号(通过函数创建的唯一值);②选择上级节点序号,在被选节点的下级里添加本节点的序号;③节点类型引用新建类型;④节点的尺寸大小根据节点类型分配默认值;⑤节点的位置在被选节点正下方的默认距离处;⑥其他信息使用默认值。完毕后根据节点信息将节点添加到故障树绘制区、故障树节点列表和故障树权图中,并执行连接节点方法。

1.3.2编辑节点

 打开编辑窗口,对被选节点修改节点信息,包括节点名称、节点代号和节点描述,基本事件可修改概率,门节点可修改门类型。

1.3.3遍历节点

 遍历节点的任务是为删除节点、拖动节点、连接节点和计算模块搜寻处理对象。具体方法如下:将指定节点设置为开始节点,读取开始节点下级中的节点序号,将这些节点序号存人数据库的待处理节点集中,并依次以这些节点为开始节点,重复上述操作;最终将所有相关节点存入待处理节点。

1.3.4删除节点

 删除节点的任务是删除当前节点以及该节点的所有下级节点。具体方法是:读取待处理节点的信息,依次将信息中的节点从故障树绘制区域、故障树节点列表和故障树权图中删去。

1.3.5拖动节点

 拖动节点的任务是根据节点被拖动的位移,将与该节点相关的下级节点也移动相同的位移。方法是按节点位移里保存的数值依次移动待处理节点信息里的所有节点。

1.3.6连线节点

 连线节点的任务是用折线两两连接节点,将节点之间的关系明确地呈现在故障树绘制区域。比较特别的是,连接节点的遍历必须以顶事件为开始节点,且顶事件不加入待处理节点的信息里;依次将待处理节点信息里的节点和它的上级节点分别设为开始节点和结束节点来绘制折线。

  1.4计算模块

 计算模块的功能包括验证故障树结构的完整性、计算最小割集、计算被选事件的概率和分析结构保存等。验证故障树结构的完整性是指在对故障树分析计算前对故障树结构的合法性进行验证,并对错误节点标出提示,例如中间事件的下级节点超过一个时将会提示错误。计算最小割集是指对故障树进行定性分析,计算故障树的最小割集等。计算被选事件的概率是指通过求得的最小割集来求指定事件的发生概率。分析结构保存功能负责计算模块的计算结果的保存。

 故障树节点信息列表里集合的数据结构采用 list<list<int>),先将导致事件发生的一种基本事件的数字代号的组合存放在Iist( int>里,再将表示导致事件发生的所有基本事件的组合list( int)存放到list<list<int>)中,数学表达式为嵌套的两层大括号,多个基本事件用“,”隔开,例如{{1}{2,3}},表示导致事件发生的组合有两个,一个是{1},另一个是{2,3}。割集的计算采用遍历的方式,计算某节点A的割集,以A节点为开始节点,依次扫描开始节点的每个下级节点;若下级节点的下一级没有节点,则可向上级传递参数,若还有下级节点,则将此节点设为新的开始节点,重复上述步骤。采用上述方法,通过发生在不同节点的计算,就能获得正确的计算参数,并根据节点类型调用计 算方法。

 根据开始节点的类型,计算方法如下:

 (1)基本事件:无下级事件,向上级传递节点信息的集合,结束此支路。

 (2)中间事件、输入事件、输出事件、顶上事件:这些类型的下级节点都只有一个,直接将下级节点的集合赋值给该节点。

 (3)或门:依次将每一个下级节点的集合合并到开始节点的集合。

 (4)与门:将首个下级节点的集合赋值到开始节点的集合,接下来开始节点的集合将依次和其他下级节点的集合进行与门的计算。创建数据集list< list<int>),用于存放临时计算结果,依次将开始节点的元素list<int>与下级节点的每个元素list<int>合并的结果存人数据集中,之后将数据集的值赋给开始节点,并清空数据集,再与开始节点的下一个下级节点集合进行与门计算,方法同上。例如开始节点{{1}{2}},下级节点{{3}{4}},计算获得的开始节点为{{1,3}{1,4}{2,3}{2,4}}。

 通过上述计算获得了最小割集的初步结果,接下来是对集合进行整理,主要流程是:

 (1)去重:对割集内每个list< int>里重复出现的事件代号只保留一个。

 (2)去包含:在割集中若某个集合list<int>的所有元素在集合B中全部都出现过,则将集合B从割集中筛去。

 (3)排列:将割集内元素按照由小到大、由短到长的规律排列,方便观察。

2结论

 本文设计和实现了一个图形化的故障树分析系统,通过对故障树建树过程和分析方法的研究,该系统提供了快速、高效地绘制故障树的操作模式;在故障树定性分析中,通过故障树结构正确性验证后能够自动生成最小割集;通过程序逻辑的创新将纸面的理论公式转换为计算机里的运算程序,对提高工作效率和知识的积累有重要意义。 

关键字:

上一篇:基于BIM的施工总承包管理系统研发与应用

下一篇:返回列表

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.