时间:2024-07-28
孙 超
(中国铁道科学研究院集团有限公司 标准计量研究所,北京 100081)
基于通信的列车运行控制(CBTC ,Communication Based Train Control)系统目前在我国城市轨道交通中广泛应用。为了提高CBTC 的可靠性,降低其生命周期成本,下一代列车运行控制(NGTC, Next Generation Train Control)系统已经逐步被开发出来。NGTC 简化了信号系统,将联锁和轨旁列车自动防护系统(ATP ,Automatic Train Protection)的功能融合到智能车载控制器(VOBC ,Vehicle OnBoard Controller)中,直接控制轨旁设备,通过列车间无线通信提供安全的列车间隔。
作为安全苛求系统,必须确保当前的安全等级至少不会降低[1]。但是由于NGTC 的复杂性,传统的安全分析很难为其定义合适的安全需求,与此同时,NGTC 中大部分的安全功能都是通过软件实现的,各个子系统之间的相互作用也是紧密耦合的。因此,需要一种新的安全分析方法来保证系统的安全,除了减少部件故障引起的潜在事故,还要减少由于子系统之间不安全的交互而引起的潜在事故。
系统理论过程分析(STPA ,System-Theory Process Analysis)方法由Nancy Leveson 教授提出,是一种基于系统论而非可靠性理论的风险分析方法。STPA 认为,事故的根本原因是复杂的过程导致系统的控制行为违反了应有的安全约束,因而将安全问题作为控制问题来处理,由此能够辨识系统由于设计错误和子系统之间非正常交互导致的事故,及其致因场景,同时STPA 能够在系统设计的初期即可开始进行安全分析,能够与系统的设计迭代进行,为软件密集型分布式系统的设计过程提供安全指导,通过提出充分的安全约束对可能存在的危险进行消除或控制,从而保证系统的安全。STPA 已经成功应用于多种安全苛求系统的分析,涉及航空航天、国防工业、交通运输、化学工业和医药生成等多种领域[2]。
文章简要介绍了NGTC 系统的总体结构和运行环境,研究了STPA 在NGTC 系统安全设计中的具体应用,分析了NGTC 系统潜在的危害和相应的致因场景,提出了系统设计的安全约束。通过将STPA对NGTC 的分析结果与CBTC 系统进行对比,表明NGTC 系统的安全性得到了提高,证明了STPA 在列车运行控制系统安全性分析中的可用性。
为了解决现代复杂系统的安全分析问题,STPA方法在2011 年被提出,用来指导软件密集型系统的安全分析。STPA 认为,发生事故的本质是系统的复杂过程导致系统的控制行为违反了适当的安全约束。因此,安全问题的核心是提出并实施安全约束。STPA 将安全问题看作控制问题,采用闭环控制结构来描述系统的行为,闭环控制系统是由相互作用的部件组成的,如图1 所示。
图1 系统控制框图
根据系统存在的风险和初步的设计方案,通常认为在高风险状态的动态迁移过程中,STPA 可以在系统设计的初期与系统设计同步迭代进行。它可以辨识不安全的行为,例如人为错误、控制算法、过程模型、组件之间的交互和导向危险场景。在引导词的帮助下,通过自上而下的方式在系统设计过程中提出安全约束,消除或控制危害,如图2 所示所示。STPA 的安全分析过程可以通过以下两个步骤来完成:(1)辨识不安全的控制行为;(2)辨识不安全控制行为的潜在致因场景[3]。
图2 致因场景辨识的通用引导词
CBTC 系统的缺点是系统结构过于复杂,子系统过多,子系统之间的交互过于频繁。大量的轨旁设备使系统施工、运行和维护的成本都很高。只有在一些特定线路(例如:需要高密度、低成本和较少维护的通勤线路)使用CBTC 系统才可能具有较低的成本,因此,NGTC 系统应运而生。
NGTC 系统由车载控制器(VOBC ,Vehicle On Board Controller)、目标控制器(OC ,Object Controller) 和列车自动监控(ATS ,Automatic Train Supervisor)3 部分组成,每一部分都可以通过无线链路直接进行通信,使列车的运行更加安全高效,提高了铁路服务的质量[4]。NGTC 系统的基本原理图,如图3 所示。
NGTC 系统是典型的软件密集型复杂社会技术系统,因此,软件在系统中发挥着越来越重要的作用。由软件引起的事故是大多数由于规范错误或系统之间不受控的交互导致,而不是系统的组件故障导致。软件系统的灵活性和逻辑复杂性使得传统的安全工程技术难以通过冗余构件来提高系统的安全性[5]。因此,需要一种新的安全分析方法来辨识系统中与软件有关的危害及其导致的场景,提出并实施足够的安全约束[3]。
图3 NGTC系统结构和原理示意图
列车运行控制系统的核心功能是保障列车安全高效运行。通过车车通信保持列车之间安全的运行间隔,通过计算列车移动授权(MA,Movement Authority)分配铁路线路上各区段的使用权限。
尽管STPA 已经在许多领域得到应用[6],但是作为一种相对较新的技术,应用于列车运行控制系统方面的经验依然较少。根据NGTC 的原理,本文基于SPTA 的安全分析方法,从系统边界的定义开始,辨识系统级的事故和危害,构建层次化的安全控制结构,找出潜在的非安全控制行为(UCA ,Unsafe Control Action)及其会导致的场景,根据分析的过程生成并改进相应的安全约束[7]。
基于STPA 的NGTC 系统安全分析过程,如图4 所示。
图4 基于STPA的NGTC系统安全分析过程
系统安全工作的目标是消除或控制危险,防止出现事故或使损失降低到可接受的风险水平。NGTC系统主要是防止行车安全相关的事故,如表1 所示。
表1 不期望的行车事故列表
根据既有的系统知识和经验,能够导致上述事故发生的系统危害,如表2 所示。
表2 系统危害
通过对危险进行控制可避免事故的发生,据此可初步定义安全约束,如表3 所示。
表3 初步定义的安全约束
系统分层控制结构依据系统的功能逻辑而确定,而非物理结构图,因而在系统设计初期即可进行安全分析。NGTC 系统分层控制结构,如图5 所示。
图5 NGTC系统的分层控制结构
软件本身并不会直接导致损失或伤害,但可能通过错误的控制行为使设备出现错误动作或误导操作人员,从而在特定的系统环境中导致事故的发生,因此软件安全分析的重要工作是对所有潜在不安全控制行为的辨识,以此作为安全约束细化和分配的基础。列车运行控制系统通常将列车停车状态作为其安全侧,因此NGTC 的控制行为应保证列车在危险情况下导向或处于安全侧,与之相反的控制行为则认为是非安全的控制行为(UCA)。按照STPA 提供的引导词对所有的控制行为进行分析,即可辨识到不安全控制行为,并可据此细化安全约束。NGTC系统非安全控制行为辨识结果,如表4 所示。
表4 VOBC潜在的非安全控制行为
细化的安全约束,如表5 所示。
表5 细化的安全约束示例
现代软件密集型系统是通过相互作用的组件动态交互构成的,其危害仅在特定的上下文环境中会出现并导致事故的发生。基于STPA 的安全分析过程的最后也是最重要的一步是找到UCA 的致因场景,并针对性的分配安全约束来消除或控制危害[8]。
危险的致因场景可以分为两类:(1)控制器提供了不安全的控制行为;(2)控制器未提供不安全的控制行为,但是受控过程的反馈未导向安全测。另外,某些系统本身可能是按照故障- 安全的原则设计和运行的,但是该系统的消息在发送到其他系统时可能是非安全的。本文以NGTC 中列车未能及时执行紧急制动为例给出分析结果,如图6 所示。
图6 未及时执行紧急制动的场景分析示意图
有了事故发生的场景,就可以细化和分配安全约束,保障列车运行安全。例如,根据图6 中红色标注的内容导致的场景,可以将以下安全约束分配给VOBC :
(1)后车的列车向前运行能够到达的最远的位置(MAL,Movement Authority Limit)不应超过前车的列车退行能够到达的最远的位置(MAO,Movement Authority Origin);
(2)VOBC 应确保列车在任何情况下都不会越过MAL 或MAO。
将STPA 的分析结果与传统CBTC 系统的安全需求进行对比,可以发现STPA 不仅更加简单易用,而且可以发现传统方法中容易遗留的一些问题。虽然这些安全需求的实现并不复杂,但是在传统的系统设计和安全分析方法中确实没有得到足够的重视。
以图6 为例,有2 个值得注意的致因场景是:(1)MA 与其他列车的MA 发生冲突;(2)紧急制动曲线的计算不能保证列车不会超过MA 的范围。通过对比可以发现,在传统的CBTC 中,MA 的定义是:列车在给定的行驶方向上,进入并通过轨道的特定区段的权限,MA 由CBTC 系统分配、监督并执行,以确保列车之间的安全间隔,并通过联锁提供防护。CBTC 强调了列车不能越过MAL, 但是对于列车在MA 范围以内退行可能到达的位置以及超速防护功能都没有限制,而是使用退行防护功能对列车可能出现的与期望方向不符的运行进行防护,但是问题是:
(1)没有最大距离的限制,列车不能保证最终停车的位置。没有规定列车退行后应该做什么,因此没有也定义停车后的最差位置。
(2)区域控制器(ZC,Zone Controller)发送给后车的MAL 考虑了前车位置的不确定性,但是没有考虑前车可能发生的退行。
由于以上两点,导致后车的MAL 包含了前车退行时可能运行到的区域,存在一定的安全隐患。在传统的CBTC 系统中,每个子系统都是单独设计并运行,虽然前车有退行防护功能,可以提供MAO,但是仅规定了 “如果列车的退行距离超过了容许的范围,CBTC 系统将启动紧急制动应用”,没有规定后续行为。通常情况下,如果列车在退行之后需要继续向前运行,则允许ATP 缓解紧急制动,这意味着MA 的计算、超速防护、退行防护的功能需要同时考虑,以确保后车的MAL 不会越过前车的MAO, 而且两列车都要确认各自在两个运行方向上的位置不会超过MAO 与MAL 之间的MA 区域。
在现有的CBTC 系统规范中,没有对退行防护的最大范围进行定义,只是建议在后车的安全制动模型中考虑前车的制动误差,因此,这里有2 个问题:
(1)后车不知道前车退行可能到达的最远位置;
(2)安全行车间隔只能确保后车不会越过自己的MAL,而不是前车的MAO。
在CBTC 系统的开发过程中,定义了列车的最大退行范围,给出了MAO 的概念。但是由于提高行车效率和某些线路的设计要求等方面原因,在ZC 计算后车的MAL 时,不能保证这个MAL 的范围在任何情况下都被看作是MAO。其中一个场景是,在列车出清道岔之后需要尽快搬动道岔,因此需要假设列车不会退行到道岔区域。
通过以上分析可以看出,STPA 在NGTC 系统安全分析中可以发挥其优势。在系统概念阶段即可进行应用,并且能够从系统层设计方案和需要预防的事故入手,发现传统的安全分析方法中难以发现的系统需求和接口设计中存在的危险,具有适用性和有效性,同时,针对上述问题,设计人员不难提出兼顾安全与效率的解决方案,例如:
(1)前车根据运行状态计算其可能的运行范围边界(此处关心列车车尾的范围),并将其作为MAO 发送给后车。
(2)前车通过超速防护或退行防护功能,保证其在任何情况下都不会越过MAO,除非得到后车的确认,否则MAO 不会回撤。
(3)后车应正确接收前车的MAO 信息,据此计算自己的MAL,保证后车的MAL 不超过前列车的MAO,并与前车保持一定的安全间隔余量。
(4)后车在MAL 的基础上计算防护速度,实时监控列车速度与紧急制动曲线之间的关系,确保后车在任何情况下都不会越过MAL。
两列列车通过以上的方式协同控制,可以有效避免相撞事故的发生。类似的,对于双向行车的区域,列车在进行MA 延伸时可能会导致交叉的MA,那么每列车在延伸MA 时必须得到另一列车的确认和授权。由此可以看出NGTC 系统设计的安全性相比CBTC 系统有所改进。
由于缺乏足够的经验和故障记录数据来支持传统的安全分析方法的应用,因此需要一种新的安全分析方法对系统的设计过程进行指导。本文将基于STPA 的安全分析方法应用于NGTC,并通过具体的案例研究证明了该方法的适用性和有效性。该方法能够从系统的概念阶段就开始应用,并通过自上而下的分析过程全面辨识系统危害及其致因场景,从而可以在系统设计过程中得到控制或消除这些危害,保证系统的安全性。限于篇幅,本文仅对典型的危害及其致因场景案例进行了分析,下一步的研究重点是对NGTC 的全部行为进行建模,并在基于STPA的安全分析法的指导下完成系统安全设计工作,进一步验证该方法的有效性并根据列控系统的特点对其应用过程进行细化。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!