3 实例研究
本文开发了一个NC嵌入PC型的开放式数控系统,用以取代G—CNC6135型数控车床原有的数控系统GSK928TA。GSK928TA是由Intel公司的8位单片机(8032)和16位单片机(80C196)组成的双CPU系统,该数控系统的通用性差,联网通讯功能有限,仅能通过RS232口与微机进行程序传输,软件不对用户开放,在原有的系统上进行二次开发非常困难。
该实例的硬件平台为:CPU板卡采用台湾EVOC公司的IPC-586VDF(C),内置显卡,支持电子盘,处理器采用Intel Pentium &MMX 233,显示器为宏基的FP450彩色液晶显示器,可视面积大,抗干扰性强。运动控制卡选用台湾ADLink公司的开放式运动控制卡PCI-8134,PCI-8134使用了两块专业集成电路PCL5023,每块PCL5023控制两个轴的运动。运动功能如线性加减速、S形加减速、两轴插补、定位和回零都由PCL5023来硬件实现,使得系统的实时性大大增强。由于复杂的运动控制由专用芯片实现了,PC的CPU就可用来执行其他的监控任务了。每块PCI-8134可以同时控制四根轴的运动,它插在PC机的PCI总线扩展槽中。PCI-8134还提供了DOS和Windows下的函数库,供开发应用程序时调用。系统还使用了两个全数字交流伺服驱动器(DA98)和交流伺服电机。I/O接口板采用ADLink公司的64 路(32路输入,32路输出)隔离的数字DIO板PCI-7432。微机上的操作系统为Windows NT4.0,采用Visual C++6.0作为开发工具。
整个系统平台的硬件结构如图6 所示。PCI-8134控制各个轴的运动,PCI-7432控制机床的各种I/O量,同时处理控制面板的输入,二者通过PCI总线与PC机进行通讯。
图2 系统硬件平台
在系统设计的时候,考虑到将来的扩展性,采用了模块化的程序设计方法,将整个系统按功能划分为以下五个模块:
(1)PLC模块;
(2)运动控制模块;
(3)显示模块;
(4)屏幕操作模块;
(5)网络通信模块。
系统的软件结构如图; 所示Windows NT4.0平台是一个占先式多任务操作系统,且支持多线程编程技术,线程任务在竞争中获得CPU分配的时间片,线程的优先级越高,得到CPU时间片的机会越大。Win2下线程的优先级分成四种,共32级,其中16-31级被称为实时级,是所有级别中最高的,专门为必须对事件做出迅速响应的线程服务。可以把实时控制进程按操作的关联程度和轻重缓急分解成若干个线程。例如,一个线程响应各种参数设定,另一个线程更新过程状态显示,而实时采集和控制输出放在第三个线程中,并将该设置在实时级。紧急控制线程要求系统不论在什么情况下都应立即响应,所以它的优先级应该设定为最高。
图3 数控系统软件结构图
(1)PLC模块
PLC模块用来处理各种输入输出I/O量。在系统中的输入量有键盘输入、机床零点输入、限位输入、减速输入和刀位输入。输出量有换刀电机控制、功放、润滑、冷却、主轴正转、主轴反转和主轴停止。在程序中,PLC模块作为一个线程,在系统启动的同时,启动PLC线程。
(2)运动控制模块
运动控制模块是用来控制刀具实现各种运动的。模块有连续移动、步进移动、直线插补运动、圆弧插补运动和回零点运动组成,且在运动中实现速度可调。PCI-8134, 运动控制卡的函数库提供了丰富的运动-#&函数。
在系统中,PCI-8134, 发送脉冲给交流伺服控制器,由交流伺服控制器控制交流电机从而带动刀具移动。
当有运动命令到来时,系统启动一个运动线程。
(3)显示模块
数控系统的各种信息需要通过显示器及时地反馈给操作者,便于操作者对整个系统的运行状态进行监视,因此需要单独建立一个模块来负责处理数控系统各种信息的显示。
(4)屏幕操作模块
屏幕操作模块由参数设置、直线插补设置、换刀控制和自动控制组成。
(5)通讯模块
通讯模块可以用来向监控中心传送信息或者通过服务器实现远程制造。
实践表明:以PC机为基础的由上述软硬件平台构成的CNC系统取代原有的数控系统GSK928TA,不仅完成了原来的各项功能,而且在实时性、用户界面、二次开发和联网通讯等方面都有显著的提高。
4 结束语
开放式数控系统是数控技术发展的必然趋势,其给数控系统生产商、机床制造商以及用户都带来了许多好处。而基于PC的开放式数控系统具有较强灵活性,可以充分利用PC机丰富的软硬件资源和强大的技术优势,有利于更完美地实现数控系统的用户界面、图形显示、动态仿真以及网络通讯等功能。模块化的程序设计使系统的通用性和可移植性大大增强,同时也有利于系统日后的功能扩展。