您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 统计图表 > 第六章(二)-软件抗干扰技术(全)
2014-2-261第六章(二)软件抗干扰技术2014-2-262主要内容:数字滤波技术开关量的软件抗干扰技术指令冗余技术程序运行失常的软件抗干扰2014-2-263前言为了提高工业控制系统的可靠性,仅靠硬件抗干扰措施是不够的。需要进一步借助于软件措施来克服某些干扰。在计算机控制系统中,如能正确地采用软件抗干扰措施,与硬件抗干扰措施构成双道抗干扰防线,无疑将大大提高工业控制系统的可靠性。经常采用的软件抗干扰技术有:数字滤波技术开关量的软件抗干扰技术指令冗余技术软件陷阱技术等2014-2-264数据采集不可靠在数据采集通道,尽管采取了一些必要的硬件抗干扰措施,但在数据传输过程中仍然会有一些干扰侵入系统,造成采集的数据不准确形成误差。控制失灵一般情况下,控制信号的输出是通过微机控制系统的输出通道实现的。由于控制信号输出功率较大,不易直接受到外界干扰。但是在微机控制系统中,控制状态的输出常常取决于某些条件状态的输入和条件状态的逻辑处理结果,而在这些环节中,由于干扰的侵入,可能造成条件状态偏差、失误,致使输出控制误差加大,甚至控制失灵。软件出错对系统的危害2014-2-265数字滤波是提高数据采集系统可靠性最有效的方法,因此在计算机控制系统中一般都要进行数字滤波。所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。数字滤波主要是针对串模干扰进行的处理。数字滤波技术2014-2-266与模拟滤波器相比,数字滤波有以下几个优点:采用软件实现,不需增加硬设备,可靠性高,稳定性好。可以对频率很低(0.01Hz)的信号实行滤波,克服了模拟滤波器的不足。可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。模拟滤波器通常是专用的,而数字滤波器则可共享,降低了成本。数字滤波技术2014-2-267许多物理量的变化都需要有一定的时间,相邻两次采样值之间的变化有一定的限度。根据生产经验,确定出相邻两次采样信号之间可能出现的最大偏差∆Y,若超过此偏差值,则表明该输入信号受到了干扰信号的干扰,应该去掉;若小于此偏差,则可将该信号作为本次采样值。另外还有一种情况:若采样值超过了物理量的上下限Yh和Yl,则要对采样值限幅。当大功率用电设备的启动和停止,造成电流的尖峰干扰或错误检测,以及变送器不稳定而引起的严重失真现象时,可采用程序判断法进行滤波。分为限幅滤波和限速滤波两种。数字滤波技术--程序判断滤波2014-2-268数字滤波技术--程序判断滤波—限幅滤波(a)、限幅滤波:若采样值超过了物理量的上、下限Yh和Yl,则要对采样值限幅。当y(k)=Yh时,取y(k)=Yh(上限值)当y(k)Yl时,y(k)=Yl(下限值)若Yly(k)Yh,则取y(k)。2014-2-269数字滤波技术--程序判断滤波—限速滤波2014-2-2610数字滤波技术--程序判断滤波—限速滤波2014-2-2611数字滤波技术--程序判断滤波—限速滤波2014-2-2612限速滤波方法,主要用于变化较慢的参数。比如温度、液位等测量系统。关键问题是最大允许误差∆Y、上下限Yh和Yl的选取。通常可以根据经验获得,也可由实验得出。否则非但达不到滤波效果,反而会降低控制品质。(c)、限幅滤波+限速滤波:先对采样值进行限幅,再进行限速处理。数字滤波技术--程序判断滤波—限速滤波2014-2-2613(二)中位值滤波所谓中位值滤波是对某一参数连续采样n次(一般为奇数),然后把n次采样值从小到大(或从大到小)排队,再取中间值做为本次的采样值。中位值滤波对于去掉由偶然因素引起的波动或采样器不稳定而造成的误差所引起的脉动干扰比较有效。若参数变化较慢,则采用中位值滤波效果较好,但对快速变化的参数,则不宜使用。数字滤波技术--中位值滤波2014-2-2614数字滤波技术—算术平均滤波2014-2-2615由此可见,算术平均值滤波的实质是把一个采样周期内的N次采样值相加,然后再把所得的和除以采样次数N得到该周期的采样值。算术平均值滤波主要用于具有随机干扰的压力、流量等周期性脉动的采样值进行平滑加工,但对脉冲性干扰的平滑作用不理想。算术平均值法对信号的平滑滤波程度完全取决于N。当N较大时,平滑度高,但灵敏度低,即外界信号的变化对测量计算信号结果y的影响小;当N较小时,平滑度较低,但灵敏度高。应按具体情况选取N。对流量,取N=8~16;对压力,N=4。数字滤波技术—算术平均滤波2014-2-2616数字滤波技术—加权平均值滤波2014-2-2617数字滤波技术—加权平均值滤波2014-2-2618(五)滑动平均值滤波是对算术平均滤波和加权平均值滤波的改进。不管是算术平均滤波还是加权平均滤波,都需连续采样N个数据,然后求算术平均或加权平均。但采样N次所需的时间较长,故检测速度较慢。可以改进为滑动平均值滤波:预先在计算机内存中建立一个数据缓冲区,按照顺序存放N个采样数据,每采进一个新数据,就将最早采进的数据丢掉,而后求包括新数据在内的N个数据的算术平均或加权平均。这样每进行一次采样,就可以计算出一个新的平均值,加快了数据处理的速度。数字滤波技术—滑动平均值滤波2014-2-2619数字滤波技术—滑动平均值滤波2014-2-2620数字滤波技术--一阶惯性滤波2014-2-2621数字滤波技术--一阶惯性滤波2014-2-2622数字滤波技术--一阶惯性滤波2014-2-2623/*****************采样扭矩码******************************************/voidGetADTorqueCode(void){ADTorqueCode=ADIn(0)-SetTorqueZeroCode();//扭矩通道,0ADTorqueCode=ADTorqueCode-2048;ADTorqueCode=0.1*ADTorqueCode+0.9*ADTorqueCodeOld;//滤波ADTorqueCodeOld=ADTorqueCode;ADTorqueCode=ADTorqueCode+2048;if(ADTorqueCode4095)ADTorqueCode=4095;if(ADTorqueCode1)ADTorqueCode=1;}数字滤波技术--一阶惯性滤波(示例)2014-2-2624数字滤波技术--一阶惯性滤波(示例)2014-2-2625(八)各种数字滤波算法的比较滤波效果:选择哪种滤波方式,应视具体情况而定。平均值滤波适用于周期性干扰;中位值滤波和程序判断滤波适用于偶然的脉冲干扰;加权平均滤波适用于纯滞后较大的被控对象;惯性滤波适用于高频及低频的干扰信号;复合滤波适用于较复杂的干扰环境。滤波时间:在考虑滤波效果的基础上,应尽量选择执行时间较短的算法。若计算机的计算时间允许,可采用效果较好的复合滤波算法。数字滤波技术—使用场合2014-2-2626开关量的软件抗干扰技术--开关量(数字量)信号输入抗干扰措施2014-2-2627开关量的软件抗干扰技术--开关量(数字量)信号输出抗干扰措施开关量输出设备是电位控制型还是同步锁存型,对干扰的敏感性相差较大。前者有良好的抗“毛刺”干扰能力,后者不耐干扰,当锁存线上出现干扰时,会盲目锁存当前的数据,不管此时的数据是否有效。输出设备的惯性(响应速度)与干扰的耐受能力也有很大的关系。惯性大的设备(各类电磁执行机构)对“毛刺”的干扰有一定的耐受能力,惯性小的设备(通信口、显示设备)耐受能力小一些。2014-2-2628开关量的软件抗干扰技术--开关量(数字量)信号输出抗干扰措施在软件上,最为有效的方法是重复输出同一个数据。只要有可能,其重复周期尽可能短。这样,执行机构接收到一个被干扰的错误信号后,还来不及做出有效反应,一个正确的输出信号又来到了,可及时防止错误动作的发生。当计算机输出开关量控制闸门、料斗等执行机构动作时,为了防止这些执行机构由于外界干扰而误动作,比如已关的闸门、料斗可能中途打开;已开的闸门、料斗可能中途突然关闭。对于这些误动作,可以在应用程序中每隔一段时间(比如几个ms)发出一次输出命令,不断地关闭闸门或者开闸门。这样,就可以较好地消除由于扰动而引起的误动作(开或关)。2014-2-2629软件抗干扰技术--软件冗余技术--数据冗余数据冗余RAM数据冗余就是将要保护的原始数据在另外两个区域同时存放,建立两个备份。当原始数据块被破坏时,用备份数据块去修复。备份数据的存放地址应远离原始的存放地址以免被同时破坏。数据区也不要靠近栈区,以防止万一堆栈溢出而冲掉数据。2014-2-2630软件抗干扰技术--软件冗余技术—指令冗余指令冗余当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。当程序弹飞到某一单字节指令上时,便自动纳入正轨。当弹飞到某一双字节指令上时,有可能落到其操作数上,从而继续出错。当程序弹飞到三字节指令上时,因它有两个操作数,继续出错的机会更大。因此,应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP)或将有效单字节指令重复书写,这就是指令冗余。2014-2-2631为了防止“死机”,一旦发现程序运行失常后能及时引导程序恢复原始状态,必须采取一些相应的软件抗干扰措施。设置软件陷阱当干扰导致程序计数器PC值混乱时,可能造成CPU离开正确的指令顺序而跑飞到非程序区去执行一些无意义地址中的内容;或进入数据区,把数据当作操作码来执行,使整个工作紊乱,系统失控。针对这种情况,可以在非程序区设置陷阱,一旦程序飞到非程序区,很快进入陷阱,然后强迫程序由陷阱进入初始状态。程序运行失常的软件抗干扰--软件陷阱2014-2-2632程序运行失常的软件抗干扰--软件陷阱所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错处理的程序。如果把这段程序的入口标号记为ERR的话,软件陷阱即为一条无条件转移指令,为了加强捕捉效果,一般还在前面加上两条NOP指令。所以软件陷阱的构成为:NOPNOPJMPERR软件陷阱安排在以下4种地方:(1)未使用的中断向量区;(2)未使用的大片ROM空间;(3)表格;(4)程序区。2014-2-2633程序运行失常的软件抗干扰--设置监视跟踪定时器设置监视跟踪定时器监视跟踪定时器,也称为看门狗定时器(Watchdog),可以使陷入“死机”的系统产生复位,重新启动程序运行。这是目前用于监视跟踪程序运行是否正常的最有效的方法之一,得到了广泛的应用。2014-2-2634程序运行失常的软件抗干扰--设置监视跟踪定时器每一个计算机控制系统都有自己的程序运行周期。在初始化时,将Watchdog定时器的时间常数定为略大于程序的运行周期,并且在程序运行的每个循环周期内,每次都对定时器重新初始化。如果程序运行失常,跑飞或进入局部死循环,不能按正常循环路线运行,则Watchdog定时器得不到及时的重新初始化而使定时时间到,引起定时中断,在中断服务程序中将系统复位,再次将程序的运行拉入正常的循环轨道。2014-2-2635数字滤波技术程序判断滤波中位值滤波算术平均值滤波加权平均值滤波滑动平均值滤波惯性滤波复合数字滤波软件抗干扰小结开关量的软件抗干扰技术开关量信号输入抗干扰措施开关量信号输出抗干扰措施软件冗余技术数据冗余指令冗余程序运行失常的软件抗干扰设置软件陷阱看门狗定时器(Watchdog)
本文标题:第六章(二)-软件抗干扰技术(全)
链接地址:https://www.777doc.com/doc-2542671 .html