工业控制计算机的实时控制程序代码通常都采用EPROM固化运行,一般不易发生被改写的情况。
但成年累月运行,我们有时也会发现极个别的单元出错。其原因可能是芯片质量问题或者因静电、雷击干扰等造成的改写。
程序出错了,将直接造成运行错误或者无法运行。
校验的方式可以采用累加和校验或者BCH校验(一种CRC校验方法)。
当采用BCH校验时,其分组附加的冗余字节可以集中在程序区之外的某个EPROM区域里。校验方法是在某个短小而且经常发生的中断服务程序内安排一个校验模块,可以设计成每次循环校验一部分程序代码,分若干次校验完成;
或者当代码少,任务轻松时也可以一次校验完。如果发现校验错,应当立即向工控网络主站报告或者以自身报警的办法告知操作人员,以便及时处理。这个方法的局限性是被损坏的程序代码不是校验程序块,而且以该中断还可以正常响应为前提。
由于该中断服务程序短小,通常还是有很大的概率自监视程序代码的正确性。