ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

IEC 61508-1功能安全一般要求:生命周期、管理与评估全解析

IEC 61508-1功能安全一般要求:生命周期、管理与评估全解析

简介:功能安全是面向安全相关系统,通过系统性流程将风险降低到可接受水平的工程方法。其核心原理是以整体安全生命周期为主线,先开展危害与风险分析,形成可判定的安全要求并合理分配,再借助文档、功能安全管理、配置管理与独立的功能安全评估形成闭环。技术价值在于提升可追溯性、验证与确认的有效性及合规证据链完整性。在工业控制、嵌入式系统、汽车电子等场景中,IEC 61508-1作为一般要求,为E/E/PE安全相关系统的开发、评估与改造提供通用框架。

1. 功能安全的地基:IEC 61508-1 在整套标准里管什么

IEC 61508-1:2010 是功能安全(Functional safety)系列标准的第 1 部分「一般要求」,第二版,2010 年 4 月发布,取消并替代 1998 年的第一版,属于技术修订,按 IEC 指南 104 拿到「基本安全出版物」的地位。它不教你某个产品怎么设计电路、怎么写代码,管的是「规矩的规矩」:一是给做产品与应用领域标准的委员会当母版,让行业标准有共同底座;二是在没有上层标准时,直接充当 E/E/PE 安全相关系统的开发框架。所以它读起来像一份流程契约而不是技术手册,做嵌入式安全、功能安全入门、或者想把 61508 各部分关系一次性理清的人,都该从这一部分起步。

2. 标准骨架:八个章节与五张图的分工

把 Part 1 当成一本书从头读到尾,很容易在中间失去方向。更省力的做法是先看目录,认出它其实是三块内容拼起来的:前面 1~4 章是「立规矩」(范围、引用、定义、符合性),第 5~6 章和第 8 章是「管人和管纸」(文档、功能安全管理、功能安全评估),第 7 章是「管流程」(整体安全生命周期),最后一个信息性附录给了一份文档结构示例。五张图则把三层生命周期的嵌套关系画了出来。

2.1 从目录看结构:每一章在复习里的定位

章节内容复习时的定位
第 1 章范围(Scope)判断项目是否落在标准适用边界内
第 2 章规范性引用文件知道还有哪些标准要被一起翻
第 3 章定义与缩写术语混乱时的第一查询口
第 4 章符合性声明决定能不能对外说「符合本标准」
第 5 章文档要求输出物的清单与质量底线
第 6 章功能安全管理人、组织、计划、能力、变更
第 7 章整体安全生命周期主干流程,篇幅最大
第 8 章功能安全评估独立复核这一环怎么设
附录 A文档结构示例(信息性)不知道文档怎么搭架子时照着改

看这张表就能明白为什么很多人读不下去:第 7 章占了正文的绝大部分,但它只是「流程」这一块,真正决定项目能不能站得住的是第 5、6、8 章那三块「软要求」和前面四章的边界判断。梳理下来会发现,标准的写法非常统一——每个阶段都是先给 Objective(目标),再给 Requirements(要求),读的时候要把这两层分开:目标回答「这个阶段要达成什么」,要求回答「必须做哪些动作才算达成」。只记要求不记目标,复习时就会背成一堆散点。

第 4 章的符合性条款篇幅不长,位置却很关键。它约束的是「声称符合」这件事本身:一个系统或项目要宣称符合本标准,需要满足相应的条款条件,做不到全覆盖时不能模糊表述。这一章最容易在考试里出判断题,也最容易在项目评审里被追问。至于第 2 章的规范性引用和第 3 章的定义缩写,平时看着像摆设,一旦进入硬件或软件细节,术语的偏差会直接影响结论,比如「安全功能」和「安全相关系统」被混用,后面整段分析都是错的。

2.2 五张图的分层:整体、系统、软件三层生命周期

标准正文里放了五张图,作用不是装饰,而是把「大圈套小圈」这件事讲清楚:

图内容关键理解
图 1IEC 61508 系列的整体框架说明各部分是并列还是从属
图 2整体安全生命周期主干流程,16 个阶段一图看完
图 3E/E/PE 系统安全生命周期只在实现阶段内展开
图 4软件安全生命周期在系统生命周期内再展开一层
图 5三层生命周期的关系解释嵌套发生在哪个节点

