最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

经济型数控系统的软件抗干扰技术

发布时间:2014-04-29 作者:王玉琳  来源:万方数据
关键字:数控 系统 抗干扰 
本文针对经济型数控系统低成本的硬件设计,本文提出了几种软件抗干扰的方法,包括指令冗余技术、软件陷阱技术、“看门狗”技术、输入信号的重复检测、输出信号的刷新、CPU 的睡眠抗干扰、关键数据的恢复、用户数据区的保护等。实践表明,这些软件抗干扰的措施简单易行、经济实用,提高了控制系统的可靠性。

  2.2 软件陷阱技术

  当“乱飞”的程序进入非程序区(如EPROM 未使用的空间)或表格区时,采用冗余指令使程序入轨的条件不满足,此时可以设定软件陷阱,拦截“乱飞”的程序,用引导指令强行将捕获到的“乱飞”程序引向复位入口地址0000H,并在此处对出错进行处理,使程序纳入正轨。软件陷阱可采用两种形式,如表1 所示。

软件陷阱的形式

  形式之一的机器码为:00 00 02 00 00

  形式之二的机器码为:02 02 02 02 00 00

  根据“乱飞”程序落入陷阱区的位置不同,可选择表1 中的一种方式,使程序纳入正轨,指定运行到预定位置。软件陷阱通常安排在未使用的中断区、未使用的EPROM 区、非EPROM 区、运行程序区以及中断服务程序区等。

  2.3 “看门狗”技术

  PC 受到干扰而失控,引起程序“乱飞”,也可能使程序陷入“死循环”。指令冗余技术、软件陷阱技术都不能使失控的程序摆脱“死循环”的困境,本系统采用程序监视技术,又称“看门狗”(Watchdog)技术,使程序脱离“死循环”。数控系统的应用程序通常都采用循环运行的方式,循环周期基本固定。“看门狗”技术就是不断监视程序循环运行的时间,若发现时间超过已知的循环设定时间,则认为系统陷入了“死循环”,然后强迫程序返回到0000H入口,在此处安排一段出错处理程序,使系统纳入运行正轨。本系统设置了一个16 位的监视定时器,定时器启动后,每个机器周期自动加1,当计数器溢出时,复位器MAX708 就把CPU 的RESET 引脚拉成高电平,从而使CPU 复位。需要注意的是,使用监视定时器时,系统软件应在每次定时器溢出前将定时器清0。因此,一旦程序因干扰不能顺利运行或死机时,定时器将会很快产生溢出,从而使得CPU 立即复位,不至于造成事故的发生。

  2.4 输入信号的重复检测技术

  输入信号的干扰是迭加在有效电平信号上的一系列离散的尖脉冲,这些脉冲信号的作用时间很短。当数控系统面临输入干扰,又不能用硬件加以有效抑制时,可以采用软件重复检测的方法,达到“去伪存真”的目的。车床数控系统在工作时,需要接收一些外部的开关量输入信号:如纵、横向拖板的限位信号,自动回转刀架的刀位信号与换刀回答信号,自动卡盘的夹紧回答信号,车床主轴的启、停回答信号,以及数控系统的紧急停止信号等。这些信号有效时,均以低电平形式经过光耦隔离后传递到CPU以及输入接口芯片,有效电平均能保持200ms,甚至更长。而干扰信号多呈毛刺状,作用时间短。利用这一特点,可多次重复采集某一输入的开关量信号,直到连续几次采集结果完全一致时方为有效。若多次采集后,信号总是变化不定的,可停止采集,并给出报警信号。

  本系统中,开关量输入信号的数据采集流程如图2 所示。图中,采集总次数为10,只有连续3 次采集数据相同,才认为结果有效;延时时间可根据需要进行设定,在两次采集之间插入此延时,能够对付较宽的干扰。

开关量数据采集程序流程

  2.5 输出信号的刷新技术

  对于开关量的输出,软件抗干扰主要是采取输出信号的刷新技术,这是一种提高输出接口抗干扰性能的有效措施。对于那些用锁存器输出的控制信号,这些措施很有必要。在条件允许的情况下,重复输出的周期尽可能短一些。当输出端口受到某种干扰而输出错误信号时,外设还未来得及作出有效的反应,正确的信息又输出了,这样,就可以及时避免错误动作的发生。在执行重复输出功能时,对于可编程接口芯片,工作方式控制字与输出状态字一并重复设置,使输出模块可靠地工作。

  经济型车床控制系统的输出均为数字信号,如步进电机的控制信号、电动刀架的驱动信号、主轴电机的启停信号、冷却泵的启停信号、电动卡盘的夹紧信号等。CPU 给出正确的数据输出后,外部干扰有可能使输出装置得到错误的数据。这种错误的输出结果,如果不采取得力措施加以补救,有可能造成不良后果。

  (1)重复输出同一个数据设计软件时,可将I/O 芯片的输出过程安排在系统的监控循环中,监控循环周期短,可以有效地防止输出设备的误动作。但要注意,输出功能是作为一个完整的模块来执行的(比如一个字节)。采取这种方式设计软件时,必须为每个I/O 外部设备建立一个8 位的输出暂存单元,输出功能模块将所有暂存区的数据一一输出,不论这个数据是刚算好的还是原先算好的。

  在对步进电机进行输出控制时,车床数控系统采用软件算法来实现环形分配器的功能,计算机直接输出步进电机各相绕组的通电状态,经过光电隔离后,传送给功率放大器。编制软件时,采用重复输出的方式,对于防止步进电机的失步,具有一定的效果,在一个换相周期内可以重复输出2~3 次。

  (2)输出芯片的重复初始化

  在车床数控系统中,用8255芯片来扩展输出功能,外设通过8255 芯片来获得单片机的控制信息,8255芯片在初始化时应明确规定各端口的职能。为了保证输出正确,输出功能模块每次在执行具体的数据输出之前,应该先执行8255的初始化命令,即,先对8255 写入工作方式控制字,再输出有关数据。

  对于管理LED 显示器的8279 芯片,也采用同样的措施。每当调用显示子程序进行显示器的刷新时,首先对8279 进行一次初始化,重新设定其工作方式,然后再输出新的显示数据。

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
相关资料推荐