中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

电工技术

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 电工技术 → 浏览主题: [转帖]工控软件的抗干扰设计
发表新帖 回复该主题
回帖:2个,阅读:1154 [上一页] [1] [下一页]
* 帖子主题:

[转帖]工控软件的抗干扰设计

分享到
5261
jczwfy 版主
文章数:2260
年度积分:53
历史总积分:5261
注册时间:2005/5/7
发站内信
09工控人生征文
发表于:2006/4/7 15:19:00
#0楼
工控软件的抗干扰设计

摘 要:本文阐述了工业现场环境中干扰的特点,并详细介绍了工控软件抗干扰设计的方法。

关键词:工控软件、抗干扰、可靠性

The Anti-interference Design of Industrial Control Software

People's Liberation Army Institute of Grand Force,Foundation
Department,Niu HongTao

Abstract: The characteristic of interference in industrial enviroment has been introduced in this paper.The method of industrial control software anti-interence design has also been discussed in detail.

Keyword:industrial control software,anti-interference,reliability

   计算机系统在工业现场使用时,大量的干扰源虽不能造成硬件系统的损坏,但常常使计算机系统不能正常运行,致使控制失灵,造成重大事故。计算机系统的抗干扰不可能完全依靠硬件解决,因此,软件抗干扰问题的研究愈来愈引起人们的重视。

一、工控软件的结构特点及干扰途径

   在不同的工业控制系统中,工控软件虽然完成的功能不同,但就其结构来说,一般具有如下特点:

   实时性:工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地处理随机事件。

   周期性:工控软件在完成系统的初始化工作后,随之进入主程序循环。在执行主程序过程中,如有中断申请,则在执行完相应的中断服务程序后,继续主程序循环。

   相关性:工控软件由多个任务模块组成,各模块配合工作,相互关联,相互依存。

   人为性:工控软件允许操作人员干预系统的运行,调整系统的工作参数。在理想情况下,工控软件可以正常执行。但在工业现场环境的干扰下,工控软件的周期性、相关性及实时性受到破坏,程序无法正常执行,导致工业控制系统的失控,其表现是:

   程序计数器PC值发生变化,破坏了程序的正常运行。PC值被干扰后的数据是随机的,因此引起程序执行混乱,在PC值的错误引导下,程序执行一系列毫无意义的指令,最后常常进入一个毫无意义的“死循环”中,使系统失去控制。

   输入/输出接口状态受到干扰,破坏了工控软件的相关性和周期性,造成系统资源被某个任务模块独占,使系统发生“死锁”。

   数据采集误差加大。干扰侵入系统的前向通道,叠加在信号上,导致数据采集误差加大。特别是当前向通道的传感器接口是小电压信号输入时,此现象更加严重。

   RAM数据区受到干扰发生变化。根据干扰窜入渠道、受干扰数据性质的不同,系统受损坏的状况不同,有的造成数值误差,有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器、串行口等)的工作状态等。笔者在研制电力远程抄表系统时就曾遇到因现场强电磁干扰而造成RAM数据经常性被破坏的情况。

   控制状态失灵。在工业控制系统中,控制状态的输出常常是依据某些条件状态的输入和条件状态的逻辑处理结果而定。在这些环节中,由于干扰的侵入,会造成条件状态错误,致使输出控制误差加大,甚至控制失常。

二、程序运行失常的软件对策

   系统受到干扰侵害致使PC值改变,造成程序运行失常。对于程序运行失常的软件对策主要是发现失常状态后及时引导系统恢复原始状态。

   1.设置监视跟踪定时器

   使用定时中断来监视程序运行状态。定时器的定时时间稍大于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作。这样,只要程序正常运行,定时器不会出现定时中断。而当程序运行失常,不能及时刷新定时器时间常数而导致定时中断,利用定时中断服务程序将系统复位。在8031应用系统中作为软件抗干扰的一个事例,具体做法是:

   使用8155的定时器所产生的“溢出”信号作为8031的外部中断源INT1。用555定时器作为8155中定时器的外部时钟输入;

   8155定时器的定时值稍大于主程序的正常循环时间;

   在主程序中,每循环一次,对8155定时器的定时常数进行刷新;

   在主控程序开始处,对硬件复位还是定时中断产生的自动恢复进行分类判断处理。

   2.设置软件陷井

   当PC失控,造成程序“乱飞”而不断进入非程序区,只要在非程序区设置拦截措施,使程序进入陷井,然后强迫使程序进入初始状态。例如Z80指令系统中数据FFH正好对应为重新起动指令RST 56,该指令使程序自动转入0038H入口地址。因此,在Z80 CPU构成的应用系统中,只要将所有非程序区全部置成FFH用以拦截失控程序。并在0038H处设置转移指令,使程序转至抗干扰处理程序。

   三、系统“死锁”的软件对策

   在工业控制系统中,A/D、D/A,显示等输入/输出接口电路是必不可少的。这些接口与CPU之间采用查询或中断方式工作,而这些设备或接口对干扰很敏感,干扰信号一旦破坏了某一接口的状态字后,就会导致CPU误认为该接口有输入/输出请求而停止现行工作,转去执行相应的输入/输出服务程序。但由于该接口本身并没有输入/输出数据,从而使CPU资源被该服务程序长期占用,而不释放,其它任务程序无法执行,使整个系统出现“死锁”。对这种干扰造成的“死锁”问题,在软件编程中,可采用“时间片”的方法来解决。其具体步骤为:

   根据不同的输入/输出外设对时间的要求,分配相应的最大正常的输入/输出时间。

   在每一输入/输出的任务模块中,加入相应的超时判断程序。这样当干扰破坏了接口的状态造成CPU误操作后,由于该外设准备好信息长期无效,经一定时间后,系统会从该外设的服务程序中自动返回,保证整个软件的周期性不受影响,从而避免“死锁”情况的发生。

   四、数据采集误差的软件对策


**内容隐藏回复可见**
日本人说中日友好,中国人民笑了:你丫骗谁呢?
日本人说自己爱和平,亚洲人民笑了:说的是人话吗?
日本人说自己要维护世界和平,美国人民笑了:问你大爷没?
日本人说自己是人,全世界的狗都叫了:兄弟,做狗要厚道,不能忘本!
欢迎访问我的博客http://blog.gkong.com/blog.asp?name=jczwfy
在线PLC触摸屏问题解答加Q号2*7*5*4*7*0*0*6,加好友注明工控网
913
kenliang1981
文章数:9
年度积分:50
历史总积分:913
注册时间:2006/3/21
发站内信
发表于:2006/4/7 20:52:00
#1楼
kan yi xia la
902
microapp
文章数:1
年度积分:50
历史总积分:902
注册时间:2006/5/25
发站内信
发表于:2006/5/25 2:21:00
#2楼
继续......
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004