关键在于图 3 和图 4 并不是另一套独立流程,它们是在图 2 的实现阶段(7.11)内部展开的。也就是说,整体生命周期走到「E/E/PE 安全相关系统实现」这一步,才切换到系统级生命周期;系统级走到软件部分,才切换到软件级生命周期。这个嵌套关系搞错,后面所有的阶段映射都会错位——最常见的翻车是把软件生命周期的验证活动当成整体安全确认,两者不是一回事,也不在同一个层级上。

复习时可以用一句话记住这套结构:一张总框架图定标准之间的关系,一张主干图定项目流程,两张子图定实现阶段内部的展开,最后一张关系图定嵌套点。看到任何一道题在问「某活动属于哪个阶段」,先判断它落在哪一层,再去找对应图,比硬背条款号稳得多。

2.3 规范性与信息性:附录 A 为什么不能当强制要求用

标准里的附录分成规范性和信息性两类,Part 1 的附录 A 明确标为信息性(informative),意思是它给出的是一个文档结构的示例,可以照着搭架子,但不构成「必须这么写」的强制约束。这个区分在复习和实际评审里都很重要:有人把附录 A 的条目逐条当检查项,结果文档写了一堆却漏掉了第 5 章真正要求的属性;也有人反过来完全无视它,从零设计文档结构,最后可追溯性做不起来。

正确的用法是把它当模板起点:结构可以参考,内容必须回到第 5 章和第 6 章的要求去填。标准正文和附录的关系,本质上是「要求」与「示例」的关系,考试里问「附录 A 是否强制」,答「信息性、非强制」;项目里问「文档结构怎么定」,答「以第 5 章要求为约束,以附录 A 为参考」。

3. 整体安全生命周期:十八个小节串成的阶段链

第 7 章从 7.1 排到 7.18,前几个小节是总则性的说明,从 7.2 开始才是具体阶段。这段是全标准最值得反复看的部分,因为它把「一个安全相关系统从想法到报废」拆成了有输入、有输出、有验证点的链条。很多人背不下来,是因为把它当成线性清单硬记;实际它是一条带反馈的链,任何一个阶段发现上游问题都要回退。

3.1 起点三阶段:概念、范围定义、危害与风险分析

链条的第一段是 7.2 概念(Concept):把要做什么、在什么环境里用、大致的安全意图说清楚,这是后面所有分析的输入。第二段是 7.3 整体范围定义(Overall scope definition):划定边界,明确哪些设备、哪些接口、哪些运行模式在范围内,哪些明确排除。第三段是 7.4 危害与风险分析(Hazard and risk analysis):识别危害事件、分析后果与发生频率,得出风险等级。

这三步的次序不能颠倒,原因很实际:范围没定清楚就做危害分析,结论一定发散。比如一个跨平台系统,如果把操作员接口、外部供电、通信链路都模糊处理,风险分析会变成「什么都可能出错」,最后既无法收敛也无法验证。危害与风险分析这一阶段的输出,直接决定后面整体安全要求的来源,它出问题属于根上的问题,后面再怎么补文档也救不回来。

这里有个容易被忽略的点:危害与风险分析不是一次性的动作,标准把它放在生命周期的前段,但在修改与改造(7.16)时,同样的分析要按变更范围重做一遍。很多团队在改造时只做影响分析不做危害分析,结果新引入的共因失效没人评估,这在评审里是硬伤。

3.2 整体安全要求与分配:把风险结论翻译成可执行目标

7.5 整体安全要求(Overall safety requirements)要把前面分析出来的风险结论,翻译成一组明确的安全功能要求,包括每条安全功能要达成什么、在什么条件下生效。7.6 整体安全要求分配(Overall safety requirements allocation)则决定这些要求落到哪里:分给 E/E/PE 安全相关系统、分给其他风险降低措施、还是分给外部设施。

这两个阶段是整条链的枢纽,也是最容易写空的地方。要求写得含糊,比如「系统应在异常时进入安全状态」——什么叫异常、什么叫安全状态、多久内进入,全没定义,后面的规范、实现、确认全部失去依据。分配写得随意,把所有要求一股脑压给软件,硬件和其他措施形同虚设,评审时会被问「为什么这项要求不能由其他措施承担」。

