3. 安全要求规格书(SRS)解读与验证输入

SRS(Safety Requirements Specification,安全要求规格书)是SIS验证工程的“输入合同”。验证工程师拿到SRS后,第一件事不是打开软件建模,而是把SRS中散落在各章节的文字、表格、因果矩阵、联锁逻辑描述,逐条翻译成可量化、可追溯、可测试的验证参数。SRS写得再厚,如果验证输入提取不完整,后续的SIL验算、响应时间核算、误动作率评估都会失去基准。本节围绕“从SRS到验证输入”的转换过程,说明如何提取安全功能、SIL等级、响应时间、误动作率等关键参数,并给出可操作的提取方法与示例。

一、SRS中真正需要被“提取”的四类参数

SRS通常包含工艺描述、安全功能清单、SIL等级、安全状态定义、响应时间要求、误动作率(或可用性)要求、旁路管理、复位方式、测试周期等内容。对验证而言,真正需要结构化提取的是四类参数:

  • 安全功能(SIF)清单与逻辑关系:每条SIF的触发条件(传感器/输入)、执行动作(最终元件/输出)、逻辑关系(1oo1、1oo2、2oo3等)、安全状态、复位方式。
  • SIL等级:每条SIF对应的SIL 1/2/3,以及是否允许降级、是否属于“SIL 3 capability”要求。
  • 响应时间:从工艺参数越限到最终元件达到安全状态的总时间,通常分解为传感器响应时间、逻辑控制器处理时间、最终元件动作时间三部分。
  • 误动作率/可用性:允许的误跳车率(STR,Spurious Trip Rate)或可用性指标,用于评估SIF对生产连续性的影响。

这四类参数不是孤立存在的。SIL等级决定了架构约束(如HFT、诊断覆盖率),响应时间决定了逻辑处理与扫描周期的上限,误动作率则反过来影响冗余配置和表决方式的选择。验证工程师必须把它们放在同一张“参数关系图”中理解,而不是逐条抄录。

二、从SRS文字到验证参数的提取方法

SRS中常见的安全功能描述形式有三种:文字叙述、因果矩阵(Cause & Effect Matrix)、联锁逻辑图。不同形式提取方式不同。

文字叙述型:例如“当反应器温度TT-101超过180℃时,关闭进料阀XV-101并打开泄压阀XV-102”。提取时需要拆解为:输入信号TT-101、触发阈值180℃、逻辑关系(单点触发)、输出动作XV-101关闭、XV-102打开、安全状态(关闭/打开)、复位方式(手动/自动)。

因果矩阵型:矩阵的行是原因(输入),列是结果(输出),交叉点标注动作。提取时逐行读取,注意“1”表示动作、“0”表示不动作,以及是否有延时、旁路、确认等附加条件。

联锁逻辑图型:需要识别逻辑门(AND/OR)、表决结构(1oo2/2oo3)、旁路开关、复位回路。提取时把逻辑图转换为布尔表达式或表决表达式,便于后续在验证工具中建模。

提取时建议使用“一条SIF一行”的表格,字段包括:SIF编号、触发条件、输入位号、表决方式、输出位号、安全状态、SIL等级、响应时间要求、误动作率要求、测试周期、旁路要求。这张表就是验证输入的主数据表。

三、响应时间的分解与验证输入

SRS中给出的响应时间通常是“总响应时间”,例如“从TT-101越限到XV-101完全关闭,总时间不超过2.0秒”。验证时需要把它分解为可核算的分段:

  • 传感器响应时间:变送器阻尼、滤波、A/D转换、通信延迟,示例值0.3s;
  • 逻辑控制器响应时间:输入采样、逻辑运算、输出刷新,通常与扫描周期相关,示例值0.2s;
  • 最终元件响应时间:电磁阀动作、阀门行程时间,示例值1.2s;
  • 通信与中间环节:若经过远程I/O或安全总线,需加上通信周期,示例值0.3s。

合计示例为2.0s,刚好满足要求。验证时不能只看总时间,还要确认每一段是否在SRS允许的分配范围内。如果SRS只给了总时间,验证工程师应主动向工艺/安全专业确认分段分配,否则无法判断瓶颈在哪里。

四、误动作率与SIL等级的关系

SIL等级主要约束危险失效概率(PFDavg),而误动作率约束的是安全失效概率。两者在SRS中往往同时出现,但验证时容易只关注SIL而忽略误动作率。例如某条SIF要求SIL 2,同时要求误跳车率不超过0.5次/年。如果为了达到SIL 2而采用2oo3表决,误动作率会显著降低;如果采用1oo2,虽然安全性提高,但误动作率可能上升。验证工程师需要把SIL等级和误动作率要求一起作为架构选择的输入。

误动作率的验证输入通常包括:每个通道的失效率(λ)、表决方式、诊断覆盖率、修复时间、测试周期。这些参数在SRS中不一定全部给出,验证时需要从设备手册、历史数据或安全数据库(如exida、SINTEF)中获取,并明确标注来源和假设。

