IEC 61508是一项用于工业领域的国际标准,其名称是《电气/电子/可编程电子安全相关系统的功能安全》(Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems (E/E/PE, or E/E/PES)。
IEC 61508是由国际电工委员会发布,其目的要建立一个可应用于各种工业领域的基本功能安全标准。它将功能安全定义为:“是受控设备(EUC)或受控设备系统总体安全中的一部分;其安全性是依赖于电气/电子/可编程电子(E/E/PE)安全相关系统、其他技术的安全相关系统或外部风险降低措施的正确机能。”
IEC 61508标准起源于工业程序控制领域。该标准涵盖了完整的安全生命周期(英语:Safety life cycle),当制定相关领域特定的功能安全标准时,需要进一步细化说明。
IEC 61508标准定义的安全生命周期包含16个阶段,各阶段所关注的均是系统安全功能,粗略地可以分为3块:
标准由7个部分组成,
IEC 61508标准的核心是风险和安全功能的概念。风险是指危害事件频率(或可能性)以及事件后果严重性的组合。可以借由应用包括电气/电子/可编程电子(E/E/PES)及其它技术构成的安全功能,使风险降低到可以容忍的水平。电气/电子/可编程电子以外的技术也可能被用于降低风险,但IEC 61508标准的详细需求只覆盖了采用E/E/PES技术的安全功能。
IEC 61508对风险的观点如下:
IEC 61508要求需实施危害分析(英语:Hazard analysis)及风险分析(英语:Risk analysis (engineering)):“针对每一个被确认的危害事件,需计算或估计EUC(受控设备)的风险”。
此标准建议“可以实施量化或非量化的危害及风险分析技术”,并在标准中提出了许多的分析方式。以下是一种量化危害分析的方式,将事件几率区分为6类,事件影响区分为4类:
出现几率的分类
影响的分类
可将上述的几率及影响组合成以下的风险矩阵
其中
安全完整性等级主要是依以下三个要素的评估情形,较高的安全完整性等级需要在这三个部分有更好的相容性:
安全完整性等级是针对单一减少偒害的方法(在风险分析中决定),不是针对整个系统,也不是针对个别零件。
对于连续运转的系统(连续模式)及一年运转超过一次的系统(高需求),需评怙其容许的失效频率。对于间歇性运转的系统(一年运转不到一次/低需求),失效几率定义为系统无法回应需求动作的几率。
安全故障失效比率(safe failure fraction,简称SFF)的计算可确认系统失效安全的程度。安全故障失效比率比较安全失效及危险失效的比例,但安全故障失效比率本身不足于宣告安全完整性等级,在 IEC 61508标准中有定义各等级的安全完整性等级需要的安全故障失效比率。
管理及系统技术确保可以避免在生命周期中任一部分出现的错误。即使是可靠度最高的保护方式,也可能被从初期概念、风险分析、规格、设计、安装、维护一直到丢弃过程中导入的错误所破坏。IEC61508列出在生命周期的各阶段需要应用的相关技术。
汽车产业软件可靠性协会(英语:Motor Industry Software Reliability Association)(MISRA)的方针中涵盖了有关车辆安全相关系统的软件开发。MISRA计划是要提供车辆用嵌入式软件开发的方针。在1994年11月时发行了一套车用嵌入式软件开发的方针,是第一个在车辆产业对应IEC 61508的标准,1998年时MISRA提出了MISRA C,是兼顾嵌入式系统的安全性及可移植性的C语言开发标准。
ISO 26262是将IEC 61508延伸到车辆的电机/电子系统的安全标准。
EN 50128(德语:EN 50128)全名为《铁路应用-铁路控制及保护软件》(Railway applications - Software for railway control and protection)是将IEC 61508应用在铁路应用的欧盟技术标准,内容涵盖铁路控制及保护软件的开发,包括通讯、讯号及处理系统等。
制造业包括许多种类的制造工艺:包括炼油厂、石化、化工、制药、纸浆、造纸及电力等。IEC 61511(英语:IEC 61511)是这些工程系统的技术标准,确保使用仪表设备时工业流程的安全性。
IEC 61513全名为《功能安全-核能工业的安全仪表系统》(Functional safety – safety instrumented systems for the Nuclear Industries)提供了核电厂的设备及安全控制系统相关的要求及建议事项,其中的要求包括针对传体硬件的设备、以电脑为基础的设备以及同时使用上述二种技术的设备。
IEC 62061全名为《机械安全与安全有关的电气、电子和可编程电子控制系统的功能安全标准》(Safety of machinery, Functional safety of safety-related electrical, electronic and programmable electronic control systems),是IEC 61508在机械安全的功能安全标准,IEC 62061提供了各类型和机械安全有关的电机控制系统的要求,适用于系统层级的设计,也适用于非复杂的子系统及设备。
依IEC 61508开发的软件依其需达到的安全完整性等级(SIL)不同,有可能需要经过单元测试。单元测试的目的是在确认软件在模组层次已进行了完整测试。若是有些安全完整性等级较高的应用,软件的代码覆盖要求更高,而且也需使用修改条件判断覆盖(MCDC)准则,而不是简单的分支覆盖(branch coverage)。若要得到MCDC覆盖率的资讯,一般都需要单元测试软件,甚至是软件模组测试软件。