4. 联锁逻辑基础与故障—安全原则
联锁系统的本质,是用一套确定的逻辑关系来约束信号机、道岔和轨道区段之间的动作顺序,使得列车或调车车列只有在安全条件全部满足时才能获得允许运行的信号。要理解计算机联锁如何做到这一点,先要回到两个基础:一是联锁条件如何用布尔逻辑表达,二是继电器电路如何天然地体现“故障—安全”。计算机联锁并不是凭空发明的新逻辑,而是把继电器电路所承载的安全逻辑,用计算机软件与冗余硬件重新实现了一遍。
一、联锁条件的布尔表达:与、或、非
联锁条件中最常见的三类关系,恰好对应布尔代数的三种基本运算。以一条进路的开放条件为例,它通常要求“进路内所有道岔位置正确”且“进路内所有轨道区段空闲”且“敌对进路未开放”,这些条件必须同时成立,属于“与”关系;而“进路内任一道岔失去表示”或“任一区段占用”都会导致进路不能开放,属于“或”关系;至于“信号机未开放”这类条件,则常用“非”来表达。
设某进路开放条件为 L,可写成如下布尔表达式(示例为教学简化模型):
L = P1 · P2 · P3 · F1 · F2 · ¬H
其中:
P1、P2、P3 —— 进路内三道岔位置正确(定位或反位表示有效)
F1、F2 —— 进路内两轨道区段空闲
H —— 敌对进路已开放
· —— 逻辑与
¬ —— 逻辑非
这个表达式说明:只要 P1、P2、P3、F1、F2 中任何一个为 0,或者 H 为 1,L 就为 0,信号不能开放。工程上把这种“全部条件同时满足才输出允许”的结构称为串联型安全条件,它对应继电器电路中的串联接点链。反之,若某条件只要有一个满足即可(例如多个允许开放来源),则用“或”并联表达。
二、继电器电路如何体现故障—安全
传统继电联锁的安全逻辑,核心在于“安全侧”的定义与实现。所谓安全侧,是指当设备发生故障、失去电源或断线时,系统自动落入的那一侧状态。对于信号开放条件,安全侧就是“信号关闭”;对于道岔表示,安全侧就是“无表示”或“位置不正确”。继电器电路通过以下方式保证故障时落入安全侧:
- 励磁吸起表示“允许”,失磁落下表示“禁止”。 一旦线圈断线、电源消失或接点接触不良,继电器必然落下,输出禁止信号,而不是错误地保持允许。
- 关键条件采用串联接点链。 任一条件对应的继电器落下,串联链即断开,允许输出消失,不会因为某一条件失效而被“旁路”。
- 采用“故障导向安全”的接点组合。 例如用继电器的前接点(吸起闭合)去接通允许电路,用后接点(落下闭合)去接通禁止或报警电路,使断线、混线等故障尽量表现为禁止侧。
需要强调的是,故障—安全并不是“任何故障都绝对安全”,而是通过设计使故障后果尽可能落在安全侧,并对无法完全覆盖的故障(如某些混线、多点故障)通过冗余、检测和周期检查来限制风险。这一点在计算机联锁中同样成立。
三、计算机联锁中的实现方式与安全侧定义
计算机联锁用软件逻辑替代继电器接点链,但安全侧的定义没有改变:信号开放的安全侧仍是关闭,道岔动作的安全侧仍是不动作或失去表示,进路锁闭的安全侧仍是保持锁闭而非错误解锁。实现上通常采用“二乘二取二”或“三取二”等冗余结构,两套或三套通道独立运算同一布尔逻辑,再对结果进行比较或表决;只有多数通道一致且结果落在允许侧时,才真正驱动输出。输出驱动环节还常采用动态脉冲、回读比较等手段,防止输出电路固化为“允许”状态。
下面这张图把“布尔条件—继电器接点链—计算机联锁表决输出”三者的对应关系放在一起,便于对照理解安全侧是如何在每一层被落实的。
四、一个可操作的判断示例
假设某站一条接车进路包含 3 组道岔、2 个轨道区段,且存在一条敌对进路。按上面的简化模型,若现场反馈为:P1=1、P2=1、P3=0(第 3 组道岔失去表示)、F1=1、F2=1、H=0,则 L = 1·1·0·1·1·1 = 0,信号不能开放。此时即使其他条件全部满足,只要 P3 为 0,串联链就断开,这正是“与”关系在安全上的意义:不允许任何单点条件被忽略。
再考虑故障情形:若通道 A 因接点抖动误判 P3=1,而通道 B 正确判为 P3=0,则 L_A=1、L_B=0,比较表决发现不一致,系统按安全侧处理,输出关闭信号并给出通道故障提示。这一过程说明,计算机联锁的安全侧定义与继电器电路一致,只是把“断线即落下”的物理保证,转化为“不一致即禁止”的逻辑保证,再辅以输出回读和动态检测,防止输出级固化为允许状态。