3 软件系统的安全可靠性分析
在计算机联锁控制系统里,各种复杂的功能主要依靠软件来实现。嵌入在安全控制系统中的软件,不仅要能完整地实现系统的控制功能,还要能保证实现系统在发生意外时的安全防护即故障—一安全功能。
一般在汁算机联锁控制系统中,普遍采用以下软件技术来提高系统的安全可靠性:
(1)采用信息编码技术,以便出错时能被及时识别。例如,对于涉及行车安全的逻辑变量,用多元代码来表示安全变量的两个值—一安全侧值和危险侧值。这样,当代码在存储或传输过程中,由于存储器硬件故障或者外界干扰而发生畸变,一旦错成非法码时,就可由软件自动检出并导向安全侧。
(2)采用软件冗余技术,保证软件运行的安全性。
(3)采用软件检测技术及时发现故障,以进一步采取措施防止危险侧信息的发生和输出。
(4)利用软件对输人数据的合理性进行检查,刘输出的控制信息进行反馈重复检查等等。
图1 计算机联锁系统数据处理模型框图
图1是一个从安全角度去考虑的计算机联锁系统的框图,实际上也是计算机联锁系统的一个安全性模型,只是仅从保障安全的角度把计算机联锁系统描述成为一个典型的数据处理系统。对于计算机联锁系统来说,保障安全就是保障框图中的数据流和控制流这两种信息处理的安全;退一步讲,即便信息处理发生错误也不会导致危险的后果。
联锁机和外部设备的输入/输出信息具有两种特性,—是开关性;二是安全性。外部设备向联锁机提供的输入信息具有开关性。同样,联锁机的输出信息也具有开关性,这种开关性可由表示两个状态的器件如继电器来反映。输入/输出信息的安全性是根据信息与行车安全的关系来界定的。一类是与安全无关的信息,称作非安全信息;另一类是与安全有关的信息,称作安全信息。
联锁机和监控对象之间交换的信息属于安全信息,因此必须考虑当输凡输出通道发生故障时,一定要确保传送信息的安全。为此,在通道设计上必须采用安全输凡输出接口。在CPU与输入和输出模块间采用专用总线以保证传送的正确性,对输入电路采用光电隔离电路读取。输入值,以检测“粘连”状态,对各个输出信号在提供给继电器前进行表决,不致因输出模块本身的故障而影响信息安全。一般在具体的系统设计中,可采取如下措施:
(1)安全信息的输入:在计算机输出每种信号设备状态码的第一位后,待输出电平稳定(如20ms),再将每种信号设备状态码的第一位读入储存,并立即输出第二位代码;读入全部代码后,经计算机整理后再传给每个对象的存储模块。
(2)安全信息的存储与更新:计算机联锁中监视现场设备状态的存储单元,在宏观上必须与被监视的对象建立不断的联系,当联系中断时,系统必须立即倒向安全。
(3)安全信息的运算:联锁条件满足时,程序的走向和运算结果都是预知的。为了提高安全性和防止漏检查联锁条件,在每次判断条件成立后,将该条代码进行按位累加,联锁关系全部检查正确时,其累加值应与预期结果相符。
(4)安全信息的输出:计算机的开关量的输出是非故障安全的。为了保证安全,可对输出环节进行连续的监视,如出现不应有的危险侧输出,应快速地在现场设备未动作前予以切断。
(5)安全信息在计算机间的传递:为了符合信号系统的传统做法,遵循故障安全的要求,在计算机联锁的设计时,应采用点对点的循环传送方法,而不采用变化检出、一次传送的方法。
计算机联锁的串行数据在传输过程中,由于干扰而引起误码是难免的,在检查数据位和冗余位之间的关系是否正确时,应着重防止在传输中错误地出现危险侧代码。为了确保信息传输的安全可靠,一方面可以采用冗余度小、检错能力高的循环码(CRC)作为检错码;另一方面就是在软件编程时对传输的信息进行特殊编码,并以反馈重发方式纠错。