1引言
在数控机床中,手动操纵面板总是必不可少的,其特点是1.有些输进量是互斥的,不答应误操纵,由机械的互锁关系来保证要求;2.键的通/断用电平触发不同状态,而不是用沿触发不同状态;3.答应多个状态同时输进并可靠地做出相应的反应;4.能对设备当前状态进行必要的提示,如使用信号灯、发光二级管或液晶显示屏。现有的设计大多将手动操纵面板的输进/输出作为开关量I/O的一部分,同一由一台内置的或外置的可编程控制器(PLC)进行控制。数控机床生产厂家根据自己机床的工艺特点,购买数控系统,经过二次开发,形成工艺性能和操纵互不相同的数控机床产品。二次开发的工作量尽大部分在于开关量I/O的设计,而其中又有60%以上的工作是根据工艺性能与操纵设计手动操纵面板[1]。事实上,手动操纵面板的输进/输出仅仅是控制信号开关量I/O,对其驱动能力的要求很低,是一类特殊的数控机床开关量I/O。假如将手动操纵面板的输进/输出与数控机床其它开关量I/O不加以区别,会大大增加数控系统二次开发的工作量,数控机床手动操纵面板无法标准化和模块化,其经济性也会受到很大影响。
本文提出了一种基于89C51/52单片机的数控机床面板智能处理单元,该处理单元通过标准串口与数控系统交换信息,可以显示数控机床的基本状态和对其进行手动操纵。该工作是国家863计划“PC外设型完备数字机床及其关键技术研究”的一部分研究内容,已经用于三坐标数控铣床。
2工作原理
89C51/52单片机具有片内ROM、16位计数和标准串口[2]。在89C51/52单片机构成数控机床面板智能处理单元中,一般不需要外部扩展ROM和RAM,单片机I/O口的一位对应一个输进/输出量,若单片机I/O口不够,可以进行扩展。单片机以定时中断检测输进,一旦发现输进电平变化,就将其对应的新状态由串口发送给数控系统。另一方面,数控系统通过串口将需要显示的信息发送给单片机。由于采用了串行通讯,数控系统与面板智能处理单元的接口是标准的,操纵面板的信息处理基本上不占用数控系统CPU的时间,而且面板智能处理单元本身成为一个标准化模块。图1为数控铣床面板智能处理单元的原理图。图中,数控铣床手动操纵面板的输进/输出信息大致有以下几类:
图1数控铣床面板智能处理单元原理图
1)工作方式选择:手动/自动/回原点
2)单步进给量选择
3)连续进给速度选择
4)进给速度倍率选择
5)进给坐标选择
6)主轴电机、泵、电磁离合制动器等的通/断控制
7)急停
8)暂停及显示
9)进给坐标超行程显示
10)故障显示
其中,工作方式、单步进给量和连续进给速度等的选择与进给速度倍率选择分别用转换开关1和转换开关2在不同状态间切换。同一个转换开关控制的状态具有机械互锁,可以避免由于误操纵同时接通两个或两个以上具有互锁关系的状态。图1中其余的输进/输出量均由单片机的I/O口直接控制,可保证多个状态同时可靠地输进/输出。
3系统软件
89C51/52单片机数控机床面板智能处理单元上电复位初始化后,进进中断工作状态,答应定时中断和串行中断。在定时中断中,将检测输进状态有无变化,并将变化了的输进状态由串口发送到数控系统;数控系统需要由手动操纵面板显示的信息从串口发送给单片机,并由单片机串行中断服务程序作出相应的处理,其程序框图如图2所示,其中图2(a)为主程序框图,图2(b)为定时中断服务程序框图,图2(c)为串行中断服务程序框图。
图2程序框图
单片机上电复位及初始化可以在极短的时间内完成,而数控系统的初始化则需要较长的时间。在数控系统的初始化没有完成时,串行通讯无法工作,因此单片机的主程序在完成初始化后,要等待数控系统从串口发送“READY”信号,并在接收到“READY”信号后开始对操纵面板的输进/输出进行控制。
在定时中断服务程序中,逐一检查每个键的状态,若发现某一个键的状态发生变化,便将新的状态从串口发送到数控系统,同时退出中断服务程序,否则,在检查完所有键后退出中断服务程序。为了检测键状态的变化,必须将键原先的状态存放在内存中,用00H表示键处于接通状态,FFH表示键处于断开状态。当读到某个键处于接通状态时,先判定其内存中的值是80H还是<80H,若内存中值80H,说明键原来处于断开状态,将其减1后若FCH,则存进内存,若<FCH,则表明连续3次读进键接通,即键的状态由断开变为接通,将内存清为00H(接通状态);若内存中的值<80H,说明键原来处于接通状态,键的状态没有改变,将内存清为00H(由于有各种扰动,内存中可能是一个<03H的数)。当读到某个键处于断开状态时,仍先判定其内存中的值是80H还是<80H,若内存中的值80H,说明键原来处于断开状态,键的状态没有改变,将内存置为FFH(由于有各种扰动,内存中可能是一个FCH的数);若内存中的值<80H,说明键原来处于接通状态,将其加1后若<04H,则存进内存,若04H,则表明连续3次读进键断开,即键的状态由接通变为断开,将内存置为FFH(接通状态)。这样可以有效避免由于键抖动和其它干扰造成的误判定。这些过程可以正确地用图3所示的状态转移来加以描述。
图3状态转移图
4结论
本文提出了一种新的基于89C51/52单片机数控机床面板智能处理单元,从理论分析和实际应用可以得到以下结论:
(1)面板智能处理单元满足数控机床手动操纵面板的功能需求,软硬件设计公道,可靠性高;
(2)利用串行通讯,使手动操纵面板成为一个接口简单并且标准的模块;
(3)本文提出了一种软件消除键抖动的算法,该算法具有可靠和简单等优点;
(4)面板智能处理单元具有很好的扩展性,可以十分方便地扩展单点输进/输出口,还可以带动数码或液晶显示。