梳理下来会发现一个规律:标准在第 7 章反复强调目标与要求分开写,就是为了逼出这种「可判定」的表述。复习时可以拿一条安全功能自测——能不能用一句话说清它的触发条件、响应动作、响应时间和可接受的行为边界,说不清就是没写到位。

3.3 三份计划加规范与实现:7.7 到 7.12 的连续动作

中间这一段是很多人的记忆盲区,因为它连着三个「计划」阶段,看起来很像凑数:

阶段干什么输出物性质
7.7 整体运行与维护计划提前想清楚投运后怎么运行、怎么维护计划类文档
7.8 整体安全确认计划提前定义怎么证明整体安全要求被满足计划类文档
7.9 整体安装与调试计划提前安排安装、调试的方法与判据计划类文档
7.10 E/E/PE 系统安全要求规范把分给 E/E/PE 的要求写成可实现、可验证的规范技术要求文档
7.11 E/E/PE 安全相关系统实现按规范做出来,内部走系统与软件生命周期实现活动
7.12 其他风险降低措施对非 E/E/PE 的措施做规范与实现技术文档与活动

三个计划放在实现之前,逻辑是「先想好怎么证明、怎么运行、怎么装,再动手做」。这个顺序在工程上有点反直觉,很多团队习惯先把东西做出来再补计划,结果验证判据和实施细节都对不上,只能回头改设计。标准的意图很明确:确认计划和安装调试计划是设计约束的一部分,不是事后文档。

7.11 这一阶段是嵌套点,图 3 和图 4 就在这里展开。读到这里要意识到,整体生命周期在这一步「让位」给系统级和软件级生命周期,等活动结束再回到主干继续。判断一道题问的是哪一层活动,就看它发生在 7.11 的内部还是外部。

3.4 落地与收尾:安装调试、确认、运维、变更、退役、验证

后半段从 7.13 开始:整体安装与调试(7.13)按前面的计划执行;整体安全确认(7.14)按确认计划证明整体安全要求被满足;整体运行、维护与维修(7.15)进入长周期的使用阶段;整体修改与改造(7.16)处理变更;退役或处置(7.17)处理系统生命末期;验证(7.18)则贯穿各阶段,检查每个阶段的输出是否满足该阶段的要求。

这里最容易混淆的是「确认」和「验证」两个词。验证(verification)回答「做得对不对」,对照的是本阶段的要求;确认(validation)回答「对不对得起最初的需求」,对照的是整体安全要求。两者在阶段位置上也不一样,验证是并行贯穿的,确认是在集成完成后的一次总体检验。考试里把这两个概念对调,是最常见的失分点。

7.16 修改与改造也值得单独看一眼。标准要求变更走完整的评估流程:变更范围、影响分析、危害与风险重评、要求更新、验证与确认补充、文档同步。现实里翻车的场景几乎都一样——改了一个参数,觉得「这么小的改动不用走流程」,结果配置管理记录没更新,几年后维护人员拿到的还是旧版本。变更管理这一块的疏漏,往往要过很久才暴露,属于典型的没有后悔药。

4. 管理与文档:第 5、6、8 章的三块软要求

第 7 章讲流程,第 5、6、8 章讲的是让流程真正跑起来的三样东西:文档、管理、独立评估。这三块在复习里最容易被当成「背背就行」的配角,实际在评审和考试里权重都不低,因为它们管的是「你怎么证明你按流程做了」。

4.1 第 6 章功能安全管理:管的是人和流程

功能安全管理(Management of functional safety)这一章的对象不是技术方案,而是组织与人员。它要求建立覆盖全生命周期的管理活动,包括职责划分、人员能力与资质、计划编制、进度与资源、配置管理、变更控制、问题跟踪与记录。换句话说,它要回答的是:谁负责、凭什么能力负责、按什么计划做、做偏了怎么纠。

这一章的重点在于「能力」和「计划」两个词。能力不是一句「参加过培训」,而是要能对应到具体角色和具体活动;计划不是一份立项文件,而是要覆盖验证、评估、确认这些关键节点,并随项目推进更新。梳理下来会发现,很多项目文档写得很漂亮,一问「这个阶段的验证由谁做、依据什么判据、记录在哪」,答不上来,这就是管理要求没落地,而不是文档写得不够多。

