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

如何随时监督检查变频器程序计数器PC值是否超出

来源:艾特贸易2017-06-04

简介答:变频器正常运行,其 PC 值一定在程序区内。如果 PC 值跑出程序区,变频器肯定已发生了程序跑飞。检查程序计数器 PC 值是否在程序区内的方法,是在一个经常要产生外部中断的某

    答:变频器正常运行,其PC值一定在程序区内。如果PC值跑出程序区,变频器肯定已发生了程序跑飞。检查程序计数器PC值是否在程序区内的方法,是在一个经常要产生外部中断的某个中断服务程序中,读取转入该中断时压入堆栈的断点地址。如果该地址在程序区内,则认为PC值正常,否则一定是程序跑飞了。此时,程序跳转到机器的重启动入口或者复位入口,机器重新启动。如果没有一个这样合适的中断源,可以专门设置一个定时中断或者几个定时中断,在中断服务程序中检查PC值是否合法,一旦发现不对就立即转入机器的重启动入口。定时器中断的时间常数,可视机器的繁忙程度和重要性进行设置,一般设置为几毫秒到几十毫秒都可以。    此方法的局限性是不能查出PC值在程序区内的乱跳,即此时PC值虽受干扰却并没有超出程序区,而是错位乱拼指令而构成一些莫名其妙的操作,或者死循环。