工控软件的抗干扰对策Word格式.docx
《工控软件的抗干扰对策Word格式.docx》由会员分享,可在线阅读,更多相关《工控软件的抗干扰对策Word格式.docx(5页珍藏版)》请在冰豆网上搜索。
(1)实时性 工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地处理随机事件;
(2)周期性 工控软件在完成系统的初始化工作后,随之进入主程序循环,在执行主程序过程中,如有中断申请,在执行完相应的中断服务程序后,继续主程序循环;
(3)相关性 工控软件由多个任务模块组成,各模块配合工作,相互关联,相互依存;
(4)人为性 工控软件允许操作人员干预系统的运行,调整系统的工作参数。
2.干扰途径
在理想情况下,工控软件可以正常执行。
但在工业现场环境的干扰下,工控软件的周期性、相关性及实时性受到破坏,程序无法正常执行,导致工业控制系统的失控。
这种失控表现在以下几方面。
(1)程序计数器PC值发生变化,破坏了程序的正常运行。
PC值被干扰后的数据是随机的,引起程序执行混乱,在PC值的错误引导下,程序执行一系列毫无意义的指令,最后进入毫无意义的死循环中,使系统失去控制。
(2)输入/输出接口状态受到干扰,破坏了工控软件的相关性和周期性,造成系统资源被某个任务模块独占,使系统发生死锁现象。
(3)干扰侵入系统的前向通道,叠加在信号上,导致数据采集误差加大。
特别是当前向通道的传感器接口是小电压信号输入时,此现象更加严重。
(4)RAM数据区受到干扰发生变化。
根据干扰窜入渠道和受干扰数据性质的不同,系统受损坏的状况不同,有的造成数值误差,有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器、串行口等)的工作状态等。
(5)控制状态失灵。
在工业控制系统中,控制状态的输出是依据某些条件状态的输入和条件状态的逻辑处理结果而定的。
在这些环节中,由于干扰的侵入,会造成条件状态错误,致使输出控制误差加大,甚至控制失常。
程序运行失常的软件对策
系统受到干扰侵害致使PC值改变,造成程序运行失常。
程序运行失常的软件对策主要是发现失常状态后及时引导系统恢复原始状态。
1.设监视跟踪定时器
使用定时中断来监视程序运行状态。
定时器的定时时间稍大于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作。
这样,只要程序正常运行,定时器不会出现定时中断。
而当程序运行失常,不能及时刷新定时器时间常数就导致定时中断,利用定时中断服务程序将系统复位。
在8031应用系统中用软件抗干扰,具体做法是:
(1)使用8155的定时器所产生的溢出信号作为8031的外部中断源INT1,用555定时器作为8155中定时器的外部时钟输入;
(2)8155定时器的定时值稍大于主程序的正常循环时间;
(3)在主程序中,每循环一次,对8155定时器的定时常数进行刷新;
(4)在主控程序开始处,对硬件复位还是定时中断产生的自动恢复进行分类判断处理。
2.设置软件陷井
当PC失控,造成程序“乱飞”而不断进入非程序区,只要在非程序区设置拦截措施,便可使程序进入陷井,然后迫使程序进入初始状态。
例如Z80指令系统中数据FFH正好对应为重新起动指令RST56,该指令使程序自动转入0038H入口地址。
因此,在Z80CPU构成的应用系统中,只要将所有非程序区全部置成FFH用以拦截失控程序,并在0038H处设置转移指令,便可使程序转至抗干扰处理程序[1]。
系统死锁的软件对策
工业控制系统中,A/D、D/A,显示等输入/输出接口电路是必不可少的。
这些接口与CPU之间采用查寻或中断方式工作,对干扰很敏感,干扰信号一旦破坏了某一接口的状态后,就会导致CPU误认为该接口有输入/输出请求而停止现行工作,转去执行相应的输入/输出服务程序。
但该接口本身并没有输入/输出数据,使CPU资源被该服务程序长期占用而不释放,无法执行其它任务程序,整个系统便出现死锁现象。
对这种干扰造成的死锁问题,在软件编程中,可采用时间片的方法来解决。
具体步骤是:
(1)根据不同的输入/输出外设对时间的要求,分配相应的最大正常输入/输出的时间;
(2)在每一输入/输出的任务模块中,加入相应的超时判断程序,在干扰破坏了接口的状态造成CPU误操作后,由于该外设准备好信息长期无效,经一定时间后,系统会从该外设的服务程序中自动返回,保证整个软件的周期性不受影响,从而避免死锁现象的发生。
数据采集误差的软件对策
根据数据受干扰性质及干扰后结果的不同,采取的软件对策各不相同。
对于实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件上常采取有源或无源RLC网络,构成模拟滤波器对信号实现频率滤波。
同样,运用CPU的运算和控制功能也可以实现频率滤波,完成模拟滤波器类似的功能。
这就是数字滤波。
随着计算机运算速度的提高,数字滤波在实时数据采集系统中的应用将愈来愈广泛。
在一般数据采集系统中,可以采用一些简单的数值、逻辑运算处理来达到滤波的效果。
1.算数平均值法
对于一点数据连续采样多次,计算其算数平均值,以其平均值作为该点采样结果。
这种方法可以减少系统的随机干扰对采集结果的影响。
一般3~5次平均即可。
2.比较取舍法
当控制系统测量结果的个别数据存在偏差时,为了剔除个别错误数据,可采用比较取舍法,即对每个采样点连续采样几次,根据所采数据的变化规律,确定取舍,从而剔除偏差数据。
3.中值法
根据干扰造成采样数据偏大或偏小的情况,对一个采样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。
4.一阶进推数字滤波法
这种方法是利用软件完成RC低通滤波器的算法,实现用软件方法代替硬件RC滤波器。
一阶进推数字滤波公式为
Yn=QXn+(1-Q)Yn-1
式中 Q——数字滤波器时间常数;
Xn——第n次采样时的滤波器输入;
Yn——第n次采样时的滤波器输出。
RAM数据出错的软件对策
实时控制过程中,干扰造成比较严重的危害之一就是击毁RAM中的数据。
由于RAM中保存的是各种原始数据、标志、变量等,一旦被破坏,会造成系统出错或无法运行。
RAM数据被击毁的情况,分整个数据被击毁、某片数据被击毁和个别数据被击毁三种。
工业控制系统中,RAM的大部分内容是为了分析比较而临时存放的,不允许丢失的数据只占极少部分。
在这种情况下,除了这些不允许丢失的数据外,其余大部分内容允许短时间被破坏,最多只引起系统的一个很短时间的波动,很快能自动恢复正常。
因此,在工控软件中,只要注意保护少数不允许丢失的数据,一般常用的方法有校验法和设标法。
这两种方法各有所长,校验法比较繁琐,但查错的可信度高;
设标法简单,但对数据表中个别数据被击毁的,查错则无能为力。
在编程中一般应综合使用,具体做法如下:
(1)将RAM工作区重要区域的始端和尾端各设置一个标志码“0”或“1”;
(2)对RAM中固定不变的数据表格设置校验字。
在程序的执行过程中,每隔一定时间通过事先设计的查错程序来检查各标志码是否正常,如果不正常,则利用数据冗余技术通过抗干扰处理程序来修正。
冗余数据表的一般设计原则,一是各数据表应相互远离分散设置,减少冗余数据同时被击毁的概率;
二是数据表应尽可能远离栈区,减少因操作错误造成堆栈,冗余数据被击毁的可能。
上述对RAM区域的恢复处理方法,在不同的应用系统中应根据具体情况进行取舍[2]。
控制状态失常的软件对策
在条件控制系统中,人们关注的是能否确保正常的控制状态。
干扰进入系统会影响各种控制条件,造成控制输出失误。
为了确保系统安全,可以采取下述对策。
1.软件冗余
对于条件控制系统,将控制条件的一次采样、处理控制输出,改为循环采样、处理控制输出。
这种方法具有良好的抗偶然因素干扰作用。
2.设置当前输出状态寄存单元
当干扰侵入输出通道造成输出状态破坏时,系统可以及时查寻当前输出状态寄存单元的输出状态信息,及时纠正错误的输出状态。
3.设置自检程序
在计算机系统的特定部位或某些内存单元设状态标志,在运行中不断循环测试,以保证系统中信息存储、传输、运算的高可靠性。
上述介绍的几种有关工控软件的抗干扰编程方法是笔者在工作实践中的体会。
在设计工控软件的过程中只要采取相应的抗干扰措施,就可获得较好的抗干扰效果。
如果与各种硬件抗干扰措施一起使用,将会大大提高系统的可靠性。
·
上篇文章:
油液污染度检测仪的研制
下篇文章:
混凝土空心小砌块外墙防渗修漏技术措施阅读:
1714人次【我也要发表机电论文】【打印】
相关文章
粗精镗合成镗刀知识2010-4-2616:
57:
30
U轴刀具知识2010-4-2616:
02
介绍多元多层超硬涂层刀具应用知识2010-4-2616:
56:
06
单晶金刚石刀具在镜面加工中的应用2010-4-2616:
50:
13
粘接式刀具的应用知识2010-4-2616:
49:
39
特别声明:
机电之家()所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。
购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。
来源:
[]机电之家·
机电行业电子商务平台!