配置管理在这一章里的位置也常被低估。它管的不是代码仓库,而是所有安全相关输出物的版本与变更关系:哪个版本的规范对应哪个版本的实现,哪次变更影响了哪些验证记录。这套东西平时看不出价值,一旦要追溯某个安全功能的来龙去脉,它就是唯一的线索。踩过坑的人都懂,配置管理一旦断链,后面所有的追溯都要靠人肉回忆。

还有一点:这一章的要求是「贯穿」性质的,不集中在某个阶段。复习时不要把它当成生命周期前面的一站,它更像一层覆盖在所有阶段之上的约束。做题时看到「应由具备相应能力的人员执行」这类表述,基本都能归到这一章。

4.2 第 5 章文档:附录 A 给的索引骨架

文档要求这一章篇幅不长,但它决定了整个项目的输出物形态。标准要求文档要能支撑相应阶段的活动,内容要清晰、可追溯、可维护,并且要随着阶段推进而更新。它没有规定你必须用哪种模板,附录 A 给的是一份结构示例,可以照着裁剪。

下面是按这一章要求与附录 A 思路整理的一份文档索引骨架,条目按项目实际裁剪,只作结构示意:

# 功能安全文档索引骨架(结构示意,条目按项目裁剪) project: name: 模拟项目X scope: "整体范围定义,含边界与排除项" safety_lifecycle_phase: "当前所处阶段,如危害与风险分析" management: roles: "职责与能力要求对应表" plan: "功能安全管理计划,含验证与评估节点" config_control: "配置项清单与变更记录入口" technical: hazard_log: "危害与风险分析记录,含后果与频率判据" safety_requirements: "整体安全要求及其分配结果" system_spec: "E/E/PE 系统安全要求规范" verification: "各阶段验证记录与判据" traceability: forward: "要求 -> 设计 -> 实现 -> 验证" backward: "验证记录 -> 实现 -> 要求"

这份骨架的用法是「先立结构再填内容」:management段对应第 6 章的管理活动,technical段对应第 7 章各阶段的输出,traceability段是第 5 章真正的要求所在。字段本身不是标准原文,重点是让每份文档都能回答三个问题——它服务哪个阶段、它的上游输入是什么、它的下游被谁引用。参数上不用追求条目多,追求的是链条闭合:任何一个验证记录,都能顺着backward找回到一条具体的安全要求。

实际项目里最常见的文档问题不是缺文件,而是文件之间没有引用关系。打开一份规范,看不出它依据哪条要求;打开一份验证报告,看不出它验证的是哪个版本。这种文档在评审时几乎等于不存在。用上面这个骨架做一次自检,缺哪条链就补哪条,比漫无目的地重写有效得多。

4.3 第 8 章功能安全评估:独立性是关键词

功能安全评估(Functional safety assessment)是独立于开发活动的一次复核,目标是判断功能安全管理与安全生命周期活动是否满足标准要求、是否足以支撑安全相关系统的安全完整性。这一章的重点不在流程步骤,而在「谁来做」和「做到什么程度」。

标准对评估活动提出了能力与独立性的要求,并且独立性的程度与被评估对象的风险水平相关联:风险越高,评估者与被评估团队之间需要的独立程度越高。这里的独立性不只是「不同的人」,还包括组织关系、汇报路径和决策影响上的隔离。很多团队在这一步翻车,是因为让参与设计的人顺手做评估,形式上完成了,实质上没有独立判断。

评估的输入和输出也要理清:输入是前面各阶段的输出物与记录,输出是评估结论与需要跟进的事项,这些事项要回到管理流程里闭环。复习时把这一章和第 6 章连着看会更顺——第 6 章要求你规划评估,第 8 章告诉你怎么评。两章合起来,才是「有人管、有人查」的完整闭环。

5. 易漏点:五个最容易踩空的地方

标准读一遍觉得都懂,做题或评审时却总在同样的地方卡住。下面这五个点是我反复对照第 5、6、7、8 章之后筛出来的,按「易漏点 → 为什么漏 → 怎么补」写,每一条都能直接拿去自检。

5.1 生命周期与风险分析里的三个漏点

易漏点一:把整体生命周期当成线性流程。为什么漏:目录从 7.2 排到 7.18,看上去就是一条直线,读的时候自然按顺序记。怎么补:在每个阶段旁边标出它的上游输入来自哪一阶段,尤其标出 7.16 变更会回流到 7.4 危害与风险分析和 7.5 整体安全要求这两处。只要画一次回流箭头,线性记忆就会被打破。

