您现在的位置是:首页 > PLC技术 > PLC技术

PLC软件抗干扰的指令冗余措施

来源:艾特贸易2018-04-11

简介CPU 取指令过程是先取操作码,再取操作数。当 PC 受干扰出现错误时,程序便脱离正常轨道“乱飞”;当乱飞到双字节指令,若取指令时刻落在操作数上,误将操作数作为操作码,程序

    CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误时,程序便脱离正常轨道“乱飞”;当乱飞到双字节指令,若取指令时刻落在操作数上,误将操作数作为操作码,程序将出错;若“飞”到了三字节指令,出错概率更大。

    所谓指令冗余技术是指在程序的关键地方人为地加入一些单字节指令NOP,或将有效单字节指令重写,当程序“跑飞”到单字节指令上,就不会发生将操作数作为指令来执行的错误,使程序迅速纳入正轨。通常是在双字节指令和三字节指令后插入两字节以上的NOP,这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,后面的指令也被作为操作数执行,程序自动纳入正轨。指令冗余会降低系统的效率,但确保了系统程序很快纳入程序轨道,避免程序混乱,适当的指令冗余不会对系统的实时性和功能产生明显的影响。

    通常在一些对程序流向起重要作用的指令(如RETRETIACALLLCALLUMPSJMPJZJNZJCJNCJBJBCDJNZ等)和某些对系统工作状态起重要作用的指令(如SETB等)的前面插入两条NOP指令,以保证跑飞的程序迅速纳入轨道,确保这些指令的正确执行。

    值得注意的是,虽然加入冗余指令能提高软件系统的可靠性,但也降低了程序的执行效率,所以在一个程序巾,冗余指令不能过多,否则会降低程序的执行效率。