try ai
科普
编辑
分享
反馈
  • IEC 61508:功能安全的原则与实践

IEC 61508:功能安全的原则与实践

SciencePedia玻尔百科
核心要点
  • 功能安全区分了随机硬件失效和系统性失效。前者通过冗余和完整性等级(SIL)进行管理,后者则通过严格的、由流程驱动的安全生命周期进行控制。
  • 安全完整性等级(SIL)为降低风险设定了可量化的目标,通过按需失效概率(PFD)或每小时危险失效概率(PFH)来衡量。
  • 正式的安全论证是一套结构化的论证,由来自开发过程的可追溯证据支持,旨在证明系统对于其预期用途而言具有可接受的安全性。
  • IEC 61508 是一个通用的基础性标准,为众多行业特定标准提供了指导,例如汽车行业的 ISO 26262 和流程工业的 IEC 61511。

引言

随着自动化系统日益融入我们生活的方方面面,从工业制造到自动驾驶交通,确保其安全已不仅仅是一项技术要求,更成为一种社会责任。我们不能再仅仅寄望于最好的结果,而是需要一种结构化、严谨的方法论来构建我们能够托付生命的系统。这正是功能安全及其基础标准 IEC 61508 的作用所在。本文旨在阐述,在一个日益复杂的世界中,我们迫切需要一种系统化的安全方法,从临时的应对措施转向纪律严明的工程哲学。

本文将引导您了解 IEC 61508 所定义的功能安全的思想框架。在“原则与机制”一章中,我们将剖析该标准的核心概念,从定义风险、理解两种基本失效类型,到探讨用于应对这些失效的机制,如安全完整性等级(SIL)和安全生命周期。随后,在“应用与跨学科联系”一章中,我们将看到这些原则的实际应用,考察支撑可靠性的数学原理、构建弹性的架构模式,以及该标准与其他行业及数字孪生、人工智能等新兴技术的关键联系。

原则与机制

要构建我们能够托付生命的系统,我们不能仅仅寄望于最好的结果。我们需要一种哲学、一个框架、一种结构化的安全思维方式。这正是 IEC 61508 等标准所提供的。它不是一本枯燥的规则手册,而是一个深刻而优美的思想结构,用于直面危险并建立信心。让我们一起探索其核心原则。

确保安全的艺术:危险、风险与功能安全

想象一下,您正在设计一个庞大的自动化仓库,人类和机器人叉车必须共存。让这个系统变得“安全”意味着什么?在任何安全工作中,第一步都是要带点悲观主义,然后发问:“可能会出现什么问题?”

任何有潜力造成伤害的事物都是​​危险源 (hazard)​​。快速移动的机器人是危险源。湿滑的地面是危险源。堆放不稳的托盘是危险源。但并非所有危险源都是平等的。一个在空旷走廊里以蜗牛般速度移动的机器人,远不如一个在繁忙过道盲区快速穿梭的机器人令人担忧。

这就引出了​​风险 (risk)​​ 的概念,这是一个优美而实用的概念,它结合了两件事:伤害发生的可能性和该伤害的严重性。风险才是我们真正需要管理的对象。高风险场景既可能发生,一旦发生又会造成严重伤害。我们的目标不是消除所有危险源——那意味着一个空仓库——而是将风险降低到​​可容忍 (tolerable)​​ 的水平。可容忍风险是指,考虑到活动带来的益处,社会、公司和我们的良知都认为可以接受的风险水平。

那么,我们如何降低风险呢?我们可以使用很多工具。我们可以在地板上画线,设置警示标志,培训工人保持警惕,并安装物理屏障。这都是​​整体安全 (overall safety)​​ 的一部分。但在现代复杂机器的世界里,我们有一个更强大的工具:自动化。

​​功能安全 (Functional safety)​​ 是整体安全的一部分,它依赖于系统响应其输入时能够主动地正确运行。它不是被动的屏障,而是能采取行动的智能系统。对于我们的仓库机器人来说,功能安全就是能够探测路径上行人的激光扫描仪,以及自动发出制动指令的计算机。这个感知、思考和行动的链条被称为​​安全功能 (safety function)​​。它是我们的自动化守护者,是介于危险源与灾难之间的一道专用保护层。

危险的两大恶魔:随机失效与系统性缺陷

要构建一个可靠的安全功能,我们必须了解它的敌人。有两种截然不同的失效可能导致其崩溃,我们必须用不同的武器来对付它们。可以把它们想象成我们必须智取的两个不同恶魔。

