表决机制在多个读数不一致时决定采信结果
别名: 多数表决 · sensor voting
概念解释
表决逻辑(voting logic)是在多个冗余通道的读数或状态出现不一致时,按照预先定义好的规则产生一个系统输出,常见形式包括多数表决(如三取二)、加权选择、或者直接转入安全状态。它同时也在做另一件同等重要的事:定义在什么条件下,某一条通道会被正式判定为已经失效。
机制
对于开关量或离散状态,多数表决可以直接容忍有限数量的随机故障——三路里两路一致就采信这两路。但对连续量(温度、压力这类模拟读数),事情复杂得多:三个传感器几乎不可能给出完全相同的数字,必须先定义一个容差范围,还要处理各通道采样时刻不完全同步、以及传感器本身缓慢漂移这些正常现象。如果表决逻辑要求"完全相等"才算一致,会把大量正常的测量噪声误判成分歧,反而制造虚假报警;容差定得太松,又会让真正的分歧被悄悄平均掉。表决规则的第二层责任——判定被拒绝的那条通道该被隔离、被降级使用、还是把决定权交还给人——同样是一个需要显式设计的决策,而不是表决逻辑的副产品。
边界
多数不等于正确:如果三条通道里有两条同时受到同一个共因影响(比如同一批次传感器在特定环境条件下的系统性偏差),这两条一致的错误读数会以多数身份压倒那一条真正正确的读数,表决器会自信地采信错误的那一边。所有通道也可能共享同一种偏差,这时表决逻辑看到的"高度一致"反而是最危险的信号,而不是最安心的信号。此外,不同通道之间哪怕只是采样时间点的微小错位,在快速变化的过程量上也会制造出看起来像分歧、实际只是时间对不齐的伪分歧;一旦把决定权交给人工判断,又会受制于人能获得的证据和反应时间,不能指望人比表决逻辑本身反应更快。
怎么落地
明确写出表决所需的通道数量、允许的容差范围、比较所用的时间窗口、某通道被判定失效后的默认处理方式、以及故障通道恢复正常后重新纳入表决的规则。
- 验证办法:分别注入边界值附近的读数、缓慢漂移、通信延迟导致的采样错位、以及刻意设计的共因故障这四类场景,检验表决逻辑是否按预期工作;界面需要同时显示各通道的原始输入、最终被采信的结果、以及被拒绝通道的具体原因,而不只是显示一个已经表决完成的数字。