在这种基于无线通信的开放式数控系统中,现今的数控系统中的很大一部分功能将被转移到数控PDA 上。这些功能主要包括加工程序的编制、仿真与下载( 包括手工编程和从CAD/ CAM工作站或台式电脑上下载巨型加工程序) 、机床调整、加工数据和机床状态的采集等,而机床控制器则主要执行实时运动控制和PLC 功能,这将使其成为真正的嵌入式系统,而数控PDA 则代替了传统数控系统的人机界面,成为多台数控机床共享的设备,不仅大大降低数控系统的体积和成本,而且使数控机床操作更加人性化。这种专业化的掌上电脑2数控PDA 还可以通过无线通信的方式上网,一方面获取现场数据,另一方面从车间(或单元) 服务器乃至CAD/ CAM 技术中心获取支持,因而极大地加强了数控系统的功能。可以看出,数控PDA 将成为新一代人机协同柔性制造单元的一个核心装置。
4 软件平台的选择
机床控制器及数控PDA 的操作系统和软件开发平台的选择十分重要,应从功能、可靠性、普及性和技术支持的易获得性等多方面综合考虑。在当今高速高精度和网络化制造的时代,尤其要重视实时性和联网能力这两个方面。
自从20 世纪90 年代提出开放式数控系统以来,至今仍未找到一种较理想的操作系统平台。国内外目前的开放式数控系统所采用的不外乎两种方式,一种是基于DOS ,另一种则基于Windows。DOS 是运行于16 位实模式下的单任务操作系统,实时性好,但受16 位实模式的限制,系统功能不强,可靠性不易保证,尤其是网络功能薄弱。Windows 功能强大,但体系和结构庞大,实时性差,不能满足数控要求,因此不得不另配置运动控制卡等。
Windows CE.NET 是一种实时性较强的嵌入式操作系统,兼备DOS 和Windows 的优点,“小而精”,是完全开放的模块化体系结构,支持蓝牙和802. 11x 无线移动通信协议以及友好的图形界面。虽然还有其他实时嵌入式操作系统可供选择,但因其有Microsoft 公司和第三方开发商的软、硬件技术支持,从易得、易用和能较快实现产品化的实际出发, Windows CE. NET 不失为一种较理想的数控系统开发平台。
本研究采用Visual Studio .NET作为数控PDA应用程序的主要开发平台,因为它是一套完整的开发工具, 可以用于生成ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic . NET、Visual C + + . NET、VisualC # .NET 和Visual J # . NET 全都使用相同的集成开发环境( IDE) ,该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework 的功能,此框架提供对简化ASP Web 应用程序和XML Web services 开发的关键技术的访问。Visual Studio .NET 集成开发环境还包括开发智能设备(如Pocket PC) 应用程序的工具。
通过使用这些工具和. NET Framework 精简版Compact Framework ,可以高效和高质量的开发数控PDA。
机床控制器不像数控PDA ,它不仅要有无线通信能力,还必须配备各种输入输出接口和板卡,以实现伺服控制、主轴调速及PLC 控制等功能。采用Windows CE.NET作为开发平台,可以开发数
控系统的底层和实时性软件,包括各种数控专用接口板卡的驱动程序。尤其是在机床控制器中开发蓝牙接口,更是一个挑战性的任务。这些都是开发基于Windows CE. NET 的机床控制器的难点和关键,因为目前市场上可以买到的板卡还不能提供Windows CE. NET 的驱动程序。Windows CE. NET 是Microsoft . NET 架构的重要组成部分,它也是一种模块化的操作系统,它的Plat2form Builder 集成开发环境( IDE) 能够根据不同数控系统的要求及进行剪裁和组装。
5 中断机制的插补控制
数控系统中的位置控制任务、插补任务都是强实时性的任务,但在基于Windows CE 的数控系统中,不能像基于DOS 那样利用系统定时器的INT08 号中断来实现实时插补,因为它已被用作操作系统本身的分时调度,所以必须外插一块定时器卡来周期性的触发插补任务。
该定时器通过触发中断的方式来获得操作系统的服务。另外,数控系统还需要各种数模/ 模数转换卡和传感器来完成伺服控制和机床的在线检测,这些设备大多都采用中断方式工作。因此,如何编写适合于数控系统的中断驱动程序,并正确设计ISR 和IST ,就成了开发基于Windows CE 的开放式数控系统的关键。
对于Windows CE ,通常有2 类设备,即内置设备(Built2in devices) 和可安装设备( Installable de2vices) ,定时器卡、数模/ 模数转换卡等都属于后一类。Windows CE 提供了2 种驱动程序模型:分层结构驱动和单层结构驱动。出于实时性的考虑我们选用单层结构驱动程序,因为单层结构包含了数控驱动程序必须的功能,而避免了多层次之间互相调用所造成的系统延迟。但单层驱动的移植性较差。
以定时插补卡为例进行说明。若要给该定时器卡写驱动,首先要给其分配硬件资源,即中断号和端口地址范围,这些都必须通过Boot Loader 和注册表在系统启动时分配。该卡采用Intel 8254可编程定时器芯片,端口地址设为0x140 - 0x143 ;通过跨接器W4 和PC 总线的IRQ15 相连。在驱动程序中,必须首先初始化中断例程ISR 和中断线程IST ,然后IST 才能等待来自内核的中断请求。
5.1 初始化关键步骤
(1) 创建一个动态连接库CNC. DLL ,其中包含该插补定时器的中断例程ISR。
(2) 由该ISR 分派一个新的中断标识符SYS2INTR- INTERPOLATE ,并返回给内核。
(3) 创建插补中断线程InterpolateIST ,并将它挂起。
(4) 调用InterruptInitialize 函数,使中断请求IRQ 和该事件的挂钩。
(5) 设置IST的优先级,使其与所要完成任务的实时性相匹配。
(6) 重新开始IST。
5.2 程序框架
驱动程序编写和安装完成后,数控系统就可以根据数控加工程序给出的加工速度指令,调用IO 流接口函数,通过对8254 定时器动态地设置时间常数,来完成实时插补任务。
6 结束语
车间数字化是制造业信息化和数字化的重要环节,也是当前面临的难点。只有创造条件,把人的智能和机器智能无缝地结合起来,形成一个以人为中心的人机协同的车间制造系统,才是实现车间数字化制造切实可行的途径。将正在蓬勃发展的智能无线手持设备和嵌入式操作系统相关技术引入数控领域,研制数控PDA 和嵌入式机床控制器集成的新型数控系统,将为实现这人机协同的车间制造模式打下基础。