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)、旁路开关、复位回路。提取时把逻辑图转换为布尔表达式或表决表达式,便于后续在验证工具中建模。
三、响应时间的分解与验证输入
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)中获取,并明确标注来源和假设。
五、提取过程中的常见陷阱
陷阱一:把SIL等级当成唯一目标。SRS中某条SIF标注SIL 2,但误动作率要求很严。如果只按SIL 2选1oo2架构,误动作率可能超标。验证输入必须同时包含SIL和STR,二者共同约束架构。
陷阱二:响应时间只抄总数。总数满足不代表每一段都合理。例如总时间2.0s,但阀门实际行程需要1.8s,留给传感器和逻辑的时间只有0.2s,可能无法实现。验证时要分解并逐段确认。
陷阱三:忽略SRS中的假设条件。SRS常写“假设每年测试一次”“假设修复时间8小时”“假设诊断覆盖率90%”。这些假设直接进入PFDavg计算,验证时必须逐条核对,不能默认成立。
陷阱四:安全功能边界不清。一条SIF可能涉及多个输入和多个输出,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验算、响应时间核算、误动作率评估才有可靠基础。