在数控机床中,手动操作面板总是必不可少的,其特点是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)面板智能处理单元具有很好的扩展性,可以十分方便地扩展单点输入/输出口,还可以带动数码或液晶显示。