第一个是​​概率的恶魔​​:​​随机硬件失效 (random hardware failures)​​。元器件会损坏。电线可能腐蚀,晶体管可能被宇宙射线击穿,电机可能磨损。这些失效的发生不可预测,受物理和概率定律支配。我们无法知道某个特定元器件何时会失效,但我们可以估算在一个庞大的元器件群体中,这类失效可能发生的频率。它们是任何物理系统中都存在的事实。

第二个,而且往往更隐蔽的,是​​错误的恶魔​​:​​系统性失效 (systematic failures)​​。这些是系统从一开始就内置的错误。它可能是一行软件代码中的拼写错误,控制算法中对物理定律的误解,或是原始设计文档中的一个有缺陷的需求。与随机失效不同,系统性失效是确定性的。如果触发缺陷的特定条件出现,失效必然会发生,每一次都如此。

想象一个为自动驾驶汽车设计的精密制动控制器,它采用两个相同的计算机通道以实现冗余。这种冗余是对抗概率恶魔的绝佳防御;如果一个通道随机失效,另一个可以接管。但如果两个通道运行完全相同的软件,而该软件包含一个微小的错误呢?也许某个罕见的传感器输入序列会导致程序命令制动器松开而不是施加。当这个序列发生时,两个通道将以完全相同的方式同时失效。硬件冗余变得毫无用处。这个系统从设计之初就存在系统性缺陷。

这一深刻的区别是 IEC 61508 的核心。你不能用同一种策略对抗这两个恶魔。你用坚固的硬件、数学和冗余来对抗随机失效。你用流程、纪律、严谨和不懈的验证来对抗系统性失效。

驯服概率的恶魔:完整性、冗余和安全失效

我们如何衡量在对抗随机失效方面的成功?我们使用​​安全完整性等级 (Safety Integrity Level, SIL)​​ 的概念。SIL 是一个目标,衡量我们的安全功能需要提供的风险降低程度。它有四个等级,从 SIL 1(最低)到 SIL 4(最高)。

这个目标被转化为一个具体的、可测量的概率。如果一个安全功能仅在需要时使用(如紧急停机按钮),我们用​​按需失效概率 (PFDavgPFD_{avg}PFDavg​)​​ 来衡量其完整性。如果它始终处于活动状态(如我们机器人的防撞功能),我们则使用​​每小时危险失效概率 (PFHPFHPFH)​​。例如,对于一个连续运行的 SIL 3 安全功能,标准要求其发生危险失效的概率必须在每 1000 万小时一次到每 1 亿小时一次之间。

要实现如此惊人的可靠性,不仅仅是购买好的元器件。它需要巧妙的架构。标准给了我们两个主要的调节手段:​​硬件容错 (Hardware Fault Tolerance, HFT)​​ 和​​安全失效分数 (Safe Failure Fraction, SFF)​​。

​​硬件容错 (HFT)​​ 很容易理解:在安全功能丧失之前,你的系统能承受多少个随机硬件故障?单个传感器的 HFT 为 0。一个系统有两个传感器,任何一个都能完成工作,其 HFT 为 1。

​​安全失效分数 (SFF)​​ 是一个更微妙、更优美的概念。它问的是:当一个元器件失效时,它是否以一种“好的”方式失效?SFF 是所有可能失效中,那些本身就是安全的(例如,一个阀门失效时会自动关闭,切断流体)或能立即被诊断系统检测到的失效所占的比例。一个 SFF 高的元器件即使在失效时也表现良好;它很少以隐蔽、危险的方式失效。

该标准的天才之处在于它如何将这两个概念联系起来。它创造了一种权衡。要达到高 SIL 等级,比如 SIL 3,你可以选择。如果你使用的元器件具有非常高的 SFF(出色的诊断功能,非常“安全”的失效模式),你或许可以用较少的冗余(较低的 HFT)来达到目标。但如果你的元器件 SFF 一般,标准会强制你通过构建更多的容错性(更高的 HFT)来弥补。这是一种结构化的方法,通过平衡元器件质量和系统级设计,确保最终的架构足够坚固,能够胜任工作。

囚禁错误的恶魔:生命周期与流程的力量

现在来看第二个恶魔,系统性缺陷。我们如何防止在三月某个星期二犯下的人为错误在两年后引发一场灾难?我们不能用同样的方式使用概率,因为我们无法预测人为错误的发生率。答案是​​流程 (process)​​。

IEC 61508 强制规定了​​安全生命周期 (safety lifecycle)​​。这是一个严格的、端到端的路线图,涵盖了安全系统的整个生命,从概念的萌芽到最终的退役。它通常被形象地表示为一个“V”形模型,其中左侧涉及问题的分解(从概念到需求再到设计),右侧则涉及系统的构建和每一步的验证(从单元测试到系统确认)。

