Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 62138:2018 规定了核电厂中执行安全类别 B 或 C 功能的计算机化仪表控制系统(I&C)的软件安全要求,如 IEC 61226 所定义。该标准在 IEC 61513 核 I&C 系统安全的总体框架内,补充了 IEC 60880(覆盖 A 类功能)。
该标准涵盖了完整的软件安全生命周期——从需求规范到设计、实现、验证、确认、安装、运行和修改。它同时适用于应用软件(工厂特定)和系统软件(预开发平台和操作系统),并涵盖用于安全 2 级和 3 级 I&C 系统的软件。
IEC 62138:2018 建立在几个工程师必须理解的基础概念之上:
| 概念 | 描述 | 工程含义 |
|---|---|---|
| 安全类别 (B/C) | B 类功能:失效可能导致显著的放射性物质释放。C 类功能:失效可能导致轻微释放。 | B 类系统需要比 C 类更严格的软件验证和确认。 |
| 系统等级 (2/3) | 2 级系统执行 B 类功能;3 级系统执行 C 类功能。 | 第6条中的要求标记为适用于 2 级、3 级或两者。 |
| 分级 | 要求的应用与功能的安全重要性成比例。 | 并非所有要求均匀适用——标准区分了等级特定的适用性。 |
| 纵深防御 | 针对软件故障和共因失效的多层保护。 | 2 级系统需要软件多样性和独立性来防御 CCF。 |
标准围绕结构化安全生命周期组织软件要求。关键工程要求包括:
需求规范必须完整、无歧义、可验证和可追溯。对于 2 级系统,规范必须使用形式化或半形式化表示法(如状态图、决策表或形式逻辑)。需求必须可追溯到 IEC 61513 的系统需求。
设计必须模块化、层次化且限制复杂性。对于 2 级系统,标准推荐使用面向应用的语言(如 IEC 61131-3 的功能块图)而非通用语言(C、C++),因为它们限制编程结构并降低编码错误可能性。使用通用语言时需要额外验证措施,包括编码标准合规性、静态分析和同行评审。
| 活动 | 2 级 | 3 级 |
|---|---|---|
| 需求验证 | 独立审查 + 可追溯性分析 | 审查 |
| 设计验证 | 独立审查 + 仿真 | 审查 |
| 代码验证 | 静态分析 + 结构覆盖(MC/DC) | 静态分析 + 语句覆盖 |
| 集成测试 | 功能 + 鲁棒性 + 边界值 | 功能测试 |
| 确认 | 独立 V&V 团队,模拟电厂条件下的完整功能测试 | 功能测试 |
| 验证独立性 | 与设计团队组织上独立 | 同一组织、不同人员 |
IEC 62138:2018 在实际应用中一个最具挑战性的方面是预开发软件(PDS)的验证——在核电项目开始前已存在的软件,被考虑用于安全分级 I&C 系统。
标准建立了一个严格的验证过程,需要在四个方面提供文件化证据:
IEC 62138 是通用安全标准 IEC 61508-3(软件要求)的核电行业特定实施。IEC 62138 的附录 C 提供了两份文件之间的详细映射。通常,IEC 62138 对 2 级系统的要求对应 IEC 61508 的 SIL 2–3,而 3 级对应 SIL 1–2。然而,IEC 62138 包含了超出 IEC 61508 的核电特定要求(如 CCF 防御、验证独立性)。
是的。该标准适用于执行 B 类或 C 类安全功能的所有 I&C 系统,包括辅助厂房系统、辐射监测、乏燃料处理等。它不适用于非安全 I&C 系统(4 级/NC 类),这些系统可遵循 IEC 62645 或其他适当标准。
在 2 级系统中使用通用 OS 是可能的,但从验证角度来看极具挑战性。标准对预开发软件的要求(第6.3条)适用于整个 OS 内核、库和设备驱动程序。实践中,大多数 2 级系统使用小型实时 OS(含安全案例的 VxWorks CERT)、裸机方法或经过验证的安全 OS。Linux 的 2 级认证曾有尝试但很少成功,原因是复杂性以及难以提供所需的正确性证据。