0 引言
工业现场各种动力设备在不断地启停运行。使得现场环境恶劣,电磁干扰严重。工业控制计算机在这样的环境里面临着巨大的考验。可以说我们研制的工业控制系统能否正常运行,并且产生出应有的经济效益,其抗干扰能力是一个关键的因素。因此,除了整个系统的结构和每个具体的工控机都需要仔细设计硬件抗干扰措施之外,还需要注重软件抗干扰措施的应用。我们在多年的工业控制研究中,深感工业现场意外因素太多并且危害很大。有时一个偶然的人为或非人为干扰,例如并不很强烈的雷击,就使得我们自认为无懈可击的硬件抗干扰措施无能为力,工控机死机了(即程序跑飞了)或者控制出错了(此时CPU内部寄存器内容被修改或者RAM和I/O口数据被修改)。这在某些重要的工业环节上将造成巨大的事故。使用软件抗干扰措施就可以在一定程度上避免和减轻这些意外事故的后果。软件抗干扰技术就是利用软件运行过程中对自己进行自监视,和工控网络中各机器间的互监视,来监督和判断工控机是否出错或失效的一个方法。这是工控系统抗干扰的最后一道屏障。
1 工控软件的结构特点及干扰途径
在不同的工业控制系统中,工控软件虽然完成的功能不同,但就其结构来说,一般 具有如下特点:
* 实时性:工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地 处理随机事件。
* 周期性:工控软件在完成系统的初始化工作后,随之进入主程序循环。在执行主 程序过程中,如有中断申请,则在执行完相应的中断服务程序后,继续主程序循 环。
* 相关性:工控软件由多个任务模块组成,各模块配合工作,相互关联,相互依 存。
* 人为性:工控软件允许操作人员干预系统的运行,调整系统的工作参数。 在理想情况下,工控软件可以正常执行。但在工业现场环境的干扰下,工控软件的 周期性、相关性及实时性受到破坏,程序无法正常执行,导致工业控制系统的失 控,其表现是:
* 程序计数器PC值发生变化,破坏了程序的正常运行。PC值被干扰后的数据是随机 的,因此引起程序执行混乱,在PC值的错误引导下,程序执行一系列毫无意义的指 令,最后常常进入一个毫无意义的“死循环”中,使系统失去控制。
* 输入/输出接口状态受到干扰,破坏了工控软件的相关性和周期性,造成系统资源 被某个任务模块独占,使系统发生“死锁”。
* 数据采集误差加大。干扰侵入系统的前向通道,叠加在信号上,导致数据采集误 差加大。特别是当前向通道的传感器接口是小电压信号输入时,此现象更加严重。
* RAM数据区受到干扰发生变化。根据干扰窜入渠道、受干扰数据性质的不同,系统 受损坏的状况不同,有的造成数值误差,有的使控制失灵,有的改变程序状态,有 的改变某些部件(如定时器/计数器、串行口等)的工作状态等。
* 控制状态失灵。在工业控制系统中,控