这个生命周期的一个关键特征是存在正式的​​阶段关口 (phase gates)​​。这些是阶段之间强制性的检查点。在设计团队从指定需求转向编写代码之前,他们必须通过一个关口,其需求在此由独立方进行严格的评审、分析和批准。为什么这如此重要?想象一下,开发的每个阶段都有可能引入缺陷,但每个关口都有一定的概率捕捉并移除它。一个正式、严格的关口就像一个细齿过滤器。你拥有的有效过滤器越多,早期引入的缺陷一路存活到最终产品的几率就越呈指数级减小。

这种哲学延伸到了我们使用的工具本身。如果你正在使用一个软件编译器为 SIL 3 控制器生成代码,你如何知道编译器本身没有可能注入系统性缺陷的错误?标准要求工具本身必须具备与其所用应用 SIL 等级相等的​​系统能力 (Systematic Capability, SC)​​。这不是凭空发生的;它需要付出巨大的努力进行分析、测试和文档编制,以鉴定该工具并证明其可信度。

提出论证:为安全辩护

在完成了所有这些工作——分析风险、设计容错架构、遵循严格的生命周期之后——我们如何说服自己和监管机构,这个系统是真正安全的?我们不能只是指着堆积如山的文书。我们需要提出一个清晰、合乎逻辑且站得住脚的论证。

这就是​​安全论证 (safety case)​​ 的作用。安全论证是一个结构化的论证,由一系列证据支持,用以证明一个系统在其特定环境中对于其预期用途而言是可接受地安全的。

构建这种论证的一个强大方法是使用一种名为​​目标结构符号 (Goal Structuring Notation, GSN)​​ 的可视化语言。它看起来像一个论证的“家谱”。 最顶层是你的主要目标,即你的最终主张:“自动化仓库机器人具有可接受的安全性。” 这个目标通过​​策略 (strategies)​​ 进行分解。例如,一个策略可能是:“通过证明所有已识别的危险源都已得到充分缓解来进行论证。” 这个策略引出几个子目标,每个危险源对应一个:“目标:危险源 H1(与人碰撞)已得到充分缓解。” 这些子目标最终在树的最底层由具体的​​证据 (evidence)​​——即树的叶子——来支持。这些证据是你的生命周期中产生的有形输出:一份显示机器人能及时停止的测试报告,一份证明你的 SFF 计算正确的分析报告,一份确认你遵循了流程的审计报告。

一个好的安全论证是一部逻辑的杰作。它全面,确保覆盖了每一个危险源。它可追溯,允许任何人从顶层主张一直追溯到测试日志中的一条数据。它稳健,依赖多样化且独立的证据链来支持其最关键的主张。它是整个安全征程的最终、宏大的综合,是建立在严谨而非希望之上的信心的终极表达。

应用与跨学科联系

在我们迄今为止的探索中,我们已经了解了功能安全的优雅架构——生命周期、完整性等级的概念以及支撑它们的概率逻辑。这些想法可能看起来很抽象,只是一系列原则和公式。但一个强大思想的真正魅力不在于其抽象形式,而在于它如何触及世界。功能安全,正如 IEC 61508 等标准所规定的,并非一项学术操练。它是一种实用的哲学,塑造了我们现代世界中那些沉默、无形的守护者——那些在化工厂防止灾难、引导我们车辆、在医院守护我们的系统。现在,我们将走出第一性原理的舒适区,看看这种哲学是如何被应用的。我们将看到它的逻辑如何从简单的计算延伸到复杂的系统架构,它如何与其他学科和法规互动,以及它如何迎接我们最先进技术(从数字孪生到人工智能)带来的挑战。

机器之心:可靠性的数学

安全完整性等级(SIL)的核心是一个数字——一个目标失效概率。但这个数字从何而来?它并非凭空捏造,而是源自可靠性的基础数学。你经常会听到工程师使用一个非常简单的近似公式来计算每隔 τ\tauτ 小时测试一次的元器件的平均按需失效概率 (PFDavgPFD_{avg}PFDavg​):PFDavg≈λτ2PFD_{avg} \approx \frac{\lambda \tau}{2}PFDavg​≈2λτ​,其中 λ\lambdaλ 是元器件的危险失效速率。

这个公式非常实用,但就像物理和工程学中的许多简单事物一样,它是一个基于更深层真理的近似。真实的失效概率不是线性的,而是指数性的。可靠度 R(t)R(t)R(t),即一个元器件到时间 ttt 时仍未失效的概率,会随时间衰减。如果我们设想一个恒定的“失效率” λ\lambdaλ——即一个正常工作的元器件在单位时间内突然失效的恒定概率——那么可靠度由经典的指数衰减定律给出,R(t)=exp⁡(−λt)R(t) = \exp(-\lambda t)R(t)=exp(−λt)。已经失效的概率就是 Pf(t)=1−R(t)P_f(t) = 1 - R(t)Pf​(t)=1−R(t)。

