首页 理论教育 改善变频器软件抗干扰能力

改善变频器软件抗干扰能力

时间:2023-07-01 理论教育 版权反馈
【摘要】:通过这种软件复位,可以使系统在无扰动和小扰动下,尽快进入正常运行状态,尽量减少干扰对变频调速系统的影响。

改善变频器软件抗干扰能力

1.防止系统“死机”的软件设计

变频调速系统的可靠性除了与硬件系统有关外,与软件系统有直接关系。成功的软件设计在某种程度上取决于对现场各种因素的分析、总结。通过分析干扰影响程序运行的现象,不断改进软件设计,以得到满足系统实际运行要求的软件系统。正常设计的软件,在现场使用中有可能出现问题,必须根据现场实际情况采取相应的保护手段,如防“死机”的watch-ingdog软件程序等,或加入常规的数据采集,采用多次取数、用取大数法或平均法、数字滤波计算处理等。

(1)watchingdog的正确使用

变频调速系统“死机”是使系统进入死循环或停机状态,防止“死机”是对在线运行的变频器的最基本要求。最有效的方法是设计完善的系统watchingdog电路,使系统在进入“死机”状态后能重新启动回到正常的状态下运行。watchingdog硬件可以采用专用的集成电路,关键在于软件程序,不仅要考虑干扰对系统造成影响产生的结果,还要分析这种结果可能造成程序运行的改变。

watchingdog电路的核心是一个可反复触发的单稳电路。一旦发生程序“跑飞”,watch-ingdog电路触发翻转,保证程序恢复运行,在线路及CPU接口无误的条件下,必须保证有以下功能:

1)CPU正常执行程序期间,定时给watchingdog电路发送触发脉冲使其复位,一旦因干扰使CPU程序“跑飞”,watchingdog电路不应再收到定时触发脉冲。

2)watchingdog电路在暂态过程结束后发生翻转,输出非屏蔽中断的脉冲信号,其宽度足以引起CPU重新复位。

(2)watchingdog电路程序设计要点

失效是常见的watchingdog电路故障,表现为系统在无干扰场合,CPU可以正常执行监控程序,而一旦干扰出现或干扰严重时,即发生程序“跑飞”,而watchingdog电路无动作,导致系统“死机”。

常见的失效原因在于程序“跑飞”后,watchingdog电路仍收到不应再出现的定时“复位”信号。因此,系统监控程序应针对不论程序何时何地“跑飞”,均应封锁定时“复位”信号。为此应根据CPU与watchingdog电路的连接形式进行全面考虑和设计。

1)各中断服务子程序中均不可写入RST指令,因为CPU运行到何处“跑飞”、“跑飞”到何处及干扰对CPU片内寄存器(中断寄存器)RAM输入/输出端口的破坏情况等均有很大的随机性,而在程序“跑飞”时,只要CPU片内中断允许(控制)寄存器不受破坏,则不论程序“跑飞”到什么地方,CPU仍能像正常运行时一样响应和执行中断服务子程序。

2)不可在局部循环圈内写入RST指令,这样一旦出现程序“跑飞”,非正常进入该循环圈的程序将会由于watchingdog电路无法接受“复位”信号而使系统恢复正常运行。

3)排除watchingdog电路非正常“复位”的隐患,程序“跑飞”原因为其PC值变成一个新的随机值,此时CPU执行的可能是随机“程序”,在这个随机程序中,如果形成死循环,其循环中又构造有“复位”指令,这就使watchingdog电路意外失效。

4)在编程过程中以一条或几条其他指令代替可能会引起“复位”的指令,特别是在程序的数据表格、字符表格中有RST字符机器码的,可用表格中不可能出现的字符代替,在程序读入该字符时,作为该代码处理。

2.软件的容错设计

采用容错设计可使变频调速系统即使受干扰发生程序执行方面的错乱也不致系统停止或执行错误的工作,而是使系统自动回到正常的运行状态,从而提高整个系统的稳定性和安全性。

(1)加入软件陷阱的方法(www.xing528.com)

当PC值失控造成程序失控后,CPU离开原程序而不断进入非程序区。在这种情况下,可在非程序区设置拦截措施。这就是使程序进入陷阱,然后强迫程序进入初始入口状态。对MCS-96系列单片机微机应用系统,理论上可用指令LJPM#0000H,即在非程序区,程序存储器中写入机器码020000H。因为LJMP的机器码是02,JB的机器码是20,NOP的机器码是00,可以将这些指令连续使用:

LJMP#0000H

NOP

JB#0000H

NOP

LJMP#0000H

机器码的组合为020000000020000……,用这种码填满非程序区,不论PC值失控后指向这串码中的哪个字节,最后都能导致程序执行02000机器码,回到首地址0000H重新运行。

(2)设立标志判断

定义某单元为标志,在模块主程序中把该单元的值设为某个特征值,然后在主程序末尾判断该单元的值是否仍为该特征值,若不是则说明有误,程序转入错误处理子程序。根据对该单元特征值的判断,可知从哪一个中断子程序“跑飞”进入不同的错误处理模型。在中断子程序的开头,把标志单元置为某一特殊值,在中断子程序的末尾判断该标志单元的值是否仍为该值,若不是则说明非正常进入中断子程序,而转到相应的错误处理模块,在此模块中可以根据预先设定错误的处理模型,进行相应的容错和纠错的处理。对于模块内部的失控,可根据该模块的功能对其结果的合理性进行判断,若判断结果合理,则进入下一功能模块运行,否则返回本模块重新运行。

(3)增加数据安全备份

重要的数据开辟两个以上存储区,设在RAM的不同地方做备份;对重要的大容量应用系统可采用外接RAM存储器;将永久性数据制成表格固化于EPROM中,既能防止数据和表格遭到破坏,又能防止程序逻辑混乱时将其当做指令去执行。

(4)软件复位

软件复位是通过CPU接收外部的中断信号INT0而执行中断子程序,此时CPU的运行是:

1)关闭所有中断,以便进行故障的判别和处理;

2)堆栈初始化以保证执行完成INT0中断服务子程序后栈底内容为初始状态;

3)对系统的有关状态与控制量进行比较、判断来决定程序的重新入口地址,这些地址是主程序中基本功能模块的程序首选地址。通过这种软件复位,可以使系统在无扰动和小扰动下,尽快进入正常运行状态,尽量减少干扰对变频调速系统的影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