易漏点二:危害与风险分析的结论没有落到可判定的要求上。为什么漏:分析报告往往写得很厚,危害事件列了一堆,但缺少触发条件、后果判据和响应时间这类可验证要素,看起来「分析过了」。怎么补:对每条安全功能做一次三问自检——触发条件是否明确、响应动作是否唯一、响应时间是否给出数值或区间。三问里有一个答不上来,就说明 7.5 的要求还没写到位。

易漏点三:忘记区分验证与确认。为什么漏:两个词在中文语境里都像「检查一下」,而且标准里两者都贯穿多个阶段,容易混成一体。怎么补:记住对照物不同——验证对照本阶段的要求,确认对照整体安全要求;位置上验证是并行贯穿的,确认是集成后的一次总体检验。做题时先看题干问的是「阶段输出是否合规」还是「整体需求是否被满足」,答案自然分开。

5.2 管理、文档与评估里的两个漏点

易漏点四:三个计划阶段被当成文档负担而敷衍。为什么漏:7.7 到 7.9 连着三个计划,看上去像形式主义,实际项目里也常被安排成最后补写。怎么补:把这三份计划当成设计约束来用——确认计划定义了什么算「证明成立」,安装调试计划定义了现场判据,运维计划定义了投运后的边界条件。写计划时如果发现某条要求没法验证,说明要求本身要回炉,这正是计划阶段的价值。

易漏点五:功能安全评估的独立性只做了形式。为什么漏:第 8 章的要求写得比较原则,没有给出「独立性怎么算达标」的清单,于是很容易用「换个人签字」交差。怎么补:按风险水平倒推独立程度,把评估者的组织归属、汇报关系、是否有权否决都写进管理计划里;评估输出的事项要有责任人和关闭记录,回到第 6 章的管理闭环。补这一条的判断标准很简单——评估者能不能在没有压力的前提下写出否定结论。

这五个点有个共同特征:都不是知识点没背到,而是理解层级错位。把流程当清单背、把要求当文档写、把独立当签字走,最后都会在同一类问题上翻车。

6. 复习清单:一张表把 Part 1 从头到尾过一遍

复习到这一步,最有效的动作不是再读一遍原文,而是拿一张表做定向自检。下面这张表按「能不能一句话说清」来设计,每条都是可判定的,答不上来就回到对应章节补,不要停在「大概知道」。

自检项一句话标准对应位置
适用范围能说清本标准管什么、不管什么第 1 章
符合性能说清声称符合需要满足哪些条件第 4 章
文档属性能说清一份文档要具备哪些要素才算合格第 5 章、附录 A
管理覆盖能说清职责、能力、配置管理、变更控制各自管什么第 6 章
生命周期分层能指出整体、系统、软件三层在哪里嵌套第 7 章、图 2 至图 5
关键区分能说清验证与确认、要求与目标的差别第 7 章
阶段输出能说出任一阶段的输入与输出第 7.2 至 7.18
评估独立性能说清独立程度由什么决定第 8 章

用这张表的方式我建议分两轮:第一轮闭卷,把能说清的划掉,说不清的打标记;第二轮只攻标记项,每攻一项就回到原文对应小节,把那一节的 Objective 和 Requirements 各读一遍。功能安全这类标准的特点是目标层稳定、要求层琐碎,先稳住目标层,琐碎的要求才有地方挂。

还有一个具体技巧:把第 7 章的阶段名抄成一行,然后在每个阶段名后面只写两个字——「进」和「出」。进是输入,出是输出。写不出来就说明这个阶段没真正理解,而不是记忆力问题。我当年第一次读 Part 1,把 7.7 到 7.9 三个计划阶段直接跳过去了,觉得计划类内容不重要,结果做阶段映射题时连着错了三道,回头补的时候才发现这三份计划恰恰是连接设计与确认的桥。从那以后我每次读这类流程标准,都强制走一遍「阶段名 + 输入 + 输出」的三列自检,宁可慢一点,也不留这种看着不起眼的空洞。

这份资源是高清可复制、非扫描版的原文,查条款、搜关键词、复制表格都方便,配合上面这张地图去看,比从头硬啃省力得多,需要的按原渠道获取即可。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进