为了找到在测试间隔 τ\tauτ 内的平均失效概率,我们必须像任何物理学家那样做:将瞬时失效概率 Pf(t)P_f(t)Pf​(t) 从 000 到 τ\tauτ 进行积分,然后除以区间长度。这个简单的微积分练习揭示了按需失效平均概率的精确表达式,我们熟悉的近似公式便由此诞生。这种数学严谨性是安全论证的基石。它让我们能够以可证明的信心,计算出元器件为满足特定 SIL 目标(如 SIL 3 的苛刻要求)所允许的最大失效率。这是一个绝佳的例子,展示了基础概率论如何为我们的安全哲学提供了量化的利器。

构建坚不可摧的系统:信任的架构

当然,实现安全不仅仅是使用可靠的元器件,更是要设计智能的架构。考虑一个化工厂中的安全仪表功能(SIF),其设计目的是在压力过高时关闭反应堆。这样的系统由一系列元器件组成:一个检测压力的传感器,一个做出决策的逻辑解算器,以及一个关闭阀门的执行器。要使整个功能正常工作,这个链条中的每个环节都必须正常工作。

安全工程师的工作是分析这个链条,考虑每个元器件的失效率和诊断覆盖率,以计算总的失效概率。但分析远不止于数字。IEC 61508 标准坚持认为,稳健的流程与稳健的计算同等重要。验证活动是否由独立团队执行?软件测试方法对于所声称的完整性等级是否足够严格?一个有效的 SIL 3 系统的安全论证不仅要求数字上达标,还要求整个开发和验证生命周期的执行纪律与风险相匹配。

对于最关键的应用,单个元器件链是不够的。我们构建冗余。一个经典的例子是“三取二”(222oo333)投票系统,这在航空航天和关键工业控制中很常见。在这里,三个相同的通道监控一个过程,系统根据多数投票结果采取行动。单个通道的失效不会导致灾难。只有当两个或更多通道同时失效时,系统才会失效。

我们如何分析这样的系统,特别是当它包含能够检测故障并启动修复的自动诊断功能时?在这里,我们可以求助于另一个强大的数学工具:马尔可夫模型 (Markov model)。我们可以想象系统处于几个“状态”之一——状态 0(所有通道正常工作)、状态 1(一个通道失效)、状态 2(两个通道失效)和状态 3(所有三个通道失效)。在失效和修复之间存在着持续的“拉锯战”。通道以速率 λ\lambdaλ 失效,将系统推向编号更高(更危险)的状态。同时,修复过程以速率 μ\muμ 进行,将系统拉回安全的状态 0。

通过写出平衡方程——将流入每个状态的速率与流出该状态的速率相等——我们可以求解处于任何给定状态的稳态概率。对于我们的 222oo333 系统,危险失效状态是处于状态 2 或状态 3。马尔可夫模型允许我们从第一性原理出发,基于失效率与修复率之比 ρ=λ/μ\rho = \lambda/\muρ=λ/μ,推导出该概率的精确公式。这是从简单的单一部件情况到的一大飞跃,展示了功能安全原则如何扩展以处理复杂、动态和容错的架构,从而保障我们最关键系统的安全。

标准的宇宙:在安全星系中找到你的位置

IEC 61508 并非孤立存在。最好将其看作一个“通用”或“基础”标准——是相关标准、法规和框架星系中的一颗中心恒星。许多行业已经采纳了 IEC 61508 的核心原则,并将其调整以适应其特定背景,创造出像行星一样围绕母星运行的行业特定标准。

  • ​​ISO 26262​​ 是针对​​汽车行业​​的改编版。它将 SIL 转化为汽车安全完整性等级(ASIL A-D),并针对量产道路车辆的开发领域定制了安全生命周期。
  • ​​IEC 61511​​ 是针对​​流程工业​​(化工厂、炼油厂)的改编版,专注于安全仪表系统(SIS)的生命周期。
  • 在航空航天领域,理念有所不同。像 ​​DO-178C​​(软件)和 ​​DO-254​​(硬件)这样的标准主要是​​面向流程的​​。系统安全过程并不像 SIL 那样设定直接的概率目标,而是分配一个设计保证等级(DAL A-E)。合规性通过严格遵循一套规定的开发和验证目标来证明,其核心信念是完美的流程能产生近乎完美的产品。这与 IEC 61508 明确融合概率目标和流程要求的做法形成对比。
  • 在医疗设备领域,像美国​​食品药品监督管理局(FDA)​​这样的监管机构会发布指导文件。这些文件不是标准,而是该机构如何解释具有法律约束力的法律的说明。它们定义了获得市场授权的途径,这与对标准的第三方“认证”不同。
  • 最后,还有一些​​概念性框架​​,例如美国国家标准与技术研究院(NIST)为信息物理系统开发的框架。这些不是用来认证的标准,而是帮助组织现代系统复杂问题的思维工具。