SRS → 验证输入参数提取关系图 以一条SIF为例:触发条件、表决方式、输出动作、SIL、响应时间、误动作率 SRS 文档 • 安全功能清单 • 因果矩阵 • 联锁逻辑描述 • SIL等级表 • 响应时间要求 • 误动作率要求 • 安全状态定义 • 复位/旁路要求 • 测试周期 • 工艺安全限值 • 设备位号 • 通信/接口要求 • 旁路管理策略 • 可用性指标 • 假设与边界条件 提取 验证输入主数据表(每条SIF一行) SIF编号:SIF-001 触发:TT-101 > 180℃ 表决:1oo1(单点) 输出:XV-101关 / XV-102开 安全状态:XV-101关、XV-102开 SIL等级:SIL 2 总响应时间:≤ 2.0 s 误动作率:≤ 0.5 次/年 测试周期:1年 复位方式:手动复位 驱动 验证活动 SIL验算 PFDavg ≤ 1.0E-3(SIL 2) 响应时间核算 传感器+逻辑+阀门 ≤ 2.0s 误动作率评估 STR ≤ 0.5次/年 架构约束检查 HFT、诊断覆盖率、表决 测试周期验证 Proof Test覆盖率与间隔 可追溯性矩阵 SRS条款 ↔ 验证证据 响应时间分解示例: 传感器 0.3s 逻辑 0.2s 通信 0.3s 阀门 1.2s 合计 = 2.0s ≤ 2.0s ✓

五、提取过程中的常见陷阱

陷阱一:把SIL等级当成唯一目标。SRS中某条SIF标注SIL 2,但误动作率要求很严。如果只按SIL 2选1oo2架构,误动作率可能超标。验证输入必须同时包含SIL和STR,二者共同约束架构。

陷阱二:响应时间只抄总数。总数满足不代表每一段都合理。例如总时间2.0s,但阀门实际行程需要1.8s,留给传感器和逻辑的时间只有0.2s,可能无法实现。验证时要分解并逐段确认。

陷阱三:忽略SRS中的假设条件。SRS常写“假设每年测试一次”“假设修复时间8小时”“假设诊断覆盖率90%”。这些假设直接进入PFDavg计算,验证时必须逐条核对,不能默认成立。

陷阱四:安全功能边界不清。一条SIF可能涉及多个输入和多个输出,SRS文字描述可能只写了主要动作。验证时要确认是否包含所有关联输出,避免漏项。

SRS中未明确给出的参数,不能由验证工程师自行“合理假设”后直接使用。应形成“待确认清单”,由工艺、安全、仪表专业共同确认,并记录确认结果作为验证输入的一部分。

六、可交付成果:SRS验证输入提取表(示例)

下表给出一条SIF的提取示例,字段可根据项目实际增减。该表可直接作为验证输入的主数据表使用。

SIF编号 触发条件 输入位号 表决方式 输出动作 安全状态 SIL 总响应时间 误动作率 测试周期 复位方式 SRS出处
SIF-001 TT-101 > 180℃ TT-101 1oo1 XV-101关、XV-102开 XV-101关、XV-102开 SIL 2 ≤ 2.0 s ≤ 0.5次/年 1年 手动 SRS 4.2节
SIF-002 PT-201 > 2.5MPa 且 PT-202 > 2.5MPa PT-201、PT-202 2oo2 XV-201关 XV-201关 SIL 3 ≤ 1.5 s ≤ 0.2次/年 半年 手动 SRS 4.3节

表中“SRS出处”字段用于追溯,确保每条验证输入都能回到SRS原文。验证过程中如果发现SRS描述与现场实际不一致,应记录偏差并走变更流程,不能直接在验证模型中修改。

七、从提取表到验证模型的衔接

提取表完成后,下一步才是把参数录入验证工具(如Yokogawa的SAFETY-CALC、exSILentia等)。录入时注意:表决方式要与SRS一致,响应时间分段要与核算表一致,误动作率参数要与设备手册一致。验证工具输出的PFDavg、STR、响应时间结果,最终要回写到提取表中,形成“SRS要求—验证输入—验证结果”的闭环。

对于Yokogawa ProSafe-RS系统,SRS中的安全功能通常对应到安全控制器的逻辑组态。验证工程师在提取参数时,应同步确认ProSafe-RS的扫描周期、I/O模块响应时间、安全通信周期等实际参数,避免用理论值代替实际值。例如ProSafe-RS的典型扫描周期为100ms,若SRS要求逻辑处理时间不超过200ms,则扫描周期满足要求;若要求不超过50ms,则需要调整扫描周期或优化逻辑。

总之,SRS解读与验证输入提取是SIS验证工程中最基础也最容易出错的一步。把安全功能、SIL等级、响应时间、误动作率四类参数结构化提取,形成可追溯的主数据表,并明确假设与待确认项,后续的SIL验算、响应时间核算、误动作率评估才有可靠基础。