理解这一格局至关重要。这些工具是不可互换的。工程师的一项关键任务是在这个星系中导航,为他们的特定领域选择正确的标准。例如,一个处理挥发性化学品的工业机器人单元,是更适合由面向流程的 IEC 61511 管辖,还是由专注于汽车的 ISO 26262 管辖?答案在于对生命周期、危险源性质以及安全功能的需求模式进行仔细分析。这种区分通用标准、行业特定标准、法规和框架的能力是成熟工程实践的标志。

新前沿:数字孪生、人工智能与安全的未来

功能安全的原则是在无处不在的连接、机器学习和数字孪生兴起之前确立的。它们能够很好地适应并迎接这些新挑战,这证明了其稳健性。

在安全背景下,“数字孪生 (digital twin)”不仅仅是一个三维模型;它是一个物理系统的可执行、可分析的模型,并经过验证,具有已知的、量化的保真度。它是一个“保真度受限的代理模型”。想象一下,你正试图用地图穿越雷区。一张完美的地图是理想的,但没有地图是完美的。一张安全的地图是你知道其最大可能误差的地图。如果你的地图可能有高达一米的偏差,那么明智的做法是让地图上的每一颗地雷都保持至少一米的安全距离。

这正是数字孪生在运行时保障中的应用方式。监控器使用孪生模型来预测真实系统是否即将进入不安全状态。该模型有一个已知的最坏情况预测误差 ε\varepsilonε。监控器的安全触发器设置了一个额外的安全裕度 δ\deltaδ。只要安全裕度大于或等于模型的最大可能误差(δ≥ε\delta \ge \varepsilonδ≥ε),系统就能保证安全。监控器认为安全的任何状态都是真正安全的。这个简单而强大的思想让我们能够对使用复杂、不完美模型的系统的安全性进行推理。

除了运行时,数字孪生正在彻底改变验证和确认(V&V)过程。它们作为虚拟测试平台,工程师可以在其中进行数百万次模拟测试,注入故障,并探索在现实世界中测试过于危险或昂贵的危险场景。然而,这种能力也伴随着责任。如果数字孪生被用来为安全论证生成证据,那么孪生本身就成了一个安全关键工具。根据 ISO 26262,必须评估其“工具置信度等级”(TCL),并可能需要进行鉴定。它生成和依赖的数据成为安全论证的一部分,并需满足产品整个生命周期内关于可追溯性、完整性和保留的严格要求。

也许当代最大的挑战是安全与网络安全的融合。一个安全功能不仅可能因随机硬件失效而失效,也可能因黑客的恶意消息而失效。那种安全团队和安保团队各自为政、互不沟通的纯“孤岛式”方法已不再足够。现代的解决方案是“协同保障 (co-assurance)”。安全论证必须正式、明确地考虑安全威胁。这通过引入明确的假设来实现。安全论证可能会声称:“我们的系统是安全的,前提是成功的、破坏消息完整性的网络攻击概率小于某个小值 α\alphaα。”而安保论证则反过来提供证据——来自渗透测试、密码学审计和威胁分析的证据——来证明这一假设。这在两个学科之间建立了一座严谨的、契约式的桥梁,使得来自随机失效和恶意攻击的总风险能够在一个统一、连贯的框架内得到妥善管理。

统一的审慎哲学

正如我们所见,功能安全的世界丰富、深刻且不断演变。它最初是作为一种推理简单电子系统可靠性的方法,现已发展成为一种全面的工程审慎哲学。IEC 61508 及其衍生标准为我们提供了一种通用语言和通用逻辑,用以在一个日益复杂和互联的世界中对风险进行推理。

它是一个可扩展的框架,从基础数学的严谨性延伸到容错架构的复杂性。它提供了一张地图,用于在工程标准和法规的广阔宇宙中导航。它也足够灵活,能够拥抱我们最先进技术带来的挑战和机遇。从本质上讲,它是关于如何系统性地思考建造不会失效的东西——或者更准确地说,以最安全的方式失效的东西——的编码。这是一种安静、自律且至关重要的艺术,用以构建一个我们可以信任的世界。